From efee768233203811d2ac716d6159590bd391d3bd Mon Sep 17 00:00:00 2001 From: Muhammad Izza Alfiansyah Date: Fri, 26 Apr 2024 15:24:33 +0700 Subject: [PATCH] add read temperature, humidity, & alkohol at microcontroller --- .../sketch_apr22a/sketch_apr22a.ino | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 microcontroller/sketch_apr22a/sketch_apr22a.ino diff --git a/microcontroller/sketch_apr22a/sketch_apr22a.ino b/microcontroller/sketch_apr22a/sketch_apr22a.ino new file mode 100644 index 0000000..e864898 --- /dev/null +++ b/microcontroller/sketch_apr22a/sketch_apr22a.ino @@ -0,0 +1,82 @@ +#include +#include +#include + +#define BOARD "ESP-32" +#define MQPIN 36 +#define DHTPIN 4 +#define LAMPPIN 26 +#define FANPIN 25 + +LiquidCrystal_I2C lcd(0x27, 16, 2); +DHT dht(DHTPIN, 22); + +void setup(){ + pinMode(MQPIN, INPUT); + pinMode(LAMPPIN, OUTPUT); + pinMode(FANPIN, OUTPUT); + + digitalWrite(LAMPPIN, HIGH); + digitalWrite(FANPIN, HIGH); + + Serial.begin(115200); + + lcd.init(); + lcd.backlight(); + + lcd.setCursor(0, 0); + lcd.print("Memuat...."); + + dht.begin(); + + delay(5000); +} + +void loop(){ + int kadarGas = analogRead(MQPIN); + int kadarGasPersen = map(kadarGas, 250, 1023, 0, 100); + + lcd.clear(); + lcd.setCursor(0, 0); + lcd.print("Kadar Gas : "); + lcd.setCursor(0,1); + lcd.print(String(kadarGas)); + + float suhu = dht.readTemperature(); + + delay(2000); + lcd.clear(); + lcd.setCursor(0, 0); + lcd.print("Suhu : "); + lcd.setCursor(0, 1); + lcd.print(String(suhu) + " C"); + + if (suhu <= 30) { + digitalWrite(LAMPPIN, LOW); + } else { + digitalWrite(LAMPPIN, HIGH); + } + + if (suhu >= 40) { + digitalWrite(FANPIN, LOW); + } else { + digitalWrite(FANPIN, HIGH); + } + + float kelembaban = dht.readHumidity(); + + delay(2000); + lcd.clear(); + lcd.setCursor(0, 0); + lcd.print("Kelembaban : "); + lcd.setCursor(0, 1); + lcd.print(String(kelembaban) + " %"); + + Serial.println("Kadar Gas : " + String(kadarGas)); + Serial.println("Persen Kadar Gas : " + String(kadarGasPersen) + " %"); + Serial.println("Suhu : " + String(suhu) + " C"); + Serial.println("Kelembaban : " + String(kelembaban) + " %"); + + delay(2000); + lcd.clear(); +} \ No newline at end of file