#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int greenLedPin = 8;
const int yellowLedPin = 9;
const int redLedPin = 10;
void setup() {
Serial.begin(9600);
lcd.begin(16,2);
pinMode(greenLedPin, OUTPUT);
pinMode(yellowLedPin, OUTPUT);
pinMode(redLedPin, OUTPUT);
}
void loop() {
delay(2000);
float suhu = dht.readTemperature();
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Suhu: ");
lcd.print(suhu);
lcd.print("C");
if (suhu < 30) {
lcd.setCursor(0, 1);
lcd.print("SUHU TERLALU RENDAH");
digitalWrite(greenLedPin, HIGH);
digitalWrite(yellowLedPin, LOW);
digitalWrite(redLedPin, LOW);
} else if (suhu >= 30 && suhu <= 35) {
lcd.setCursor(0, 1);
lcd.print("SUHU CUKUP");
digitalWrite(greenLedPin, LOW);
digitalWrite(yellowLedPin, HIGH);
digitalWrite(redLedPin, LOW);
} else if (suhu >= 35 && suhu <= 80) {
lcd.setCursor(0, 1);
lcd.print("SUHU TERLALU PANAS");
digitalWrite(greenLedPin, LOW);
digitalWrite(yellowLedPin, LOW);
digitalWrite(redLedPin, HIGH);
}
}