Anda di halaman 1dari 3

#include <Wire.

h>
#include <Servo.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,4); // set the LCD address to 0x27 for a 16 chars
and 4 line display
#include "DHT.h"
#define DHTPIN 9 // digital pin we're connected to
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
Servo myservo; // create servo object to control a servo
DHT dht(DHTPIN, DHTTYPE);
int MOTOR = 2; // here we declare all the output
int FAN = 3;
int Light = 5;

const int LDR = 8;


const int RAIN_SENSOR = 6;
const int SOIL_MOISTURE_SENSOR = 7;

int LDR_State = 0;
int RAIN_SENSOR_State = 0;
int SOIL_MOISTURE_SENSOR_State = 0;

void setup()
{
lcd.init(); // initialize the lcd
lcd.init();
// Print a message to the LCD.
lcd.backlight();
dht.begin();
lcd.setCursor(1,1);
lcd.print("Green House Project");
lcd.setCursor(1,2);
lcd.print(" (Automation) ");
delay(2000);
lcd.clear();
lcd.setCursor(0,1);
lcd.print("Submitted to:");
lcd.setCursor(0,2);
lcd.print(" Dr. Ahsan Sattar");
delay(2000);
lcd.clear();
lcd.setCursor(0,1);
lcd.print(" Submitted by:");
delay(2000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("1. C.R Bilal");
lcd.setCursor(0,1);
lcd.print("2. M.ADEEL sajid");
lcd.setCursor(0,2);
lcd.print("3. M.yousaf");
lcd.setCursor(0,3);
lcd.print("4. G.mustafa");
delay(2000);
lcd.clear();
myservo.attach(10);
pinMode(LDR ,INPUT);
pinMode(RAIN_SENSOR ,INPUT);
pinMode(SOIL_MOISTURE_SENSOR ,INPUT);

pinMode(MOTOR ,OUTPUT);
pinMode(FAN , OUTPUT);
pinMode(Light ,OUTPUT);

digitalWrite(MOTOR , HIGH);
digitalWrite(FAN , HIGH);
digitalWrite(Light ,HIGH);

void LUMP_CONTROLLER()
{
lcd.setCursor(0,1);
lcd.print("Light:");
LDR_State = digitalRead(LDR);
if (LDR_State == HIGH) {
lcd.setCursor(6,1);
lcd.print("NIGHT(LUMP ON)");
digitalWrite(Light, LOW);
} else {
lcd.setCursor(6,1);
lcd.print("DAY (LUMP OFF)");
digitalWrite(Light, HIGH);
}
}

void Pump_CONTROLLER()
{
lcd.setCursor(0,2);
lcd.print("Soil :");
SOIL_MOISTURE_SENSOR_State = digitalRead(SOIL_MOISTURE_SENSOR);
if (SOIL_MOISTURE_SENSOR_State == LOW) {
lcd.setCursor(6,2);
lcd.print("PUMP ON ");
digitalWrite(MOTOR, LOW);
} else {
lcd.setCursor(6,2);
lcd.print("PUMP OFF ");
digitalWrite(MOTOR, HIGH);
}
}

void Temperature_Reading()
{
lcd.setCursor(0,3);
lcd.print("Temp.:");
float t = dht.readTemperature();
lcd.setCursor(6,3);
lcd.print(t);
if (t > 18) {
lcd.setCursor(11,3);
lcd.print("(FAN-ON )");
digitalWrite(FAN , LOW);
} else {
lcd.setCursor(11,3);
lcd.print("(FAN-OFF)");
digitalWrite(FAN , HIGH);
}
}

void Rain_Reading()
{
// shad close at 75 and open at 180
RAIN_SENSOR_State = digitalRead(RAIN_SENSOR);
if (RAIN_SENSOR_State == HIGH) {

myservo.write(145);
} else {
myservo.write(85);
}
}
void loop()
{
lcd.setCursor(0,0);
lcd.print("Green House Project");
Temperature_Reading();
LUMP_CONTROLLER();
Pump_CONTROLLER();
Rain_Reading();
}

Anda mungkin juga menyukai