Garduino-Automated Gardening System using Arduino

30,806

Circuit Image

This guide explains how to set up an automated gardening system using an Arduino and other inexpensive electronic components. The system promotes sustainable gardening by utilizing sensors to measure soil moisture and a web scraper to forecast future weather conditions. The collected data optimizes water usage by applying only the necessary amount. Project requirements include soldering skills, basic programming knowledge, and considerable patience for debugging. The moisture sensors function based on the resistivity of water to assess soil moisture levels. They measure resistance between two nails by passing a current through one and detecting the corresponding voltage drop across a known resistor value. Higher water content results in lower resistance, allowing for the determination of moisture threshold values. Although a circuit board diagram will be provided, initial construction on a breadboard is recommended for better understanding and troubleshooting. Each sensor consists of two nails, a 100-ohm resistor, and a 100 K-ohm resistor. A casing made from acrylic tubes was created for each sensor, although it is not mandatory. The first step involves selecting two nails of equal length, preferably longer and non-galvanized, as galvanized nails are ineffective. Wires should be soldered to each nail, with flexible woven wire recommended to reduce breakage during use. To prevent overheating, the nails must be heated before soldering, which can be accomplished using a hotplate. The next step is to connect the nails to the Arduino according to the provided circuit diagram. The sensor operates by generating an alternating current through the two nails. The analog voltage is then read, allowing for the inference of moisture levels. The complete project code will be made available. A photo of the finished sensor with acrylic covering will be included. An input voltage is read into a multiplexer from a voltage divider created by the 100 K-ohm resistor. The 100-ohm resistor attached to the other lead of the sensor serves as a current limiter, protecting the Arduino from short-circuiting. A hollow acrylic tube is used, with a pointed front featuring two holes for the nails, and the bottom is sealed with silicone glue to prevent water ingress. It is crucial to ensure that the nails do not touch, as this would create a short circuit. A rubber stopper seals the top. Maintaining equal spacing between the nails on each moisture sensor is vital, as any discrepancies could affect the resistivity readings. To enhance performance, three soil moisture sensors were employed; however, depending on other components connected to the Arduino, there may not be sufficient analog pins available. This issue was resolved by incorporating a multiplexer, which enables switching between and reading from each of the three sensor pairs. The circuit diagram is provided below.

The automated gardening system utilizes an Arduino microcontroller as the central processing unit, interfacing with soil moisture sensors that measure the resistivity of the soil to determine moisture levels. The system employs a simple voltage divider circuit formed by the 100 K-ohm resistor and the sensor, allowing the Arduino to read the analog voltage that corresponds to the soil moisture level. The use of a multiplexer is essential when multiple sensors are employed, as it allows for the selection of which sensor's output to read at any given time, conserving the limited number of analog input pins available on the Arduino.

The moisture sensors consist of two conductive nails placed in the soil, which act as electrodes. The resistivity of the soil changes based on the moisture content, which is measured by the voltage drop across the known resistor when current flows through the nails. The Arduino is programmed to read these values at regular intervals and determine when to activate a water pump or irrigation system based on predefined moisture thresholds.

The construction of the sensors involves careful soldering of wires to the nails, ensuring robust connections. Heating the nails before soldering helps to improve the quality of the solder joint. The acrylic casing provides protection for the sensors while allowing moisture to enter. Proper sealing with silicone glue prevents water from damaging the electronic components.

In summary, this automated gardening system not only conserves water but also promotes sustainable gardening practices by providing real-time data on soil conditions, enabling efficient resource management. The integration of sensors and microcontroller technology facilitates a hands-free gardening experience, making it suitable for urban and rural gardening applications alike.This instructable is a guide for setting up an automated gardening system using an arduino and other cheap electronic parts. It allows sustainable gardeningby using sensors to determinesoil moisture, as well as a webscraper to determinefuture weather.

It uses this information tosave water by only using the requisite amount. Requirements for this pr oject include experience soldering, some basic programming experience, and much patience for debugging. The moisture sensors rely on the resistivity of water to determine themoisture level of the soil. The sensors measure the resistance between two separate nailsby sending a current through one of them and reading a corresponding voltage drop due to a known resistor value.

The more water the lower the resistance, and using this we can determine threshold values for moisture content. While we will include a circuit board diagram, we recommend building the circuits on a breadboard first which will allow for both understanding and debugging.

Each sensor uses two nails, a 100 ohm resistor, anda 100 K-ohm resistor. We built a casing for each sensor with acrylic tubes, however this is not necessary. The first step is to find two equal length nails of any type, although we found that longer and non-galvanized nails worked best (galvanized nails do not work at all). Next, a wire needs to be soldered to each nail. It is best to use weaved wire since it is flexible and less likely to break during use. The nails act as a heat sink, and to counteract this they must be heated before soldering. A hotplate was used to get the nails very hot. The next step is to wire the nails to the arduino. Use the circuit diagram provided. The sensor works by sending a fake AC current by alternating DC current between the two nails. Theanalog voltage is then read anda moisture level can be inferred. Our code for the whole project will be available. A picture of the finishedsensor with acrylic covering is on the next page. We read an input voltage into a multiplexor from a voltage dividor created by the 100K resistor. The 100 Ohm resistor, attached to the other lead of the sensor, is used for current limiting. Current limiting imposes an upper limit on the current coming into the arduino, which protects it from short-circuiting.

Take a hollow acrylic tube and attach it to a pointed front with two holes for nails. Seal the bottom from water with silicone glue. Make sure that the nails are not touching as this will short the circuit. Use a rubber stopper to seal the top. It is important that the nails be equal distances apart on each of the moisture sensors, as any variation could affect resistivity readings from one or more of the probes. To improve performance we used three soil moisture sensors. However, there may not be enough analog pins on thearduino to accommodate all of these depending on what other attachments you are using.

We solved this problem by using a multiplexer, which allowed us to switch between and read from each of the three pairs of sensors. The circuit diagram is given below. 🔗 External reference




Warning: include(partials/cookie-banner.php): Failed to open stream: Permission denied in /var/www/html/nextgr/view-circuit.php on line 713

Warning: include(): Failed opening 'partials/cookie-banner.php' for inclusion (include_path='.:/usr/share/php') in /var/www/html/nextgr/view-circuit.php on line 713