/*
===== Monitorinng Suhu Indikator LED & LCD =====
===== By : Achmad Dimyati ======================
*/
#include "DHTesp.h"
#include "LiquidCrystal_I2C.h"
const int DHT_PIN = 14;
const int pinMerah = 25;
const int pinHijau = 26;
const int pinBiru = 27;
DHTesp dhtSensor;
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
Serial.begin(115200);
pinMode(pinMerah, OUTPUT);
pinMode(pinHijau, OUTPUT);
pinMode(pinBiru, OUTPUT);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
lcd.init();
lcd.backlight();
}
void loop() {
TempAndHumidity data = dhtSensor.getTempAndHumidity();
//Menampilkan Nilai DHT di LCD
lcd.setCursor(0, 0);
lcd.print("Temp: " + String(data.temperature, 2) +" "+ char(223)+"C");
lcd.setCursor(0, 1);
lcd.println("Humidity: " + String(data.humidity, 1) + " %");
// Set warna LED sesuai nilai DHT
if(data.temperature < 20){
rgb(0,0,1); // Biru
} else if (data.temperature > 30) {
rgb(1,0,0);
} else {
rgb(0,1,0);
}
delay(2000);
}
void rgb (bool red, bool green, bool blue) {
digitalWrite(pinMerah , red);
digitalWrite(pinHijau , green);
digitalWrite(pinBiru , blue);
}
Loading
esp32-devkit-c-v4
esp32-devkit-c-v4