#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#define DHTPIN 23 // Pin koneksi data sensor DHT22
#define DHTTYPE DHT22 // Jenis sensor DHT (DHT11, DHT22, DHT21)
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2); // Alamat I2C LCD: 0x27, Ukuran: 16x2
const int blueLedPin = 13; // Pin LED biru
const int greenLedPin = 12; // Pin LED hijau
const int redLedPin = 14; // Pin LED merah
void setup() {
dht.begin();
pinMode(blueLedPin, OUTPUT);
pinMode(greenLedPin, OUTPUT);
pinMode(redLedPin, OUTPUT);
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Suhu:");
}
void loop() {
float temperature = dht.readTemperature(); // Membaca suhu dari sensor DHT22
lcd.setCursor(6, 0);
lcd.print(" ");
lcd.setCursor(6, 0);
lcd.print(temperature);
lcd.print(" C");
digitalWrite(blueLedPin, LOW);
digitalWrite(greenLedPin, LOW);
digitalWrite(redLedPin, LOW);
if (temperature < 17) {
digitalWrite(blueLedPin, HIGH);
} else if (temperature >= 17 && temperature <= 27) {
digitalWrite(greenLedPin, HIGH);
} else {
digitalWrite(redLedPin, HIGH);
}
delay(2000); // Menunda pembacaan suhu selama 2 detik
}