#include "DHT.h"
#define DHTPIN 12
#define LEDpin 13
#define LDRpin 15
#define POTpin 4
#define Relay1 18
#define Relay2 19
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200);
dht.begin();
pinMode(LEDpin, OUTPUT);
pinMode(Relay1, OUTPUT);
pinMode(Relay2, OUTPUT);
}
void loop() {
float humi = dht.readHumidity();
float temp = dht.readTemperature();
int LDR = analogRead(LDRpin);
int POT = analogRead(POTpin);
if (isnan(humi) || isnan(temp)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
Serial.print("Humidity: ");
Serial.print(humi);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(temp);
Serial.println(" °C ");
Serial.print("Light: ");
Serial.print(LDR);
Serial.print("\t\t");
Serial.print("Soil Moisture: ");
Serial.println(POT);
//--------------- Light --------------
if(LDR > 1000) {
digitalWrite(LEDpin, HIGH);
}
else {
digitalWrite(LEDpin, LOW);
}
//--------------- DHT22 --------------
if(humi > 60) {
digitalWrite(Relay1, HIGH);
}
else {
digitalWrite(Relay1, LOW);
}
//--------------- Soil Moisture --------------
if(POT > 1500) {
digitalWrite(Relay2, HIGH);
}
else {
digitalWrite(Relay2, LOW);
}
delay(1000);
}