Irrigation system components

Automate irrigation system over internet

Posted by

Hello Sailors! We are back with one more awesome IOT project where we are going to automate irrigation system. The system can be used in homes to water the plants any time and can also be scheduled so even if you forget to water plants (lazy like me), just schedule the device and your plants get water regularly. That’s another great use of IOT, aah!

Overview

We are going to control an AC water pump using NodeMCU/ESP8266 and blynk application. The Blynk app will have a switch controlling the pump to switch ON/OFF and an Eventor widget to schedule our pump switching with time. This way plants can be irrigated by manual switching or by scheduling with time.

Things we need

If you have already setup the Time Scheduled electric switch go ahead to setup the water system because this is what we are going to use to schedule the watering of plants.

Note: Connect wire between NO and COM pin of relay because we want to switch ON the circuit at desired time.

Circuit

Irrigation circuit
Irrigation circuit

Blynk setup

  1. Create a New Project in BLYNK app.
  2. Write Project Name and Select NodeMCU from dropdown and WiFi as connection type.
  3. An AUTH token will be sent to your registered email, note this down.
  4. Tap on the screen and add the Eventor widget to the screen.
  5. Tap on the Eventor widget and click Add New Event.
  6. Select Time button and choose DAYS OF THE WEEK and START AT time and TIME ZONE. SET THE TIME, then tap OK.
  7. Now, select turn ON pin and add D5 pin as we have connected our relay to PIN D5. Tap OK to finalize your Start Event.
  8. Same way create a new event and select START time that will Switch OFF the relay at PIN D5.

Code

#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "YOUR_AUTH_ID";

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "WIFI_SSID";
char pass[] = "WIFI_PASSWORD";

void setup()
{
// Debug console
Serial.begin(115200);

Blynk.begin(auth, ssid, pass);
// You can also specify server:
//Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 8442);
//Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8442);
}

void loop()
{
Blynk.run();
// You can inject your own code or combine it with other sketches.
// Check other examples on how to communicate with Blynk. Remember
// to avoid delay() function!
}

Change the AUTH_KEY, SSID and PASSWORD before uploading the code to NodeMCU.

Water system setup

  • Cut out one piece of maximum 2 metres from 0.5 inch pipe and fix it’s one end to the water pump and other end to water splitter’s inlet. The motor I am using can throw water upto a height of 2 metres, so buy a good power pump if you need more height.

    Pipe pump connection
    Pipe pump connection
  • Now, cut out 3 pieces of 0.5 metre length and fix their one end to the water splitter and other one will go to the flowerpot. I am using a 3-way water splitter so, as per your requirement cut out the number of pieces.

    Pipe splitter connection
    Pipe splitter connection
  • Connect the live wire of water pump to the live wire line supply. And connect the neutral wire from water pump to the relay COM pin and another wire from power supply neutral to NO pin of relay.

    Blynk and Switch
    Blynk and Switch
  • Dip the pump into the water container.

    Pump in container
    Pump in container

Considering, you have setup Blynk app, uploaded the code to NodeMCU and setup the Water system you are good to go ahead and switch on the power supply.

Try to push water a little upwards from the container because having container and flowerpot at the same level might cause water to flow out even after the pump is OFF.

We are successful to automate irrigation system. Your plants will have water on the scheduled time. Ho, Lazy you!

PS: In this project I have used motor pump, a Solenoid Valve can also be used to control the water flow as an alternative.

If you face any problem in the setup, please write to me at prakhar@knowshipp.com or ask in the comments section.

Leave a Reply

Your email address will not be published. Required fields are marked *