我们使用的是LM35温度传感器和 Arduino 板引脚 A0 到 A7,实际上是其中的任何一个引脚。问题是我无法在 Arduino 软件的串行窗口中获得稳定准确的值。下面是我正在使用的代码:
int pin = 0; // analog pin
int tempc = 0, tempf = 0; // Temperature variables
int samples[8]; // Variables to make a better precision
int maxi = -100, mini = 100; // To start max/min temperature
int i;
void setup()
{
Serial.begin(9600); // Start serial communication
}
void loop()
{
for(i = 0; i <= 7; i++) { // Gets 8 samples of temperature
samples[i] = ( 5.0 * analogRead(pin) * 100.0) / 1024.0;
tempc = tempc + samples[i];
delay(1000);
}
tempc = tempc/8.0; // Better precision
tempf = (tempc * 9)/ 5 + 32; // Converts to fahrenheit
if (tempc > maxi) {
maxi = tempc;
} // Set max temperature
if (tempc < mini) {
mini = tempc;
} // Set min temperature
Serial.print(tempc,DEC);
Serial.print(" Celsius, ");
Serial.print(tempf,DEC);
Serial.print(" fahrenheit -> ");
Serial.print(maxi,DEC);
Serial.print(" Max, ");
Serial.print(mini,DEC);
Serial.println(" Min");
tempc = 0;
delay(1000); // Delay before loop
}