#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT22
byte i=0;
byte h=0;
float temperature, humidity;
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200);
Serial.println("DHT22 example!");
pinMode(11, OUTPUT);
pinMode(10, OUTPUT);
pinMode(9, OUTPUT);
pinMode(8, OUTPUT);
pinMode(5, OUTPUT);
pinMode(4, OUTPUT);
pinMode(3, OUTPUT);
dht.begin();
}
void loop() {
temperature = dht.readTemperature();
humidity = dht.readHumidity();
Serial.print(F("Humidity: "));
Serial.print(humidity);
Serial.print(F("% Temperature: "));
Serial.print(temperature);
Serial.println(F("°C "));
if (temperature<20){
if (i==0){
digitalWrite(5, 1);
digitalWrite(4, 0);
digitalWrite(3, 0);
i=1;
}
else {
digitalWrite(5, 0);
digitalWrite(4, 0);
digitalWrite(3, 0);
i=0;
}
}
if ((temperature>=20)&&(temperature<50)) {
if (i==0){
digitalWrite(5, 1);
digitalWrite(4, 1);
digitalWrite(3, 0);
i=1;
}
else {
digitalWrite(5, 1);
digitalWrite(4, 0);
digitalWrite(3, 0);
i=0;
}
}
if ((temperature>=50)&&(temperature<70)) {
if (i==0){
digitalWrite(5, 1);
digitalWrite(4, 1);
digitalWrite(3, 1);
i=1;
}
else {
digitalWrite(5, 1);
digitalWrite(4, 1);
digitalWrite(3, 0);
i=0;
}
}
if (temperature>=70){
digitalWrite(5, 1);
digitalWrite(4, 1);
digitalWrite(3, 1);
}
if (humidity<10){
if (h==0){
digitalWrite(11, 1);
digitalWrite(10, 0);
digitalWrite(9, 0);
digitalWrite(8, 0);
h=1;
}
else {
digitalWrite(11, 0);
h=0;
}
}
if ((humidity>=10)&&(humidity<45)) {
if (h==0){
digitalWrite(11, 1);
digitalWrite(10, 1);
digitalWrite(9, 0);
digitalWrite(8, 0);
h=1;
}
else {
digitalWrite(11, 1);
digitalWrite(10, 0);
h=0;
}
}
if ((humidity>=45)&&(humidity<60)) {
if (h==0){
digitalWrite(11, 1);
digitalWrite(10, 1);
digitalWrite(9, 1);
digitalWrite(8, 0);
h=1;
}
else {
digitalWrite(11, 1);
digitalWrite(10, 1);
digitalWrite(9, 0);
h=0;
}
}
if ((humidity>=60)&&(humidity<61)) {
if (h==0){
digitalWrite(11, 1);
digitalWrite(10, 1);
digitalWrite(9, 1);
digitalWrite(8, 1);
h=1;
}
else {
digitalWrite(11, 1);
digitalWrite(10, 1);
digitalWrite(9, 1);
digitalWrite(8, 0);
h=0;
}
}
if (humidity>=61){
digitalWrite(11, 1);
digitalWrite(10, 1);
digitalWrite(9, 1);
digitalWrite(8, 1);
}
delay(1400);
}