#include <LiquidCrystal_I2C.h>
#include "DHT.h"
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define DHTPIN 13
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
#define POTEN 14
int sensorvalue = 0;
int outputvalue = 0;
float Temp = 0, Humi = 0;
int temp_high = 0, humi_high = 0, output_high = 0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println("Hello, ESP32!");
lcd.init();
lcd.backlight();
dht.begin();
}
void loop() {
// put your main code here, to run repeatedly:
Temp = dht.readTemperature();
Humi = dht.readHumidity();
if (isnan(Temp) || isnan(Humi)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
Serial.println("Temp: " + String(Temp, 2) + "°C");
Serial.println("Humi: " + String(Humi, 2) + "%");
sensorvalue = analogRead(POTEN);
outputvalue = map(sensorvalue, 0, 4095, 0, 100);
Serial.print(outputvalue);
Serial.println(" %");
lcd.setCursor(0,0);
lcd.print("Temp: ");
lcd.setCursor(6,0);
lcd.print(Temp, 2);
lcd.setCursor(9,0);
lcd.print("Humi: ");
lcd.setCursor(11,0);
lcd.print(Humi, 2);
// if(Humi == 100){
// lcd.setCursor(5,0);
// lcd.print("H:");
// lcd.setCursor(7,0);
// }else if(Humi >= 9.5 && Humi < 100){
// lcd.setCursor(5,0);
// lcd.print("H: ");
// lcd.setCursor(8,0);
// }else if(Humi < 10){
// lcd.setCursor(5,0);
// lcd.print("H: ");
// lcd.setCursor(9,0);
// }
// lcd.print(Humi, 0);
// if(outputvalue == 100){
// lcd.setCursor(11,0);
// lcd.print("S:");
// lcd.setCursor(13,0);
// }else if(outputvalue >= 9.5 && outputvalue < 100){
// lcd.setCursor(11,0);
// lcd.print("S: ");
// lcd.setCursor(14,0);
// }else if(outputvalue < 10){
// lcd.setCursor(11,0);
// lcd.print("S: ");
// lcd.setCursor(15,0);
// }
// lcd.print(outputvalue, 0);
// lcd.setCursor(0,1);
// lcd.print("HIGH:");
// lcd.setCursor(6,1);
// if(Temp >= 32){
// lcd.print("T");
// }else{
// lcd.print(" ");
// }
// lcd.setCursor(7,1);
// lcd.print(", ");
// lcd.setCursor(9,1);
// if(Humi >= 75){
// lcd.print("H");
// }else{
// lcd.print(" ");
// }
// lcd.setCursor(10,1);
// lcd.print(", ");
// lcd.setCursor(12,1);
// if(outputvalue >= 90){
// lcd.print("S");
// }else{
// lcd.print(" ");
// }
// lcd.setCursor(13,1);
// lcd.print(".");
delay(1000); // this speeds up the simulation
}