has devolved a box where plants can live on its own, like when the soil needs water it tells the Arduino control to pump water into the hose which has lots of small holes in it, so the water starts to rain over the plant.
When it becomes night and its begins to be dark, the light sensor will active the LED light so the plant always will have sufficient light to grow.
The Box is splits in 2 rooms, one big room for the plant, and another room for the controls. In the Corner of the control room, we have a bucked with water in. It’s possible to fill up the bucked, from the Water funnel outside.
- We have a water pump down in the bucked, so when it gets active, it will pump water into the hose.
- We have a transformer from an old computer, who gives our system 5V Dc
- We have our Arduino who is the controller behind the system
- We have a light sensor on the top of the box who tells us if it starts to be dark
- We have 2 relays who supply the light and the Water pump.
- We have a Breadboard where we can connect all the electrical parts
Step 1: Hardware Components
This is an overview of the components that we use in AutoPot.
1. First, we have the box. we use the box too simulate a greenhouse. Here we use a foam box.
2. Outside the box, we have the funnel we use that to fill up the bucket inside the box. We have used half a soda bottle.
3. The motor we use to pump the water from the bucket to the plants, is a small bilge pump. The motor can go up to 12 v DC and 3 A. But any small DC motor will do it dos not have to be that powerful.
4. A photo cell "light sensor". The sensor give us the data of how much light is present.
5. A soil moister sensor, just one that can run of an Arduino.
6. 5 volt power supply.
7. 2 relays. Again just some that can run of a Arduino
8. Arduino Mega.
10. LED light panel. We have used a 5 volt one.
11. 20mm dia, 4 meter long, water hose. For the watering of the plants.
Step 2: Box Assembly
1. The funnel that sits on the top of the foam box is put together by six pieces of wood. The top and the bottom is cut with laser. The container is a cut bottle.But you can use whatever funnel design you think is practical.
2. The water tank inside the box is also a bottle cut in half.
3. The Arduino, breadboard and power supply is wired together in the room next to the plants and the watering system.
4. The pump is attached just above the water container. The pump drives water from the tank and into the room where the plants are. The hose is attached to the ceiling with hoops. the hose is pierced with holes just above the plants.
5. The light panel is attached on the back wall of box. The panel is controlled by the light sensor there sits outside the box on the funnel.
6. The soil moister is placed in the soil with the plants so it can detect if the plants need water.
Step 3: Circuit Assembly
Here is how we have assembled the circuit. We have just decided to use a breadboard for quick assembly, but if you want a more permanent solution then you should solder it tougher. Be aware you also need a 5-volt power supply for the Arduino itself.
I/O list in the code description below.
Step 4: The Code
All you now need for AutoPot to work is just to upload the program the your Arduino.
at the button is the code itself.
Here is how the program works and were you can fine tune the program to your liking:
The programming in AutoPot, works in two If statements. The first If statements that compares the soil moisture level in the greenhouse with a set point giving named “MAXDRYNESS”. If you want to change the set point at which the pump starts, then give it a new value between 0 and 1024, were 0 is completely wet and 1024 is completely dry. The second part of the first if statement is a millis function, this function makes the loops continue, while waiting a given amount of time before running the function again. The millis interval time can be change in the “unsigned long interval”. The two parts are in a and logic gate, so both must be true to run the function and start the water pump.
The second If statement is the light control. This compares the photocell value to the set point value named “MinimumLight”, this can also be set to a value between 0 and 1024 were 0 is no light. So, if the light value is under MinimumLight then it triggers the LED panel light.
Below you will find a small I/O list for quick reference: