/* How to use the DHT-22 sensor with Arduino uno
Temperature and humidity sensor
More info: http://www.ardumotive.com/how-to-use-dht-22-sensor-en.html
Dev: Michalis Vasilakis // Date: 1/7/2015 // www.ardumotive.com
*/
//Libraries
#include <DHT.h>
#include <Wire.h>
//#include <lcd.h>
#include <LiquidCrystal_I2C.h>
//Constants
#define DHTPIN 7 // what pin the DHT22 Data is connected to
#define DHTTYPE DHT22 // DHT 22 (AM2302)
DHT dht(DHTPIN, DHTTYPE); //// Initialize DHT sensor for normal 16mhz Arduino
LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27, 16 column and 2 rows
//Variables
int chk;
float hum; //Stores humidity value
float tempC; //Stores temperature value Celcius
float tempF; //Stores temperature value Farenheit
void setup(){
lcd.init(); // initialize the lcd
lcd.backlight();
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
lcd.setCursor(0, 0); // move cursor to (0, 0)
lcd.print("Arduino"); // print message at (0, 0)
lcd.setCursor(1, 1); // move cursor to (1, 1)
lcd.print("Salman"); // print message at (1, 1)
Serial.begin(9600);
dht.begin();
lcd.begin(16,2);
lcd.init(); // initialize the lcd
lcd.backlight();
}
void loop(){
delay(500);
//Read data and store it to variables hum and temp
hum = dht.readHumidity();
tempC = dht.readTemperature();
//tempF = ((tempC * 1.8) + 32); //if you want to farenheit
//Print temp and humidity values to serial monitor
Serial.print("Humidity: ");
Serial.print(hum);
Serial.print(" %, Temp: ");
Serial.print(tempC);
Serial.println(" Celsius");
//Print temp and humidity values to LCD
lcd.setCursor(0,0);
lcd.print("Humidity: ");
lcd.print(hum);
lcd.print("%");
lcd.setCursor(0,1);
lcd.print("Temp: ");
lcd.print(tempC);
lcd.println(" C");
if(tempC > 30){
digitalWrite(11, LOW);
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
}
if(tempC > 15){
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
}
if(tempC <=15){
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
digitalWrite(13, LOW);
}
//delay(2000); //Delay 2 sec between temperature/humidity check
}