Inspiration
We really wanted to build something that we would be able to use in the future and always improve on it. The automated plant watering system was the best idea, because one of the teammates was intending to grow indoor plants in his apartment, and wanted to implement his learning in this way. Additionally, this is a problem that everyone has; people who think of raising plants sometimes have to rethink because they travel and don't have anyone that could take care of their plants.
What it does
So people who have this device can practically set up the time at which they want water to flow to their plant, and for how long they want it too. Based on its flow rate which is 33 mL per second, the person using the machine can control how much water the plant gets, based on its needs. The device when powered is constantly checking its connection with the WIFI, and sending an IP address to open an html website which can be used to alter the time at which the system runs.
How we built it
The components used are a Raspberry Pi Pico and a breadboard power supply MB-V2, which are the more complex components. We also used wires, breadboards, LEDs, and a transistor. The code and power comes from the laptop which goes into the Raspberry Pi, which we encoded the pins to stay in an off state initially. The Raspberry Pi has a WIFI module that attempts to connect to the WIFI given the credentials of the SSID and the password, every second, once connected it returns an IP address in which we can access the control system of the water pump(motor).
While opening the website, the system syncs with GMT-0 time, then offsets to GMT-5 which is Texas time. This makes sure that the motor is turned on at the time which the owner sets it too. This clock system does not reset until its manually changed on the website. This website was coded with HTML, as we are not that great web-developers we have kept it simplistic and functional. The signal is received by the Arduino and controls the water pump system. The time set and the duration of the water flow are signals received from the website.
In order to test the system, we had two important test cases. One to make sure that it always connected to the WIFI which would be shown as lighting up green on the breadboard, while red would mean that there is a network error. Then there would be a blue LED to show that the system was able to successfully turn on the motor, which would mean that the signal was received by the Arduino, and there's enough power to keep the motor running.
Challenges we ran into
The water pump needed to have enough voltage to work along side the Raspberry Pi. It was very crucial that the signal received from the website was understood properly by the Arduino, since there are many processes running in parallel. Because the system is constantly synching with the time zone as well as checking its connection with the WIFI. Additionally, like I have mentioned before web-development is not our forte, there were a lot of learning curves involved in attempting to connect the python and html part together. Although one of the biggest struggles we would say is time, this project had a lot of potential and we had many things we wanted to implement. But, a lot of time was spent learning on how to integrate the components to work together properly.
Accomplishments that we're proud of
We are very proud of being able to test and design the system. It is the first time that we have worked with Arduino and coding for an entire system. We are very satisfied with the results since we were able to actually bring the idea and design in our minds and implement it. Something that we feel really proud of is understanding how the Raspberry Pi works, it feels like we have gotten more insight into what automation really is and how complicated it can become.
What we learned
Its difficult to put into words what we have learned, since there is so much that went into this project. But we have learned how to incorporate software and hardware all together, which required a lot of patience and trial & error. We learned how to efficiently use the power source to create enough voltage to run two different components next to each other. Additionally, connecting a system to the WIFI to ensure it would work, and be dependent on it to return an IP address is a risky thing, because any weak connection could lead to an error in the entire system. Understanding that multiple processes were run at the same time with different purposes was little overwhelming. Because one process should not mess with the other.
What's next for IEEE_technothon_project_2024
Something we would love to include in our project is to add more features. We would like to incorporate a display that has the amount of water dispensed to the plant based on its flow rate. We would like to display a timer on the website, that starts the countdown with the duration of water dispersed. Additionally, we bought moisture sensors as well, in which we hope we can put into the ground and based on moisture levels the system would know when to dispense water to the plants. Additionally, if you were to have more than one plant, the system would have a way to keep track of all the different plants, and have a library that would also have preset systems based on the type of plant.
Log in or sign up for Devpost to join the conversation.