#include <TM1637Display.h>
#include <DHT.h>
// Pin definitions for TM1637
#define CLK 2
#define DIO 3
// Pin definitions for DHT22
#define DHTPIN 4
#define DHTTYPE DHT22
// Initialize TM1637 and DHT
TM1637Display display(CLK, DIO);
DHT dht(DHTPIN, DHTTYPE);
void setup() {
// Initialize serial communication
Serial.begin(9600);
// Initialize DHT sensor
dht.begin();
// Initialize TM1637 display
display.setBrightness(7); // Brightness: 0 (dim) to 7 (bright)
}
void loop() {
// Read temperature and humidity
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
// Check if readings failed
if (isnan(temperature) || isnan(humidity)) {
Serial.println("Failed to read from DHT sensor!");
display.showNumberDec(8888, false); // Error code on display
delay(2000);
return;
}
// Display temperature (e.g., 25.6°C as 256)
int tempDisplay = (int)(temperature * 10); // Convert to integer (e.g., 25.6 -> 256)
display.showNumberDec(tempDisplay, false, 4, 0);
delay(2000); // Display temperature for 2 seconds
// Display humidity (e.g., 55% as 550)
int humDisplay = (int)(humidity * 10); // Convert to integer (e.g., 55.5 -> 555)
display.showNumberDec(humDisplay, false, 4, 0);
delay(2000); // Display humidity for 2 seconds
}