#include <LiquidCrystal_I2C.h>
#include "DHT.h"
#define DHTPIN 7
#define DHTTYPE DHT22
LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x3F, 16 column and 2 rows
DHT dht(DHTPIN, DHTTYPE);
void setup()
{
dht.begin(); // initialize the sensor
lcd.init(); // initialize the lcd
lcd.backlight(); // open the backlight
pinMode (13,OUTPUT);
pinMode (12, OUTPUT);
pinMode (8, OUTPUT);
}
void loop()
{
delay(2000); // wait a few seconds between measurements
float humi = dht.readHumidity(); // read humidity
float tempC = dht.readTemperature(); // read temperature
lcd.clear();
if (tempC > 33){
lcd.setCursor(0, 0); // start to print at the first row
lcd.print("Temp: ");
lcd.print(tempC); // print the temperature
lcd.print((char)223); // print ° character
lcd.print("C");
lcd.setCursor(0, 1); // start to print at the second row
lcd.print("Humi: ");
lcd.print(humi); // print the humidity
lcd.print("%");
lcd.setCursor (11,1);
lcd.print("HIGH");
digitalWrite (13, HIGH);
digitalWrite (12, LOW);
digitalWrite (8, LOW);
}
if (tempC < 31){
lcd.setCursor(0, 0); // start to print at the first row
lcd.print("Temp: ");
lcd.print(tempC); // print the temperature
lcd.print((char)223); // print ° character
lcd.print("C");
lcd.setCursor(0, 1); // start to print at the second row
lcd.print("Humi: ");
lcd.print(humi); // print the humidity
lcd.print("%");
lcd.setCursor (11,1);
lcd.print("LOW");
digitalWrite (13, LOW);
digitalWrite (12, HIGH);
digitalWrite (8, LOW);
}
if (tempC == 31.2 && tempC == 33 && tempC ==32) {
lcd.setCursor(0, 0); // start to print at the first row
lcd.print("Temp: ");
lcd.print(tempC); // print the temperature
lcd.print((char)223); // print ° character
lcd.print("C");
lcd.setCursor(0, 1); // start to print at the second row
lcd.print("Humi: ");
lcd.print(humi); // print the humidity
lcd.print("%");
lcd.setCursor (11,1);
lcd.print("AMBIENT");
digitalWrite (13, LOW);
digitalWrite (12, LOW);
digitalWrite (8, HIGH);
}
}