add save condition to supabase
This commit is contained in:
parent
7b703487fb
commit
671be4010d
|
@ -2,8 +2,8 @@
|
||||||
#include <LiquidCrystal_I2C.h>
|
#include <LiquidCrystal_I2C.h>
|
||||||
#include <DHT.h>
|
#include <DHT.h>
|
||||||
#include <WiFi.h>
|
#include <WiFi.h>
|
||||||
// #include <Arduino_JSON.h>
|
#include <Arduino_JSON.h>
|
||||||
// #include <assert.h>
|
#include <assert.h>
|
||||||
|
|
||||||
#define BOARD "ESP-32"
|
#define BOARD "ESP-32"
|
||||||
#define MQPIN 34
|
#define MQPIN 34
|
||||||
|
@ -62,10 +62,12 @@ void setup(){
|
||||||
}
|
}
|
||||||
|
|
||||||
void loop(){
|
void loop(){
|
||||||
|
// mendapatkan nilai kadar gas
|
||||||
float kadarGas = getKadarGas();
|
float kadarGas = getKadarGas();
|
||||||
float kadarGasVoltase = kadarGas / 4095.0 * 3.3;
|
float kadarGasVoltase = kadarGas / 4095.0 * 3.3;
|
||||||
persentaseKadarGas = getPersentaseKadarGas(kadarGasVoltase);
|
persentaseKadarGas = getPersentaseKadarGas(kadarGasVoltase);
|
||||||
|
|
||||||
|
// menampilkan kadar gas pada LCD
|
||||||
lcd.clear();
|
lcd.clear();
|
||||||
lcd.setCursor(0, 0);
|
lcd.setCursor(0, 0);
|
||||||
lcd.print("G : ");
|
lcd.print("G : ");
|
||||||
|
@ -77,9 +79,11 @@ void loop(){
|
||||||
|
|
||||||
delay(2000);
|
delay(2000);
|
||||||
|
|
||||||
|
// membaca nilai suhu dan kelembaban
|
||||||
suhu = dht.readTemperature();
|
suhu = dht.readTemperature();
|
||||||
kelembaban = dht.readHumidity();
|
kelembaban = dht.readHumidity();
|
||||||
|
|
||||||
|
// menampilkan suhu dan kelembaban pada LCD
|
||||||
lcd.clear();
|
lcd.clear();
|
||||||
lcd.setCursor(0, 0);
|
lcd.setCursor(0, 0);
|
||||||
lcd.print("S : ");
|
lcd.print("S : ");
|
||||||
|
@ -90,29 +94,33 @@ void loop(){
|
||||||
lcd.print(kelembaban, 1);
|
lcd.print(kelembaban, 1);
|
||||||
lcd.print(" %");
|
lcd.print(" %");
|
||||||
|
|
||||||
|
// menyalakan lampu jika suhu di bawah 30
|
||||||
if (suhu <= 30) {
|
if (suhu <= 30) {
|
||||||
digitalWrite(LAMPPIN, LOW);
|
digitalWrite(LAMPPIN, LOW);
|
||||||
} else {
|
} else {
|
||||||
digitalWrite(LAMPPIN, HIGH);
|
digitalWrite(LAMPPIN, HIGH);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// menyalakan kipas jika suhu di atas 40
|
||||||
if (suhu >= 40) {
|
if (suhu >= 40) {
|
||||||
digitalWrite(FANPIN, LOW);
|
digitalWrite(FANPIN, LOW);
|
||||||
} else {
|
} else {
|
||||||
digitalWrite(FANPIN, HIGH);
|
digitalWrite(FANPIN, HIGH);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// debugging menampilkan data pada serial
|
||||||
Serial.println("Voltase Kadar Gas : " + String(kadarGasVoltase));
|
Serial.println("Voltase Kadar Gas : " + String(kadarGasVoltase));
|
||||||
Serial.println("Persentase Kadar Gas : " + String(persentaseKadarGas) + " %");
|
Serial.println("Persentase Kadar Gas : " + String(persentaseKadarGas) + " %");
|
||||||
Serial.println("Suhu : " + String(suhu) + " C");
|
Serial.println("Suhu : " + String(suhu) + " C");
|
||||||
Serial.println("Kelembaban : " + String(kelembaban) + " %");
|
Serial.println("Kelembaban : " + String(kelembaban) + " %");
|
||||||
|
|
||||||
// insertKondisiTapai();
|
insertKondisiTapai();
|
||||||
|
|
||||||
delay(2000);
|
delay(2000);
|
||||||
lcd.clear();
|
lcd.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// mendapatkana nilai rata-rata kadar gas dari 100 data sampel yang diambil
|
||||||
float getKadarGas() {
|
float getKadarGas() {
|
||||||
int total = 100;
|
int total = 100;
|
||||||
int valueTotal = 0;
|
int valueTotal = 0;
|
||||||
|
@ -127,6 +135,7 @@ float getKadarGas() {
|
||||||
return valueAvg;
|
return valueAvg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// konversi tegangan ke persen berdasarkan rumus yang telah ditentukan
|
||||||
float getPersentaseKadarGas(float voltase) {
|
float getPersentaseKadarGas(float voltase) {
|
||||||
float persentase = 0.2043 * pow(voltase, 2) + 0.0611 * voltase - 0.0249;
|
float persentase = 0.2043 * pow(voltase, 2) + 0.0611 * voltase - 0.0249;
|
||||||
float hasil = constrain(persentase * 100, 0, 100);
|
float hasil = constrain(persentase * 100, 0, 100);
|
||||||
|
@ -134,12 +143,15 @@ float getPersentaseKadarGas(float voltase) {
|
||||||
return hasil;
|
return hasil;
|
||||||
}
|
}
|
||||||
|
|
||||||
// void insertKondisiTapai() {
|
// menyimpan kondisi tapai pada database
|
||||||
// req["suhu"] = suhu;
|
void insertKondisiTapai() {
|
||||||
// req["kelembaban"] = kelembaban;
|
JSONVar req;
|
||||||
// req["kadar_gas"] = persentaseKadarGas;
|
|
||||||
// req["pengujian"] = false;
|
|
||||||
|
|
||||||
// String json = JSON.stringify(req);
|
req["suhu"] = (float) suhu;
|
||||||
// db.insert("kondisi_tapai", json, false);
|
req["kelembaban"] = (float) kelembaban;
|
||||||
// }
|
req["kadar_gas"] = (float) persentaseKadarGas;
|
||||||
|
req["pengujian"] = false;
|
||||||
|
|
||||||
|
String json = JSON.stringify(req);
|
||||||
|
db.insert("kondisi_tapai", json, false);
|
||||||
|
}
|
Loading…
Reference in New Issue