add save condition to supabase

This commit is contained in:
Muhammad Izza Alfiansyah 2024-05-03 09:56:28 +07:00
parent 7b703487fb
commit 671be4010d
1 changed files with 23 additions and 11 deletions

View File

@ -2,8 +2,8 @@
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#include <WiFi.h>
// #include <Arduino_JSON.h>
// #include <assert.h>
#include <Arduino_JSON.h>
#include <assert.h>
#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);
// }
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);
}