From 671be4010d5297a857c285acf569c90dcfb075bb Mon Sep 17 00:00:00 2001 From: Muhammad Izza Alfiansyah Date: Fri, 3 May 2024 09:56:28 +0700 Subject: [PATCH] add save condition to supabase --- .../sketch_apr22a/sketch_apr22a.ino | 34 +++++++++++++------ 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/microcontroller/sketch_apr22a/sketch_apr22a.ino b/microcontroller/sketch_apr22a/sketch_apr22a.ino index bf9bc63..c99eb77 100644 --- a/microcontroller/sketch_apr22a/sketch_apr22a.ino +++ b/microcontroller/sketch_apr22a/sketch_apr22a.ino @@ -2,8 +2,8 @@ #include #include #include -// #include -// #include +#include +#include #define BOARD "ESP-32" #define MQPIN 34 @@ -62,10 +62,12 @@ void setup(){ } void loop(){ + // mendapatkan nilai kadar gas float kadarGas = getKadarGas(); float kadarGasVoltase = kadarGas / 4095.0 * 3.3; persentaseKadarGas = getPersentaseKadarGas(kadarGasVoltase); + // menampilkan kadar gas pada LCD lcd.clear(); lcd.setCursor(0, 0); lcd.print("G : "); @@ -77,9 +79,11 @@ void loop(){ delay(2000); + // membaca nilai suhu dan kelembaban suhu = dht.readTemperature(); kelembaban = dht.readHumidity(); + // menampilkan suhu dan kelembaban pada LCD lcd.clear(); lcd.setCursor(0, 0); lcd.print("S : "); @@ -90,29 +94,33 @@ void loop(){ lcd.print(kelembaban, 1); lcd.print(" %"); + // menyalakan lampu jika suhu di bawah 30 if (suhu <= 30) { digitalWrite(LAMPPIN, LOW); } else { digitalWrite(LAMPPIN, HIGH); } + // menyalakan kipas jika suhu di atas 40 if (suhu >= 40) { digitalWrite(FANPIN, LOW); } else { digitalWrite(FANPIN, HIGH); } + // debugging menampilkan data pada serial Serial.println("Voltase Kadar Gas : " + String(kadarGasVoltase)); Serial.println("Persentase Kadar Gas : " + String(persentaseKadarGas) + " %"); Serial.println("Suhu : " + String(suhu) + " C"); Serial.println("Kelembaban : " + String(kelembaban) + " %"); - // insertKondisiTapai(); + insertKondisiTapai(); delay(2000); lcd.clear(); } +// mendapatkana nilai rata-rata kadar gas dari 100 data sampel yang diambil float getKadarGas() { int total = 100; int valueTotal = 0; @@ -127,6 +135,7 @@ float getKadarGas() { return valueAvg; } +// konversi tegangan ke persen berdasarkan rumus yang telah ditentukan float getPersentaseKadarGas(float voltase) { float persentase = 0.2043 * pow(voltase, 2) + 0.0611 * voltase - 0.0249; float hasil = constrain(persentase * 100, 0, 100); @@ -134,12 +143,15 @@ float getPersentaseKadarGas(float voltase) { return hasil; } -// void insertKondisiTapai() { -// req["suhu"] = suhu; -// req["kelembaban"] = kelembaban; -// req["kadar_gas"] = persentaseKadarGas; -// req["pengujian"] = false; +// menyimpan kondisi tapai pada database +void insertKondisiTapai() { + JSONVar req; -// String json = JSON.stringify(req); -// db.insert("kondisi_tapai", json, false); -// } \ No newline at end of file + req["suhu"] = (float) suhu; + req["kelembaban"] = (float) kelembaban; + req["kadar_gas"] = (float) persentaseKadarGas; + req["pengujian"] = false; + + String json = JSON.stringify(req); + db.insert("kondisi_tapai", json, false); +} \ No newline at end of file