serial-port - 从 Arduino 发送到 Processing 的奇怪随机数据

标签 serial-port processing arduino

我正在尝试从光电电阻器和我的 Arduino Decimila 读取数据,然后使用 Processing 实时绘制它。

应该非常简单;但对我来说,它逐渐变成了一场噩梦。

我在我的 Arduino 上运行的代码:

int photoPin;

void setup(){

  photoPin = 0;
  Serial.begin( 9600 );

}

void loop(){

  int val = int( map( analogRead( photoPin ), 0, 1023, 0, 254 ) );
  Serial.println( val ); //sending data over Serial

}

我在处理中运行的代码:

import processing.serial.*;

Serial photocell;

int[] yvals;

void setup(){

  size( 300, 150 );
  photocell = new Serial( this, Serial.list()[0], 9600 );
  photocell.bufferUntil( 10 );
  yvals = new int[width];

}

void draw(){

  background( 0 );
  for( int i = 1; i < width; i++ ){
    yvals[i - 1] = yvals[i];
  }

  if( photocell.available() > 0 ){
    yvals[width - 1] = photocell.read();
  }

  for( int i = 1; i < width; i++ ){
    stroke( #ff0000 );
    line( i, yvals[i], i, height );
  }
  println( photocell.read() ); // for debugging
}

我已经分别测试了这两段代码,我知道它们可以工作。只有当我尝试让来自 Arduino 的输入进入处理时,问题才会开始。

当我在 Arduino 的“串行监视器”中查看数据时,我得到了一个看起来有效的不错的恒定数据流。

但是当我通过 Processing 读取相同的数据时,我得到了随机值的重复模式。

哈?

最佳答案

仔细查看手头的资源后,我意识到问题已经被http://arduino.cc 的人为我解决了。

http://arduino.cc/en/Tutorial/Graph



哦,如果我早点看到,我可以节省多少时间。

关于serial-port - 从 Arduino 发送到 Processing 的奇怪随机数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/256228/

相关文章:

python 串口代码在 windows 中工作,但在 linux 中不工作

c - 连接蓝牙时 ESP32 模拟引脚不读取

c++ - 无效的构造函数 token C++ Arduino

java - 处理填充问题的 list

java - 在 Ubuntu 上的处理 IDE (PDE) 中更改 "system"字体大小

java - 在 Java/处理中清空数组

C++ 类和空数组

C#:SerialPort.Open 超时?

无法在 windows.h 中使用 Windows 串行正确读取数据字符串

c - 从串行端口读取原始字节