#define led1 13
#define led2 12
#define led3 14
int svmode;
int ledmode;
int datamode;
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C LCD = LiquidCrystal_I2C(0x27, 16, 2);
#include "DHTesp.h"
const int DHT_PIN = 15;
DHTesp dhtSensor;
void setup() {
Serial.begin(115200);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
LCD.init();
LCD.begin(16,2);
LCD.setCursor(4,0);
LCD.print("Weerapon");
LCD.setCursor(4,1);
LCD.print("Sangtong");
delay(3000);
LCD.clear();
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT);
}
void DHT22(){
float SV0=-24.0;
float SV1=20.0;
float SV2=40.0;
float SV3=60.0;
TempAndHumidity data = dhtSensor.getTempAndHumidity();
float t = data.temperature;
float h = data.humidity;
Serial.println("Temp: "+String(t)+"°C");
Serial.println("Humidity: "+String(h)+"%");
Serial.println("---");
delay(1000);
LCD.setCursor(0,0);
LCD.println("DATA="+String(datamode));
LCD.println("SV>="+String(svmode));
LCD.setCursor(0,1);
LCD.println("T="+String(t));
LCD.println("LED="+String(ledmode));
if(t >= SV3){
datamode=3;
svmode=SV3;
ledmode=3;
digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);
digitalWrite(led3,HIGH);
delay(500);
digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);
delay(500);
}
else if(t>=SV2){
datamode=2;
svmode=SV2;
ledmode=2;
digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);
digitalWrite(led3,LOW);
delay(500);
digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);
delay(500);
}
else if(t>=SV1){
datamode=1;
svmode=SV1;
ledmode=1;
digitalWrite(led1,HIGH);
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);
delay(500);
digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);
delay(500);
}
else{
datamode=0;
svmode=SV0;
ledmode=0;
digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);
}
}
void loop() {
DHT22();
}