#include "DHT.h"
#include "Wire.h"
#include "LiquidCrystal_I2C.h"
LiquidCrystal_I2C lcd(0x27, 16, 2);
void lcdI2C()
{
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Humidity=");
lcd.setCursor(0, 1);
lcd.print("Temperature=");
}
#define DHTPIN 22
#define DHTTYPE DHT22
#define INTERVAL_GET_DATA 2000
DHT dht(DHTPIN, DHTTYPE);
unsigned long millis_int1=0;
void setup() {
lcdI2C();
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
Serial.begin(9600);
dht.begin();
}
void loop() {
if(millis()-millis_int1 >= INTERVAL_GET_DATA) {
int humidity = get_data_humidity();
int temperature = get_data_temperature();
Serial.print("humidity=");
Serial.println(humidity);
lcd.setCursor(9, 0);
lcd.print(humidity);
if(humidity < 25) {
digitalWrite(12, HIGH);
}
else {
digitalWrite(12, LOW);
}
Serial.print("temperature=");
Serial.println(temperature);
lcd.setCursor(12, 1);
lcd.print(temperature);
if(temperature > 36) {
digitalWrite(13, HIGH);
}
else {
digitalWrite(13, LOW);
}
millis_int1 = millis();
}
}
int get_data_humidity() {
int h = dht.readHumidity();
return h;
}
int get_data_temperature() {
int t = dht.readTemperature();
return t;
}