【发布时间】:2018-05-29 14:38:11
【问题描述】:
发生的情况是,无论我在 Arduino Elegoo R3 板上放置什么类型的传感器,我的值都被读取错误。
发生了什么:
模拟温度传感器 - 读数 400+ 摄氏度
火焰检测传感器 - 根据火焰距离在两者之间读取 0、1023(挖掘)或 0、1(模拟)no。
详情: 板 - Elegoo Uno R3
面包板
传感器来自 Elegoo 37 传感器套件 - https://github.com/josejuansanchez/37-in-1-arduino-sensor-kit
基本代码:
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(A0, INPUT);
}
void loop() {
int reading = analogRead(A0);
// converting that reading to voltage, for 3.3v arduino use 3.3
float voltage = reading * 5.0;
voltage /= 1024.0;
// print out the voltage
Serial.print(voltage); Serial.println(" volts");
// now print out the temperature
float temperatureC = (voltage - 0.5) * 100 ; //converting from 10 mv per degree wit 500 mV offset
//to degrees ((voltage - 500mV) times 100)
Serial.print(temperatureC); Serial.println(" degrees C");
// now convert to Fahrenheit
float temperatureF = (temperatureC * 9.0 / 5.0) + 32.0;
Serial.print(temperatureF); Serial.println(" degrees F");
delay(1000);
}
我尝试过其他传感器并遇到类似问题。
这让我相信我在接线上做错了什么。但是,有一张显示引脚连接的照片,我使用面包板完全按照照片所示接线
我在这里找到的教程正是我为火焰检测设置电路板的方法:http://www.instructables.com/id/Arduino-Modules-Flame-Sensor/
我或本教程缺少什么会导致传感器读数错误?
【问题讨论】:
-
对于您的 ADC - 您不需要 ADC 的启动转换信号吗?你能提供
analogRead(A0);的代码吗?另外,你的入门套件中的确切控制器是什么?
标签: arduino microcontroller sensors