#include "DHT.h"
#include <LiquidCrystal_I2C.h>
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
#define ledm 3
#define ledb 4
#define ledh 5
#define led1 6
#define led2 7
#define led3 8
#define led4 9
#define led5 10
void setup() {
lcd.init();
lcd.backlight();
Serial.begin(9600);
Serial.println(F("DHTxx test!"));
dht.begin();
pinMode(ledm, OUTPUT);
pinMode(ledb, OUTPUT);
pinMode(ledh, OUTPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
}
void loop() {
delay(1000);
float h = dht.readHumidity();
float t = dht.readTemperature();
Serial.print(F("Humidity: "));
Serial.print(h);
Serial.print(F("% Temperature: "));
Serial.print(t);
Serial.println(F("°C "));
if(t>50){
digitalWrite(ledm, HIGH);
digitalWrite(ledb, LOW);
digitalWrite(ledh, LOW);
}
else if(t<0){
digitalWrite(ledb, HIGH);
digitalWrite(ledh, LOW);
digitalWrite(ledm, LOW);
}
else{
digitalWrite(ledh, HIGH);
digitalWrite(ledb, LOW);
digitalWrite(ledm, LOW);
}
if(h <= 20){
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
}
else if(h > 20 && h <= 40){
digitalWrite(led2, HIGH);
digitalWrite(led1, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
}
else if(h > 40 && h <= 60){
digitalWrite(led3, HIGH);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
}
else if(h > 60 && h <= 80){
digitalWrite(led4, HIGH);
digitalWrite(led1, LOW);
digitalWrite(led3, LOW);
digitalWrite(led2, LOW);
digitalWrite(led5, LOW);
}
else if(h > 80 && h <= 100){
digitalWrite(led5, HIGH);
digitalWrite(led1, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led2, LOW);
}
lcd.setCursor(0, 0);
lcd.print(h);
lcd.setCursor(0, 1);
lcd.print(t);
}