#include <DHTesp.h>
// Define pins
#define PUMP_RELAY 2
#define LIGHT_SENSOR 4
#define TEMP_SENSOR 22
#define WATER_SENSOR 21
// Define triggering value
#define PUMP_TRIGGERING_VALUE 640
// Defining variables for sensor Values
float lightValue;
float temperatureValue;
float waterValue;
// DHT Sensor
DHTesp dhtSensor;
void setup() {
Serial.begin(115200);
dhtSensor.setup(TEMP_SENSOR, DHTesp::DHT22);
// Defining pinmodes
pinMode(PUMP_RELAY, OUTPUT);
pinMode(LIGHT_SENSOR, INPUT);
pinMode(TEMP_SENSOR, INPUT);
pinMode(WATER_SENSOR, INPUT);
}
void loop() {
// Reading the analog values of sensors
lightValue = analogRead(LIGHT_SENSOR);
temperatureValue = dhtSensor.getTemperature();
waterValue = analogRead(WATER_SENSOR);
// Printing the Values
Serial.print("LightValue: ");
Serial.print(lightValue);
Serial.print(", TemperatureValue: ");
Serial.print(temperatureValue);
Serial.print(", WaterValue: ");
Serial.print(waterValue);
Serial.print("\n");
// Triggering relay if light is under
if (lightValue > PUMP_TRIGGERING_VALUE) {
digitalWrite(PUMP_RELAY, HIGH);
} else {
digitalWrite(PUMP_RELAY, LOW);
}
delay(1000);
}