1

我正在使用带有TMP36的Arduino Due(用于读取温度)。这是我将读数转换为°F的公式:

tempReading = analogRead(tempPin);
voltage = tempReading * 5.0; // Saves the voltage
voltage /= 1024.0; 
tempC = (voltage - 0.5) * 100 ; //Converts to Celsius
tempF = (tempC * 9.0 / 5.0) + 32; //Converts to Fahrenheit

在连续剧中,我的 Arduino 打印出 90-100°F 的温度,而我的房子设置为大约 70°F。这里有什么问题?

4

1 回答 1

0

来自http://arduino.cc/en/Main/ArduinoBoardDue

“与其他 Arduino 板不同,Arduino Due 板在 3.3V 下运行。I/O 引脚可以承受的最大电压为 3.3V。向 I/O 引脚提供更高的电压,如 5V 可能会损坏板。”

所以很可能你不应该乘以tempreading5,而是乘以 3.3。

于 2012-12-27T06:37:02.130 回答