#include <TM1637Display.h>
#include "DHTesp.h"
#define CLK 22
#define DIO 23
DHTesp dhtSensor;
TM1637Display display = TM1637Display(CLK, DIO);
const uint8_t HOT[] = {
SEG_B | SEG_C | SEG_E | SEG_F | SEG_G,
SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F,
SEG_D | SEG_E | SEG_F | SEG_G,
SEG_D | SEG_E | SEG_F | SEG_G
};
const uint8_t GOOD[] = {
SEG_A | SEG_C | SEG_D | SEG_E | SEG_F,
SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F ,
SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F ,
SEG_B | SEG_C | SEG_D | SEG_E | SEG_G
};
const uint8_t COLD[] = {
SEG_A | SEG_D | SEG_E | SEG_F,
SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F,
SEG_D | SEG_E | SEG_F,
SEG_B | SEG_C | SEG_D | SEG_E | SEG_G
};
void setup() {
display.clear();
display.setBrightness(7);
Serial.begin(115200);
dhtSensor.setup(13,DHTesp::DHT22);
}
void loop() {
TempAndHumidity data = dhtSensor.getTempAndHumidity();
Serial.println("Temp: " + String(data.temperature, 2) + "°C");
Serial.println("Humidity: " + String(data.humidity, 1) + "%");
if (data.temperature>35){
Serial.println("Hot!");
display.setSegments(HOT);
delay(1000);
}
if (data.temperature<10){
Serial.println("Cold!");
display.setSegments(COLD);
delay(1000);
}
else {
Serial.println("Normal");
display.setSegments(GOOD);
delay(1000);
}
}