#include "DHT.h"
#define DHTNAME DHT22 //HERE WE SAY THE TYPE OF DHT WHICH IS DHT22
#define sensor_pin 6 //HERE IS PIN WHERE DHT IS CONNECTED TO
DHT sensor(sensor_pin,DHTNAME); //HERE WE CREATED THE OBJECT THAT WILL BE USED IN THE WHOLE PROGRAM WHICH IS SENSOR AND ASIGN IT TO THE PINS AND TYPE OF DHT
int heat_ing=9; //PIN OF HEATING THAT WILL BE HIGH WHEN THEIR IS TOO MUCH COLDNESS ACCORDING TO THE RANGE WE MADE , RED WILL INDICATE
int cool_ing=10; //PIN OF COOLING THAT WILL BE HIGH WHEN THEIR IS TOO MUCH HEAT ACCORDING TO THE RANGE WE MADE , RED WILL INDICATE
int humiditi_fier=11; //PIN THAT SUPPLIES THE HUMIDIFIER TO BE LOW OR HIGH , RED WILL INDICATE
void setup() {
// put your setup code here, to run once:
sensor.begin(); //INITIALISING THE DHT TO START
Serial.begin(9600); //INITIALISING THE SERIAL MONITOR
pinMode(heat_ing, OUTPUT);
pinMode(cool_ing, OUTPUT); //TELLING THE ARDUINO WHAT THESE PIN ARE THEIR FOR
pinMode(humiditi_fier, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
float Hum=sensor.readHumidity(); //READING HUMIDITY FROM THE DHT
float Temp=sensor.readTemperature(); //READING TEMPERATURE IN CELCIUS FROM THE DHT
Serial.print("TEMP: ");
Serial.print(Temp);
Serial.print(" C");
Serial.print(" , HUM: ");
Serial.print(Hum);
Serial.println(" %");
if(Temp<15) //TEST STATEMENT IF TEMPERATURE WE HAVE READ ON DHT IS LESS THAN 15 THEN , IT MEANS THEIR IS TOO MUCH COLDNESS THEN HEATING SYSTEM WILL BE ON
{
digitalWrite(heat_ing, HIGH);
digitalWrite(cool_ing, LOW);
}
if(Temp>24) //TEST STATEMENT IF TEMPERATURE WE HAVE READ ON DHT IS GREAT THAN 24 THEN , IT MEANS THEIR IS TOO MUCH HEAT THEN COOLING SYSTEM WILL BE ON
{
digitalWrite(heat_ing, LOW);
digitalWrite(cool_ing, HIGH);
}
if(Temp>=15&&Temp<=24) //TEST STATEMENT IF TEMPERATURE IS GREAT OR EQUAL TO 15 AND ALSO TEMPERATURE IS LESS OR EQUAL TO 24 ,IT MEANS OUR CROP ARE IN SAFE CONDITION
{
digitalWrite(heat_ing, LOW);
digitalWrite(cool_ing, LOW);
}
if(Hum<70) //TEST STATEMENT IF HUMIDITY IS LESS THAN 70 THEN HUMIDIFIER THAT REGULATES HUMIDITY WILL BE ON
{
digitalWrite(humiditi_fier,HIGH);
}
if(Hum>=70&&Hum<=90) //TEST STATEMENT IF HUMIDITY IS GREAT OR EQUAL TO 70 AND HUMIDITY LESS OR EQUAL TO 90 THEN IT MEANS IT IS GOOD CONDITION HUMIDIFIER WILL BE LOW
{
digitalWrite(humiditi_fier,LOW);
}
delay(500); //DELAY THE STARTING OF THE LOOP FOR 5 SECONDS
}