const int sensorPin = A0;
const float baselineTemp = 20.0;
void setup() {
Serial.begin(9600); // open a serial port
for (int pinNumber = 2; pinNumber < 5; pinNumber++) {
pinMode(pinNumber, OUTPUT);
digitalWrite(pinNumber, LOW);
} // 关闭for循环的大括号
}
void loop() {
int sensorVal = analogRead(sensorPin);
Serial.print("Sensor Value: "); // 使用标准的双引号
Serial.print(sensorVal);
// convert the ADC reading to voltage
float voltage = ((float)sensorVal / 1024.0) * 5.0; // 强制转换为 float 类型
Serial.print(", Volts: "); // 使用标准的双引号
Serial.print(voltage);
Serial.print(", degrees C: "); // 使用标准的双引号
// convert the voltage to temperature in degrees
float temperature = (voltage - 0.5) * 100;
Serial.println(temperature);
if (temperature < baselineTemp) {
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
}
else if (temperature >= baselineTemp + 2 && temperature < baselineTemp + 4) {
digitalWrite(2, HIGH);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
}
else if (temperature >= baselineTemp + 4 && temperature < baselineTemp + 6) {
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, LOW);
}
else if (temperature >= baselineTemp + 6) {
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
}
delay(1000); // 延迟 1 秒,避免过于频繁的读数和LED控制
}