#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#define DHTPIN 4
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd = LiquidCrystal_I2C(0x27, 16, 2);
float intTemperature = 0;
float intHumidity = 0;
int intRelayPin = 2;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Start DHT");
dht.begin();
lcd.init();
lcd.backlight();
pinMode(intRelayPin,OUTPUT);
Serial.println("Hello, ESP32!");
}
void loop(){
getMyTemperature();
postmyDisplayLcd(intTemperature,intHumidity);
postMyRelay(intTemperature);
delay(2000);
}
void getMyTemperature() {
intTemperature = dht.readTemperature();
intHumidity = dht.readHumidity();
Serial.println("Temperature " + String(intTemperature) +"°C ");
Serial.println("Humidity " + String(intHumidity) +"% ");
}
void postmyDisplayLcd(float x, float y) {
lcd.setCursor(0, 0);
lcd. print(" Temperature :" + String(x));
lcd.setCursor(0, 1);
lcd. print(" Humidity :"+ String(y));
}
void postMyRelay(float x) {
if (x > 30 ){
digitalWrite(intRelayPin, HIGH);
Serial.println("Relay, On!");
delay(1000);
}
else {
digitalWrite(intRelayPin, LOW);
Serial.print("Relay, Off!");
delay(1000);
Serial.println();
}
}
/*int intRelayPin = 2;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(intRelayPin,OUTPUT);
Serial.println("Hello, ESP32!");
}
void loop() {
digitalWrite(intRelayPin, HIGH);
Serial.print("Relay, On!");
delay(1000);
Serial.println();
digitalWrite(intRelayPin, LOW);
Serial.print("Relay, Off!");
delay(1000);
Serial.println();
// put your main code here, to run repeatedly:
// this speeds up the simulation
}
*/
/*
#include "DHT.h"
#define DHTPIN 12
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Start DHT");
dht.begin();
}
void loop() {
float intTemperature = dht.readTemperature();
float intHumidity = dht.readHumidity();
Serial.println("Temperature " + String(intTemperature) +"°C ");
Serial.println("Humidity " + String(intHumidity) +"% ");
delay(2000);
}
*/
/*
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd = LiquidCrystal_I2C(0x27, 16, 2);
void setup() {
Serial.begin(115200);
lcd.init();
lcd.backlight();
}
void loop() {
lcd.setCursor(0, 0);
lcd. print(" Temperature :");
lcd.setCursor(0, 1);
lcd. print(" Humidity :");
delay(2000);
}
*/