Project Report Irrigation
Project Report Irrigation
Sr.
Roll No. URN Group Member Names Sign.
No.
Code:-
//Set the maximum wet and maximum dry value measured by the sensor
#include <Adafruit_SSD1306.h>
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <DHT.h>
#include <AceButton.h>
#define VPIN_MoistPer V1
Annasaheb Dange College of Engineering & Technology
Department of Electrical Engineering
Name of Document: Progress Report for Mini Project
Academic Year: 2023-24 Date:01/04/2024
#define VPIN_TEMPERATURE V2
#define VPIN_HUMIDITY V3
#define VPIN_MODE_SWITCH V4
#define VPIN_RELAY V5
int sensorVal;
int moisturePercentage;
int temperature1 = 0;
int humidity1 = 0;
ButtonConfig config1;
AceButton button1(&config1);
ButtonConfig config2;
AceButton button2(&config2);
BlynkTimer timer;
if (isconnected == false) {
digitalWrite(wifiLed, LOW);
if (isconnected == true) {
digitalWrite(wifiLed, HIGH);
//Serial.println("Blynk Connected");
BLYNK_CONNECTED() {
Blynk.syncVirtual(VPIN_MoistPer);
Blynk.syncVirtual(VPIN_RELAY);
Blynk.syncVirtual(VPIN_TEMPERATURE);
Blynk.syncVirtual(VPIN_HUMIDITY);
//Blynk.syncVirtual(VPIN_MODE_SWITCH);
Blynk.virtualWrite(VPIN_MODE_SWITCH, prevMode);
}
Annasaheb Dange College of Engineering & Technology
Department of Electrical Engineering
Name of Document: Progress Report for Mini Project
Academic Year: 2023-24 Date:01/04/2024
BLYNK_WRITE(VPIN_RELAY) {
if(!prevMode){
toggleRelay = param.asInt();
digitalWrite(RelayPin, toggleRelay);
else{
Blynk.virtualWrite(VPIN_RELAY, toggleRelay);
BLYNK_WRITE(VPIN_MODE_SWITCH) {
if(prevMode != param.asInt()){
prevMode = param.asInt();
digitalWrite(ModeLed, prevMode);
controlBuzzer(500);
digitalWrite(RelayPin, LOW);
toggleRelay = LOW;
Blynk.virtualWrite(VPIN_RELAY, toggleRelay);
}
Annasaheb Dange College of Engineering & Technology
Department of Electrical Engineering
Name of Document: Progress Report for Mini Project
Academic Year: 2023-24 Date:01/04/2024
digitalWrite(BuzzerPin, HIGH);
delay(duration);
digitalWrite(BuzzerPin, LOW);
display.clearDisplay();
display.setTextSize(2);
display.setCursor(30,2);
display.print(line1);
display.setTextSize(1);
display.setCursor(1,25);
display.print(line2);
display.display();
void getMoisture(){
sensorVal = analogRead(SensorPin);
Serial.print(moisturePercentage);
Serial.println(" %");
else{
Serial.println(sensorVal);
delay(100);
void getWeather(){
float h = dht.readHumidity();
if (isnan(h) || isnan(t)) {
return;
else {
humidity1 = int(h);
temperature1 = int(t);
// Serial.println(temperature1);
// Serial.println(humidity1);
}
Annasaheb Dange College of Engineering & Technology
Department of Electrical Engineering
Name of Document: Progress Report for Mini Project
Academic Year: 2023-24 Date:01/04/2024
void sendSensor()
Blynk.virtualWrite(VPIN_MoistPer, moisturePercentage);
Blynk.virtualWrite(VPIN_TEMPERATURE, temperature1);
Blynk.virtualWrite(VPIN_HUMIDITY, humidity1);
void controlMoist(){
if(prevMode){
if (toggleRelay == LOW){
controlBuzzer(500);
digitalWrite(RelayPin, HIGH);
toggleRelay = HIGH;
Blynk.virtualWrite(VPIN_RELAY, toggleRelay);
delay(1000);
if (toggleRelay == HIGH){
Annasaheb Dange College of Engineering & Technology
Department of Electrical Engineering
Name of Document: Progress Report for Mini Project
Academic Year: 2023-24 Date:01/04/2024
controlBuzzer(500);
digitalWrite(RelayPin, LOW);
toggleRelay = LOW;
Blynk.virtualWrite(VPIN_RELAY, toggleRelay);
delay(1000);
else{
button1.check();
void setup() {
Serial.begin(115200);
pinMode(RelayPin, OUTPUT);
pinMode(wifiLed, OUTPUT);
pinMode(ModeLed, OUTPUT);
pinMode(BuzzerPin, OUTPUT);
pinMode(RelayButtonPin, INPUT_PULLUP);
pinMode(ModeSwitchPin, INPUT_PULLUP);
Annasaheb Dange College of Engineering & Technology
Department of Electrical Engineering
Name of Document: Progress Report for Mini Project
Academic Year: 2023-24 Date:01/04/2024
digitalWrite(wifiLed, LOW);
digitalWrite(ModeLed, LOW);
digitalWrite(BuzzerPin, LOW);
config1.setEventHandler(button1Handler);
config2.setEventHandler(button2Handler);
button1.init(RelayButtonPin);
button2.init(ModeSwitchPin);
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
for(;;);
delay(1000);
display.setTextSize(1);
display.setTextColor(WHITE);
display.clearDisplay();
WiFi.begin(ssid, pass);
Blynk.config(auth);
//delay(1000);
controlBuzzer(1000);
Annasaheb Dange College of Engineering & Technology
Department of Electrical Engineering
Name of Document: Progress Report for Mini Project
Academic Year: 2023-24 Date:01/04/2024
digitalWrite(ModeLed, prevMode);
void loop() {
Blynk.run();
button2.check();
controlMoist();
Serial.println("EVENT1");
switch (eventType) {
case AceButton::kEventReleased:
//Serial.println("kEventReleased");
digitalWrite(RelayPin, !digitalRead(RelayPin));
toggleRelay = digitalRead(RelayPin);
Blynk.virtualWrite(VPIN_RELAY, toggleRelay);
break;
Serial.println("EVENT2");
switch (eventType) {
Annasaheb Dange College of Engineering & Technology
Department of Electrical Engineering
Name of Document: Progress Report for Mini Project
Academic Year: 2023-24 Date:01/04/2024
case AceButton::kEventReleased:
//Serial.println("kEventReleased");
digitalWrite(RelayPin, LOW);
toggleRelay = LOW;
Blynk.virtualWrite(VPIN_RELAY, toggleRelay);
prevMode = !prevMode;
digitalWrite(ModeLed, prevMode);
Blynk.virtualWrite(VPIN_MODE_SWITCH, prevMode);
controlBuzzer(500);
break;
}
Annasaheb Dange College of Engineering & Technology
Department of Electrical Engineering
Name of Document: Progress Report for Mini Project
Academic Year: 2023-24 Date:01/04/2024
Flow Chart:-
Annasaheb Dange College of Engineering & Technology
Department of Electrical Engineering
Name of Document: Progress Report for Mini Project
Academic Year: 2023-24 Date:01/04/2024