Giter Site home page Giter Site logo

darrencardenas / arduino-irrigate Goto Github PK

View Code? Open in Web Editor NEW
6.0 1.0 2.0 27.1 MB

An arduino-based irrigation system for home gardening

License: GNU General Public License v3.0

C++ 100.00%
arduino garden gardening esp8266 esp8266-arduino solenoidvalves watering-plants watering-system watering-controller arduino-uno

arduino-irrigate's Introduction

arduino-irrigate

Introduction

This project contains code, schematics, build plans, and 3D models to construct an automated garden watering system. The main components of the system are an Arduino Uno Rev3 microcontroller board, a soil moisture sensor, and a water solenoid valve. The water solenoid valve is connected to a garden hose and a suitable watering device, such as a sprinkler or sprayer. I used an old garden hose with holes drilled into it.

Installed System

Watering Video



Operation

At a set time interval, the Arduino checks the moisture sensor for a minimum value. If the reading is below the minimum value, the water valve is opened for a period of time. The moisture readings are sent via email and text message. The readings are also saved to a publicly viewable IoT website to store data and generate graphs.

Moisture Graph           Text Message



Features

  • Allows customizable intervals for soil moisture checks and watering
  • Leverages waterproof enclosures and cabling
  • Sends email and text message (SMS) status updates
  • Provides data monitoring via website
  • Supports WiFi data transmission using an ESP8266 module
  • Powered by a single +12VDC source

Top Down View



Schematic Diagram



Arduino Code

Developed in Arduino IDE 1.8.9.

INO file



Arduino Proto Shield Layout

I used screw terminal blocks and a 2x4 female header to allow for easy disassembly.



3D Printed Models

I designed a custom waterproof enclosure to house the water solenoid valve. I used PETG filament and 0.3mm layer height. Enclosure was printed with 10% infill and supports. Lid was printed with 50% infill and no supports. I cut a square using gasket material and punched holes for stainless steel screws.


  



Water Solenoid Valve Enclosure

To install the solenoid valve, insert the bulkhead adapters into the enclosure first. Then, connect the valve to one of the bulkhead adapters by turning the adapter from outside of the enclosure. After tightening the first adapter, there should be enough clearance to attach the second adapter. Then install the bulkhead rubber washers and locknuts. The pipe fittings require teflon tape or thread sealant for leak-proof operation.

Valve Assembly 1

Valve Assembly 2

Valve Assembly 3

Valve Assembly 4



Arduino Enclosure

Adafruit provides excellent instructions for the initial set up of the Arduino proto shield. Install screws and standoffs on the Arduino and relay module. Then use some kind of adhesive to bond the standoffs to the inside of the enclosure. I used acrylic cement.

Arduino Enclosure 1

Arduino Enclosure 2

Arduino Enclosure 3

Arduino Enclosure 4

Arduino Enclosure 5



Set Up

  • Update the code to include your SSID name/password, ThingSpeak Write API key, and SMTP2GO username/password.
  • Update the email sender and recipient lists in the code.
  • Update the moisture check interval and watering period in the code.
  • Update the MOISTURE_MAX value in the code by taking readings with the sensor blade fully submerged in water.
  • Update the MOISTURE_THRESHOLD value in the code with your desired value.
  • Ensure water pressure going to the water solenoid valve is at least 3PSI.
  • The water solenoid valve is uni-directional. Confirm water flow will be in the correct direction.

arduino-irrigate's People

Contributors

darrencardenas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

albaniac rasho

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.