People love to keep plants in their homes. But, these plants usually end up dying within weeks because it is so difficult to remember to take care of the plant on a regular basis. Plant owners always forget to water their plants or place them in areas where they can get enough light. Plant Patrol is the solution for busy plant owners to take better care of their plants.
What it does
Plant Patrol is a device that monitors the soil moisture level of a plant as well as the amount of light it gets. When the moisture level becomes too low, the device sends a text to the plant owner notifying them of the low moisture levels and reminding them to water their plant. Similarly, if the plant is not receiving enough light, the device will send a text to the plant owner informing them to move their plant to an area that receives more light.
How we built it
We used Arduino to build the device and program its behaviors. We also used two online platforms, Thingspeak and Twilio, to connect to wifi and send text messages from the device. Our Arduino circuit has two main sensors: a photoresistor and a moisture sensor. The photoresistor detects light levels and the moisture sensor detects the moisture levels of the plant. The photoresistor reads and outputs values depending on how much light it measures. These values increase when there is more light and decrease when it is darker. After researching how much light a plant should receive and testing what value this would equate to, we decided on a threshold of 200 for the plant to be receiving enough light. Similarly, the moisture sensor reads and outputs values depending on how much moisture it measures where the higher values mean it detects lower moisture levels and the lower values mean it detects higher moisture levels. We decided on a threshold of 500 to consider the plant well-hydrated. The other main part of the device is the wifi and text messaging component. We used Twilio to connect the Arduino to the internet and send text messages through its web service API. We also used Thingspeak to log data sent from the Arduino about wifi connection and text messages sent. In the code, it first attempts to connect to wifi. Once it is connected, the sensors read their respective values once per second as we implemented a delay between readings for stability. If the light value is below the threshold or the moisture value is above the threshold, it sends a text through Twilio to the user’s phone with a message reading either “Not enough water” or “Not enough light.” If it reads a moisture value below the threshold, it will also send a text to the user reading “Plant hydrated.”
Challenges we ran into
Our main challenge was to figure out how to consistently connect to wifi and send text messages successfully. We ran into an issue with the Wifi shield we used initially, but soon realized we needed a different type of Wifi shield. There were also times when the Arduino would not connect to the wifi network simply because of a lack of reliability. It took much trial and error for us to figure out the optimal situation for the wifi connection and text messaging to work smoothly. We realized that the laptop connected to the Arduino should be connected to a power outlet so the laptop can supply enough power and the laptop should be connected to a faster wifi network instead of the same hotspot as the device in order to optimize its performance.
Accomplishments that we're proud of
We are proud of the fact that we were able to successfully and consistently send texts to a user through wifi. This was the most difficult part of the project and it took many tries, but by the end, we were finally able to connect and send messages very consistently.
What we learned
We learned more about how to work with Wifi and Arduino. Being tasked with troubleshooting our wifi code gave us a much more in depth understanding of exactly how the wifi shield, code, and online messaging platforms work. We also learned the importance of patience when it comes to connecting Arduino to wifi.
What's next for Plant Patrol
While we are proud of this first version of Plant Patrol, we are excited to add more components to make taking care of plants even easier. In the future, we would like to implement an automatic watering system where the plant would automatically be watered if low moisture levels are detected. We would also like to improve on design to make our product more aesthetic and easier to use.