在Labview上从arduino读取数字和模拟数据
我试图在Labview上可视化arduino的温度和图形电压模拟读数,但是过了一段时间,采集和波形图的速度变慢了。我使用的是DS18B20传感器这是我在arduino上的代码:在Labview上从arduino读取数字和模拟数据,arduino,labview,Arduino,Labview,我试图在Labview上可视化arduino的温度和图形电压模拟读数,但是过了一段时间,采集和波形图的速度变慢了。我使用的是DS18B20传感器这是我在arduino上的代码: #include <OneWire.h> #include <DallasTemperature.h> #define Pin 2 OneWire ourWire(Pin); DallasTemperature senso
#include <OneWire.h>
#include <DallasTemperature.h>
#define Pin 2
OneWire ourWire(Pin);
DallasTemperature sensors(&ourWire);
void setup() {
delay(1000);
Serial.begin(9600);
sensors.begin();
}
void loop() {
sensors.requestTemperatures();
int sensorValue = analogRead(A0);
float voltage = sensorValue * (5.0 / 1023.0);
Serial.println(sensors.getTempCByIndex(0));
Serial.print(",");
Serial.println(voltage);
delay(100);
}
注意:我在同一条线上从arduino发送数据,但被coma隔开
我做错了什么?或者如何使波形图运行得更快?您可以更改一些内容以提高性能,所有内容都在下面的红色框中: 移动while循环的外部。打开端口后只需配置一次,而不是每次读取。 调整音量。 确认您的VI和Arduino程序使用相同的。 现在,您的Arduino程序为每个传感器读取发送两个终止字符,但您的VI预期只有一个 对Serial.println的每次调用都将发送: VI更新
我认为这里不需要等待来减少cpu时间。在从串行读取中,缓冲区上已存在等待。
Serial.println(sensors.getTempCByIndex(0)); // EOL here
Serial.print(",");
Serial.println(voltage); // EOL here