Bitraf Green Card
Pump control with arduino. Primarily for watering of plants but feel free to hack it and find other uses.
We envision that this packet will be the common pump control start kit for several different plant growing projects at bitraf.
- Virtual breadboard test run the software
- Google spreadsheet with all the project background (live-wiki)
- Bitraf-Green-Card github repository for sharing all the schematics, software and drawings the project generates
- Arduinio UNO, since we sell them at bitraf
- Assorted components (Please fill in.)
- 2 of 12V pumps
- 2 soil moisture sensors (tons are available online, see example)
The latest version of Bitraf-Green-Card can be found at Github. Version history:
Version 0.1 - "SoilMoistBasic"
- To test the concept of a automatic watering system
- Pumps water for 1 second after 6 seconds if the moisture sensor is dry.
- Created 22 Jan 2015
- By Jakob Nilsson
- No Rights Reserved
In and outputs
- 2 outputs 12V >1A outputs to drive two pumps
- 2 inputs for moisture sensors
- 12V input
- Independent for the two pumps and sensors
- Pump water for a preset intervall at preset intevalls
- Detect if soil is moist or dry with a adjustable moisture level (trim-screw)
- Possibility to choose not to pump depending on if the soil is dry or not
- Reprogrammable via USB
Examples of use; check once per 24h or every 5 seconds
Later possible features
- 230V relay for light control with timer
- LCDisplay output
- Can choose not to pump at certain times of day
- Logging of soil moisture levels over time (USB brodcast)
- Battery backup for data logging
- Data gathering
- 230V light control (relay)
Prototype build #1
We achieved automatic watering of plants in soil at Bitraf 22/1-2015 with version v0.1 of the Bitraf Green Card on a breadboard!
The soil moisture sensor was wrapped in cloth and put in contact with the bottom of the watering tray. When the cloth dried out the pump would fill the tray until the cloth got wet again.
The system functions as intended but is sensitive to the table being level or sloping away from the sensor. The risk is that the sensor stops the pumping before all plants have been watered. This kind of behavior will always be a risk when a large number of plants are being serviced by one pump.
The next revision of the software will use a longer pumping time and then a longer delay before the moisture sensor is re-checked, to allow for water absorption.
Shield prototype #1 - Small Transistors
An attempt was made to power the pumps directly from the an arduino shield.
The first test showed that we would need larger transistors to cope with the currents drawn by these pumps (>2A).
Shield prototype #2 - Large Transistors
A test card with larger transistors was soldered but debugging was not completed.
Prefabricated relay breakout boards was judged to be a preferred way forward since they offer high current 12 (pumps/valves) and 230 volt (any growing lights) switching for a reasonable price. It also reduces risk of human error and saves construction time.
The arduino needs to be connected to pumps and sensors, in the first prototype we used breadboard but quickly found that it is not durable enough for long term use. The setup uses 3 breakout boards and some thicker wiring to feed the pumps.
Traditional method After the breadboard solution was working the traditional next step would be to solder all connectors to a dedicated arduino shield that would then only work for this particular application. It would look similar to our Prototype #1 above. Alternatively the user could design and order a more professional looking Printed Circuit Board, which may or may not work as intended when it is fabricated. Either way, next time the user would like to use the arduino for a project she would be forced to start over and make and solder a new custom arduino card.
Modular approach We have been looking into creating a modular connection system for the arduino. The goal is that a user should be able to buy different breakout boards from different sources and then attach them to a common cable connector thus making it possible to quickly connected or disconnected from the arduino. The user should also be able to trust the connection over time. This would make it easier to combine, remove or add breakout boards to different setups without having to build a new card for each configuration.