#include "DHT.h"
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
#define green 25
#define yellow 26
#define red 27
#define led 2
#define kuning 18
#define DHTPIN 19
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
void setup() {
pinMode(led,OUTPUT);
pinMode(kuning,OUTPUT);
pinMode(red,OUTPUT);
pinMode(yellow,OUTPUT);
pinMode(green,OUTPUT);
lcd.backlight(); lcd.init();
lcd.setCursor(0,0); lcd.print(" JAM DIGITAL ");
Serial.begin(115200);
Serial.println("Hello, ESP32!");
dht.begin();
}
void loop() {
if(Serial.available()) {
char input_serial = Serial.read();
if(input_serial == 'a') {
digitalWrite(kuning,HIGH);
lcd.setCursor(9,1); lcd.print("K = ON ");
}
else if(input_serial == 'B') {
digitalWrite(kuning,LOW);
lcd.setCursor(9,1); lcd.print("K = OFF");
}
}
digitalWrite(led,HIGH);
lcd.setCursor(0,1); lcd.print("LED ON ");
delay(500);
digitalWrite(led,LOW);
lcd.setCursor(0,1); lcd.print("LED OFF");
delay(500);
int h = dht.readHumidity();
float t = dht.readTemperature();
lcd.setCursor(0,0);
lcd.print("T="); lcd.print(t,1); lcd.write(223); lcd.print("C ");
lcd.print("H="); lcd.print(h); lcd.print("% ");
if(t<30) {
digitalWrite(green,HIGH);
digitalWrite(yellow,LOW);
digitalWrite(red,LOW);
}
else if(t>=30 && t<=40) {
digitalWrite(green,LOW);
digitalWrite(yellow,HIGH);
digitalWrite(red,LOW);
}
else {
digitalWrite(green,LOW);
digitalWrite(yellow,LOW);
digitalWrite(red,HIGH);
}
Serial.print(F("Humidity: "));
Serial.print(h);
Serial.print(F("% Temperature: "));
Serial.print(t);
Serial.println(F("°C "));
}