#include "DHTesp.h"
#include <LiquidCrystal_I2C.h>
#define LED1 25
#define LED2 26
#define pirPin 32
#define LED3 35
LiquidCrystal_I2C LCD = LiquidCrystal_I2C(0x27, 16, 2);
const int DHT_PIN = 15;
DHTesp dhtSensor;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
LCD.init();
LCD.backlight();
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(pirPin, INPUT);
}
// void printTempandHumidity() {
// TempAndHumidity data = dhtSensor.getTempAndHumidity();
// LCD.setCursor(0, 0);
// LCD.println("Temp: " + String(data.temperature, 2) + "°C");
// LCD.setCursor(0, 1);
// LCD.println("Humidity: " + String(data.humidity, 1) + "%");
// }
void loop() {
TempAndHumidity data = dhtSensor.getTempAndHumidity();
LCD.setCursor(0, 0);
LCD.println("Temp: " + String(data.temperature, 2) + "°C");
LCD.setCursor(0, 1);
LCD.println("Humidity: " + String(data.humidity, 1) + "%");
delay(1000);
if(data.temperature >24)
{
digitalWrite(LED1, HIGH);
}
if(data.humidity <=60){
digitalWrite(LED2, HIGH);
}
int motionvalue= digitalRead(pirPin);
if(motionvalue == HIGH) {
digitalWrite(LED3, HIGH);
Serial.println("có chuyển động ");
}else {
Serial.println("Không có chuyển động ");
digitalWrite(LED3, LOW);
}
delay(1000);
}