regression for alcohol percen
This commit is contained in:
parent
efee768233
commit
bacb5d6fe5
|
@ -1,9 +1,8 @@
|
|||
#include <LiquidCrystal_I2C.h>
|
||||
#include <MQUnifiedsensor.h>
|
||||
#include <DHT.h>
|
||||
|
||||
#define BOARD "ESP-32"
|
||||
#define MQPIN 36
|
||||
#define MQPIN 34
|
||||
#define DHTPIN 4
|
||||
#define LAMPPIN 26
|
||||
#define FANPIN 25
|
||||
|
@ -11,6 +10,27 @@
|
|||
LiquidCrystal_I2C lcd(0x27, 16, 2);
|
||||
DHT dht(DHTPIN, 22);
|
||||
|
||||
float getKadarGas() {
|
||||
int total = 100;
|
||||
int valueTotal = 0;
|
||||
|
||||
for (int i = 0; i < total; i++) {
|
||||
int value = analogRead(MQPIN);
|
||||
valueTotal = valueTotal + value;
|
||||
}
|
||||
|
||||
float valueAvg = valueTotal / total;
|
||||
|
||||
return valueAvg;
|
||||
}
|
||||
|
||||
float getPersentaseKadarGas(float voltase) {
|
||||
float persentase = 0.2011 * pow(voltase, 2) + 0.0733 * voltase - 0.0363;
|
||||
float hasil = constrain(persentase * 100, 0, 100);
|
||||
|
||||
return hasil;
|
||||
}
|
||||
|
||||
void setup(){
|
||||
pinMode(MQPIN, INPUT);
|
||||
pinMode(LAMPPIN, OUTPUT);
|
||||
|
@ -25,31 +45,41 @@ void setup(){
|
|||
lcd.backlight();
|
||||
|
||||
lcd.setCursor(0, 0);
|
||||
lcd.print("Memuat....");
|
||||
lcd.print("Memuat..........");
|
||||
|
||||
dht.begin();
|
||||
|
||||
delay(5000);
|
||||
delay(20000);
|
||||
}
|
||||
|
||||
void loop(){
|
||||
int kadarGas = analogRead(MQPIN);
|
||||
int kadarGasPersen = map(kadarGas, 250, 1023, 0, 100);
|
||||
float kadarGas = getKadarGas();
|
||||
float kadarGasVoltase = kadarGas / 4095.0 * 3.3;
|
||||
float persentaseKadarGas = getPersentaseKadarGas(kadarGasVoltase);
|
||||
|
||||
lcd.clear();
|
||||
lcd.setCursor(0, 0);
|
||||
lcd.print("Kadar Gas : ");
|
||||
lcd.print("G : ");
|
||||
lcd.print(kadarGas);
|
||||
lcd.setCursor(0,1);
|
||||
lcd.print(String(kadarGas));
|
||||
lcd.print("PG : ");
|
||||
lcd.print(persentaseKadarGas, 1);
|
||||
lcd.print(" %");
|
||||
|
||||
delay(1500);
|
||||
|
||||
float suhu = dht.readTemperature();
|
||||
float kelembaban = dht.readHumidity();
|
||||
|
||||
delay(2000);
|
||||
lcd.clear();
|
||||
lcd.setCursor(0, 0);
|
||||
lcd.print("Suhu : ");
|
||||
lcd.print("S : ");
|
||||
lcd.print(suhu, 1);
|
||||
lcd.print(" C");
|
||||
lcd.setCursor(0, 1);
|
||||
lcd.print(String(suhu) + " C");
|
||||
lcd.print("K : ");
|
||||
lcd.print(kelembaban, 1);
|
||||
lcd.print(" %");
|
||||
|
||||
if (suhu <= 30) {
|
||||
digitalWrite(LAMPPIN, LOW);
|
||||
|
@ -63,20 +93,11 @@ void loop(){
|
|||
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("Voltase Kadar Gas : " + String(kadarGasVoltase));
|
||||
Serial.println("Persentase Kadar Gas : " + String(persentaseKadarGas) + " %");
|
||||
Serial.println("Suhu : " + String(suhu) + " C");
|
||||
Serial.println("Kelembaban : " + String(kelembaban) + " %");
|
||||
|
||||
delay(2000);
|
||||
delay(1500);
|
||||
lcd.clear();
|
||||
}
|
Loading…
Reference in New Issue