Arduino UNO传感器数据输出突然跳变
我正在使用Arduino UNO记录70元人民币的传感器数据。下面给出了我使用的代码。此代码用于记录10秒的值,然后停止Arduino UNO传感器数据输出突然跳变,arduino,arduino-uno,android-sensors,proximitysensor,Arduino,Arduino Uno,Android Sensors,Proximitysensor,我正在使用Arduino UNO记录70元人民币的传感器数据。下面给出了我使用的代码。此代码用于记录10秒的值,然后停止 #include <EEPROM.h> const int chipSelect = 2; unsigned int y1 = 0; unsigned long y = 0; String data = ""; void setup() { Serial.begin(230400); delay(10); } void loop() { while
#include <EEPROM.h>
const int chipSelect = 2;
unsigned int y1 = 0;
unsigned long y = 0;
String data = "";
void setup()
{
Serial.begin(230400);
delay(10);
}
void loop()
{
while (y < 10000000)
{
if (y1 > 372) //start recording only after 372 microseconds
{
y = micros();
data += y;
data += ",";
data += analogRead(A0);
Serial.println(data);
data = " "; //clear data after printing the value
}
y1 = micros() - y;
}
}
#包括
常数int chipSelect=2;
无符号整数y1=0;
无符号长y=0;
字符串数据=”;
无效设置()
{
序列号开始(230400);
延迟(10);
}
void循环()
{
而(y<10000000)
{
if(y1>372)//仅在372微秒后开始记录
{
y=微秒();
数据+=y;
数据+=“,”;
数据+=模拟读数(A0);
Serial.println(数据);
data=”“;//打印值后清除数据
}
y1=微米()-y;
}
}
这些值是从串行监视器复制的。一些记录显示一个或两个记录值突然跳变,正因为如此,数据图表看起来好像被“删除”了。有关数字如下:
这些突然值不是每次运行代码时都出现,而是每7-12次运行一次。这些突然跳跃的原因是什么?实验条件没有突变。如何防止Arduino记录和存储此类突然值 您的值不会突然跳转,而是下降到0。 通常,如果对地短路,只能测量0。所以,也许你有一根断了的电缆,由于振动。。。。我不知道你的测试设置 测试1)测量恒定电压 测试2)尝试另一个输入引脚
如果无法修复,请检查读取值。如果它们没有意义,请跳过它们或用外推法替换它们。先生,我检查了发生此问题的其他记录,正如您所提到的,在大多数记录中,值确实下降到0(或超出到一个大值)。实验装置确实经历了振动(传感器放置在旋转盘的前面,随着旋转速度的增加,振动增加),这可能是原因,因为没有断开的电缆。