Inspiration
With the frequency of climate disasters occurring as a result of global warming, droughts are becoming more common across the country. One of our members, as a California native, has brought up their desire to keep plants in their home while not wasting the precious resource of water in the process. Realizing this may be a desire among many people, we decided to develop a way to efficiently water plants based on the species and the average moisture levels needed for them to survive.
What it does
Using AI, the product recognizes the flower/plant species and calculates the optimal soil moisture necessary for it to survive. By using this as a threshold value, the moisture sensor tracks the moisture level every hour, and waters the plant if below that threshold.
How we built it
We utilized Arduino and a water pump for the hardware aspect to control the watering, as well as a SeeSaw moisture sensor for moisture detection. In terms of software, we used TensorFlow (running on Google Collab) to upload pictures of the plant and get image recognition, and then python/Arduino software to use the plant type to calculate the threshold for moisture and set the loop for watering it based on that threshold.
Challenges we ran into
- Image formatting: It was difficult to take an image of the plant we have and upload it to the database in a format that is automated.
Accomplishments that we're proud of
- Trained an AI model to recognize flowers and various other plant types.
- Python to Arduino communication for watering and moisture sensing system.
What we learned
- How to communicate with Arduino using Python through the serial port
- How to create an image classification AI through TensorFlow using Google Collab
What's next for OptiGrow
- Streamlining image capture and automatic input for plant type
- Implementing app/IoT to allow users to manually water and monitor plant health (possibly using Blynk IoT or Adafruit software)
- Improved material, such as acrylic or injection molded parts to provide greater product stability
Log in or sign up for Devpost to join the conversation.