#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <WiFi.h>
#include "DHTesp.h"
LiquidCrystal_I2C lcd(0x27, 16, 2);
int LDR_Val = 0;
int sensor = 25;
int led = 32;
const int DHT_PIN = 15;
DHTesp dhtSensor;
void setup() {
lcd.init(); // initialize the lcd
lcd.backlight();
Serial.begin(115200);
pinMode(led, OUTPUT);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
}
void loop() {
TempAndHumidity data = dhtSensor.getTempAndHumidity();
Serial.println("Temp: " + String(data.temperature, 2) + "°C");
Serial.println("Humidity: " + String(data.humidity, 1) + "%");
lcd.setCursor(0, 0);
lcd.print("Nhiet do : " + String(data.temperature,1) + "C");
lcd.setCursor(0,1);
lcd.print("Do am: " + String(data.humidity,1) + "%");
delay(1000);
LDR_Val = analogRead(sensor);
Serial.print("LDR Output Value: ");
Serial.println(LDR_Val);
if(LDR_Val > 100) {
lcd.clear();
lcd.setCursor(0, 0); // start to print at the first row
lcd.print("gia tri cd anh sang: ");
lcd.print(LDR_Val);
lcd.setCursor(0, 1);
lcd.print(" tat den ");
lcd.setCursor(0, 0);
lcd.print(" troi sáng ");
lcd.setCursor(0, 1);
digitalWrite(led,LOW);
delay(1000);
}
else {
lcd.clear();
lcd.setCursor(0, 0); // start to print at the first row
lcd.print("LDR: ");
lcd.print(LDR_Val);
lcd.setCursor(0, 1);
lcd.println("sang den ");
lcd.println(" troi tối ");
digitalWrite(led,HIGH);
}
delay(1000);
}