#include <TM1637Display.h>
#include <Servo.h>
#include <DHT.h>
#define CLK 5
#define DIO 4 // Pin DIO tm1637
#define BUZZER 1 // Pin Buzzer
#define SERVO_PIN 3 // Pin Servo
#define DHT_PIN 6 // Pin DHT22
TM1637Display display(CLK, DIO);
Servo servoMotor;
DHT dht(DHT_PIN, DHT22);
void setup() {
display.setBrightness(7); // Atur kecerahan tm1637 (0-7)
servoMotor.attach(SERVO_PIN);
Serial.begin(9600);
}
void loop() {
// Baca suhu dan kelembaban dari sensor DHT22
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
// Tampilkan suhu pada tm1637
display.showNumberDec(temperature, false);
// Kontrol motor servo berdasarkan suhu
if (temperature > 25) {
servoMotor.write(90); // Posisi motor servo saat suhu tinggi
// Aktifkan buzzer untuk memberikan peringatan
tone(BUZZER, 1000, 1000);
} else {
servoMotor.write(0); // Posisi motor servo saat suhu normal
noTone(BUZZER); // Matikan buzzer
}
// Tampilkan informasi suhu dan kelembaban di Serial Monitor
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.print(" °C, Humidity: ");
Serial.print(humidity);
Serial.println(" %");
delay(2000); // Interval pembacaan dan kontrol
}