#include <DHT.h>
#define DHTPIN 16
#define DHTTYPE DHT22
#define SOIL_SENSOR 26
#define RAIN_SENSOR 27
#define RELAY_PIN 15
#define LED_PIN 17
#define BUTTON_PIN 14
DHT dht(DHTPIN, DHTTYPE);
int soilValue;
int rainValue;
float temperature;
float humidity;
void setup()
{
Serial.begin(115200);
pinMode(RELAY_PIN, OUTPUT);
pinMode(LED_PIN, OUTPUT);
pinMode(BUTTON_PIN, INPUT_PULLUP);
digitalWrite(RELAY_PIN, LOW);
digitalWrite(LED_PIN, LOW);
dht.begin();
}
void loop()
{
soilValue = analogRead(SOIL_SENSOR);
rainValue = analogRead(RAIN_SENSOR);
temperature = dht.readTemperature();
humidity = dht.readHumidity();
Serial.println("---------------");
Serial.print("Soil Moisture Value : ");
Serial.println(soilValue);
Serial.print("Rain Sensor Value : ");
Serial.println(rainValue);
Serial.print("Temperature : ");
Serial.println(temperature);
Serial.print("Humidity : ");
Serial.println(humidity);
if(soilValue < 2000 && rainValue > 2000)
{
digitalWrite(RELAY_PIN, HIGH);
digitalWrite(LED_PIN, HIGH);
Serial.println("Motor ON");
}
else
{
digitalWrite(RELAY_PIN, LOW);
digitalWrite(LED_PIN, LOW);
Serial.println("Motor OFF");
}
if(digitalRead(BUTTON_PIN) == LOW)
{
digitalWrite(RELAY_PIN, LOW);
digitalWrite(LED_PIN, LOW);
Serial.println("Manual Stop Button Pressed");
}
delay(2000);
}