#include #include "rgb_lcd.h" #include "ChainableLED.h" #include "DHT.h" // 引脚定义 #define DHTPIN D0 #define DHTTYPE DHT11 #define BUZZER_PIN D1 #define LED_PIN_CLK D4 #define LED_PIN_DATA D5 DHT dht(DHTPIN, DHTTYPE); rgb_lcd lcd; // 注意:有些版本的库在这一步就已经完成了初始化 ChainableLED leds(LED_PIN_CLK, LED_PIN_DATA, 1); void setup() { lcd.begin(16, 2); dht.begin(); // 删掉了 leds.init() 或 leds.begin(),因为库版本不需要它 pinMode(BUZZER_PIN, OUTPUT); lcd.print("System Ready"); delay(1000); } void loop() { float t = dht.readTemperature(); lcd.clear(); lcd.setCursor(0, 0); if (isnan(t)) { lcd.print("Sensor Error"); } else { lcd.print("Temp: "); lcd.print(t); lcd.print("C"); } if (t > 30.0) { tone(BUZZER_PIN, 1000); leds.setColorRGB(0, 255, 0, 0); // 红色报警 lcd.setCursor(0, 1); lcd.print("!! WARNING !!"); } else { noTone(BUZZER_PIN); leds.setColorRGB(0, 0, 255, 0); // 绿色正常 lcd.setCursor(0, 1); lcd.print("Status: Normal"); } delay(500); }