Introduction: WATERING SYSTEM - INTRODUCTION
INTRODUCTION & OBJECTIVES:
I is a simple system, using Arduino to automate the irrigation and watering of small potted plants or crops.
This system does the control of soil moisture, doing indications via LEDs and in case of dry soil emitting a alarm beep. In case of dry soil it will activate the irrigation system pumping water for watering plants.
The system uses a LCD display to notify all actions that are taking place and a real time clock.
The Theory (from Wikipedia):
Water content or moisture content is the quantity of water contained in a material, such as soil (called soil moisture), rock, ceramics, fruit, or wood. Water content is used in a wide range of scientific and technical areas, and is expressed as a ratio, which can range from 0 (completely dry) to the value of the materials' porosity at saturation. It can be given on a volumetric or mass (gravimetric) basis.
Volumetric water content, θ, is defined mathematically as:
where is the volume of water and is the total volume (that is soil volume + water volume + air space).
Gravimetric water content[1] is expressed by mass (weight) as follows:
where is the mass of water and is the bulk mass. The bulk mass is taken as the total mass, except for geotechnical and soil science applications where oven-dried soil (, see the diagram) is conventionally used as .
To convert gravimetric water content to volumetric water, multiply the gravimetric water content by the bulk specific gravity of the material.
In soil mechanics and petroleum engineering, the term water saturation or degree of saturation, is used, defined as
where is the porosity and is the volume of void or pore space. Values of Sw can range from 0 (dry) to 1 (saturated). In reality, Sw never reaches 0 or 1 - these are idealizations for engineering use.
The normalized water content, , (also called effective saturation or ) is a dimensionless value defined by van Genuchten[2] as:
where is the volumetric water content; is the residual water content, defined as the water content for which the gradient becomes zero; and, is the saturated water content, which is equivalent to porosity, .
I is a simple system, using Arduino to automate the irrigation and watering of small potted plants or crops.
This system does the control of soil moisture, doing indications via LEDs and in case of dry soil emitting a alarm beep. In case of dry soil it will activate the irrigation system pumping water for watering plants.
The system uses a LCD display to notify all actions that are taking place and a real time clock.
The Theory (from Wikipedia):
Water content or moisture content is the quantity of water contained in a material, such as soil (called soil moisture), rock, ceramics, fruit, or wood. Water content is used in a wide range of scientific and technical areas, and is expressed as a ratio, which can range from 0 (completely dry) to the value of the materials' porosity at saturation. It can be given on a volumetric or mass (gravimetric) basis.
Volumetric water content, θ, is defined mathematically as:
where is the volume of water and is the total volume (that is soil volume + water volume + air space).
Gravimetric water content[1] is expressed by mass (weight) as follows:
where is the mass of water and is the bulk mass. The bulk mass is taken as the total mass, except for geotechnical and soil science applications where oven-dried soil (, see the diagram) is conventionally used as .
To convert gravimetric water content to volumetric water, multiply the gravimetric water content by the bulk specific gravity of the material.
In soil mechanics and petroleum engineering, the term water saturation or degree of saturation, is used, defined as
where is the porosity and is the volume of void or pore space. Values of Sw can range from 0 (dry) to 1 (saturated). In reality, Sw never reaches 0 or 1 - these are idealizations for engineering use.
The normalized water content, , (also called effective saturation or ) is a dimensionless value defined by van Genuchten[2] as:
where is the volumetric water content; is the residual water content, defined as the water content for which the gradient becomes zero; and, is the saturated water content, which is equivalent to porosity, .
Step 1: HARDWARE & MATERIALS
To accomplish this project, you will need:
1 x Arduino UNO MEGA Duemilanove or Teensy 2.0 +
1 x LCD display with I2C communication
1 x RTC module with I2C communication
1 x Relay Module opto-coupled to 250V/10A
2 x Modules "Driver" LM-393 general purpose
1 x Soil Moisture Sensor (Hygrometer) KDQ11
1 x Water Level Sensor (Homemade)
1 x Buzzer piezoelectric
2 x LEDs - 10mm, Green
1 x LED - 10mm, Red
1 x LED - 10mm, Yellow
4 x Resistors 150 Ohm 1/4 W
1 x Water pump for aquarium, with filter system (127 or 220V)
1 x Electric Power Cable, 127/220VAC - 10Amps
1 x Socket 127/220VAC - 10 Amps
Wires and cables for connections and communication
You can purchase the soil moisture sensor and "Driver" on ebay.
http://www.ebay.com/itm/KDQ11-MOISTURE-SENSOR-KIT-URBAN-GARDEN-TOOL-SOIL-MOISTURE-SENSOR-SCA-1703-/221227848188?pt=LH_DefaultDomain_0&hash=item33823511fc
You can purchase the soil moisture sensor and "Driver" on ebay.
http://www.ebay.com/itm/1-Channel-5V-Relay-Module-Shield-for-Arduino-uno-1280-2560-ARM-PIC-AVR-DSP-/271117672120?pt=LH_DefaultDomain_0&hash=item3f1fdf5eb8
1 x Arduino UNO MEGA Duemilanove or Teensy 2.0 +
1 x LCD display with I2C communication
1 x RTC module with I2C communication
1 x Relay Module opto-coupled to 250V/10A
2 x Modules "Driver" LM-393 general purpose
1 x Soil Moisture Sensor (Hygrometer) KDQ11
1 x Water Level Sensor (Homemade)
1 x Buzzer piezoelectric
2 x LEDs - 10mm, Green
1 x LED - 10mm, Red
1 x LED - 10mm, Yellow
4 x Resistors 150 Ohm 1/4 W
1 x Water pump for aquarium, with filter system (127 or 220V)
1 x Electric Power Cable, 127/220VAC - 10Amps
1 x Socket 127/220VAC - 10 Amps
Wires and cables for connections and communication
You can purchase the soil moisture sensor and "Driver" on ebay.
http://www.ebay.com/itm/KDQ11-MOISTURE-SENSOR-KIT-URBAN-GARDEN-TOOL-SOIL-MOISTURE-SENSOR-SCA-1703-/221227848188?pt=LH_DefaultDomain_0&hash=item33823511fc
You can purchase the soil moisture sensor and "Driver" on ebay.
http://www.ebay.com/itm/1-Channel-5V-Relay-Module-Shield-for-Arduino-uno-1280-2560-ARM-PIC-AVR-DSP-/271117672120?pt=LH_DefaultDomain_0&hash=item3f1fdf5eb8
Step 2: COMPONENTS
In the Pictures you have an overview of the components used.
Data from the soil moisture sensor set:
When the soil is dry, the impedance will be high and the LM-393 will show a high value on the output.
When the soil is wet, it will show a low value in the output.
The 3 LEDs range can be defined as:
- Soggy soil - moisture between 0 and 500;
- Wet soil - moisture between 500 and 800;
- Dry soil - moisture between 800-1023;
The module has one digital output and an analog output. (in the project, should be used to analog output)
The water level sensor:
This sensor must be made (homemade) on phenolite board, with spacings of 1 mm between trails and trails with 1 mm of thickness.
Data from the soil moisture sensor set:
When the soil is dry, the impedance will be high and the LM-393 will show a high value on the output.
When the soil is wet, it will show a low value in the output.
The 3 LEDs range can be defined as:
- Soggy soil - moisture between 0 and 500;
- Wet soil - moisture between 500 and 800;
- Dry soil - moisture between 800-1023;
The module has one digital output and an analog output. (in the project, should be used to analog output)
The water level sensor:
This sensor must be made (homemade) on phenolite board, with spacings of 1 mm between trails and trails with 1 mm of thickness.
Step 3: INTERCONNECTION & DIAGRAM:
Below you have:
1 - a block diagram;
2 - an interconnection diagram (in manuscript);
3 - a wiring diagram;
4 – usability principles
These diagrams are describing the main system interconnections.
You can get the original of this file by accessing the "GOOGLE driver" below:
https://docs.google.com/file/d/0B_YlEklLDDS7SllRMzUyQlhHVDg/edit?usp=sharing
https://docs.google.com/file/d/0B_YlEklLDDS7RkNMZko2ckhLcUU/edit?usp=sharing
https://docs.google.com/file/d/0B_YlEklLDDS7Ym52UE1qcGlqQVE/edit?usp=sharing
https://docs.google.com/file/d/0B_YlEklLDDS7Z3hZY3pNZ0NWZG8/edit?usp=sharing
*********************************************************************************************************************************************
*********************************************************************************************************************************************
Please, fix an error in your "interconnection diagram (in manuscript)" diagram:
The level sensor must be connected to pin A0 of Arduino and the soil moisture sensor must be connected to pin A1 of arduino.
*********************************************************************************************************************************************
*********************************************************************************************************************************************
Description of the main connections:
RTC <-> Arduino:
GND <-> GND
+5 V <-> +5 V
SDA <-> A4
SCL <-> A5
Relay <-> Arduino:
GND <-> GND
+5 V <-> +5 V
IN <-> D7
LCD <-> Arduino:
GND <-> GND
+5 V <-> +5 V
SDA <-> A4
SCL <-> A5
BUZZER <-> Arduino:
+ <-> D2
- <-> GND
LM-393 DRIVER (moisture sensor) <-> Arduino
GND <-> GND
+5 V <-> +5 V
OUT <-> A1
LM-393 DRIVER (water sensor level) <-> Arduino
GND <-> GND
+5 V <-> +5 V
OUT <-> A0
Other Components <-> Function <-> Arduino
Red LED <-> Dry soil <-> D5
Yellow LED <-> Soggy soil <-> D3
Green LED <-> Moist soil <-> D4
Green LED <-> Water Pump <-> D6
1 - a block diagram;
2 - an interconnection diagram (in manuscript);
3 - a wiring diagram;
4 – usability principles
These diagrams are describing the main system interconnections.
You can get the original of this file by accessing the "GOOGLE driver" below:
https://docs.google.com/file/d/0B_YlEklLDDS7SllRMzUyQlhHVDg/edit?usp=sharing
https://docs.google.com/file/d/0B_YlEklLDDS7RkNMZko2ckhLcUU/edit?usp=sharing
https://docs.google.com/file/d/0B_YlEklLDDS7Ym52UE1qcGlqQVE/edit?usp=sharing
https://docs.google.com/file/d/0B_YlEklLDDS7Z3hZY3pNZ0NWZG8/edit?usp=sharing
*********************************************************************************************************************************************
*********************************************************************************************************************************************
Please, fix an error in your "interconnection diagram (in manuscript)" diagram:
The level sensor must be connected to pin A0 of Arduino and the soil moisture sensor must be connected to pin A1 of arduino.
*********************************************************************************************************************************************
*********************************************************************************************************************************************
Description of the main connections:
RTC <-> Arduino:
GND <-> GND
+5 V <-> +5 V
SDA <-> A4
SCL <-> A5
Relay <-> Arduino:
GND <-> GND
+5 V <-> +5 V
IN <-> D7
LCD <-> Arduino:
GND <-> GND
+5 V <-> +5 V
SDA <-> A4
SCL <-> A5
BUZZER <-> Arduino:
+ <-> D2
- <-> GND
LM-393 DRIVER (moisture sensor) <-> Arduino
GND <-> GND
+5 V <-> +5 V
OUT <-> A1
LM-393 DRIVER (water sensor level) <-> Arduino
GND <-> GND
+5 V <-> +5 V
OUT <-> A0
Other Components <-> Function <-> Arduino
Red LED <-> Dry soil <-> D5
Yellow LED <-> Soggy soil <-> D3
Green LED <-> Moist soil <-> D4
Green LED <-> Water Pump <-> D6
Step 4: SOFTWARE & PROGRAMMING:
You can download freely the code for this project in the "GOOGLE driver":
https://docs.google.com/file/d/0B_YlEklLDDS7T3JFX...
Or on the GitHub:
Any problems, questions and suggestions, please send an email to:
arduinobymyself@gmail.com
Step 5: TESTS & ADJUSTMENTS
Below is a picture with an example of how the system works and how the tests should be performed.
Logically, as the system has an hour pre set to operate, you can change the time via software for the time you will do the tests, and after you can adjust the operational "time".
Logically, as the system has an hour pre set to operate, you can change the time via software for the time you will do the tests, and after you can adjust the operational "time".
Step 6: VIDEOS & PHOTOS:
Questions and suggestions send to: arduinobymyself@gmail.com
Part 1:
http://youtu.be/_jcDxYK33ew
Part 3:
http://youtu.be/Czvxi1r21Zc
Part 1:
http://youtu.be/_jcDxYK33ew
Part 3:
http://youtu.be/Czvxi1r21Zc