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