-
-
This is the status LED (look on the Photon on the right) when the device deems the soil to be dry.
-
This is the website when the data shows that the soil is dry.
-
This is the status LED when the device thinks the soil is perfect.
-
This is the website when the data shows that the soil is perfect.
-
This is the status LED when the device thinks the soil is wet.
-
This is the website when the data shows that the soil is wet.
UPDATE:
Flowr now has a Discord Bot using IFTTT's applet feature! Instructions on how to use it coming soon ;)
Inspiration/What inspired us:
Some of our members were/are growing succulents and other plants. We wanted to have a way to monitor the moisture concentration in the soil to know when to water it, without having to test by either touching the soil itself, or waiting for the plant to wilt.
Function of website/hardware:
The hardware section of this project uses an analog soil sensor to gather data about the soil. It then decides, based on user-defined presets, whether the soil is “dry”, “perfect”, or “wet”. This is then sent via a cloud publishing function to the cloud stream. This is where the website will get the data via a webhook directly implemented into the data cloud stream. Based on the data the website gathers through the webhook, it will display via a virtual plant that changes based on the data. This way the user can tell if their plant needs water from their web browser.
Disclaimer: we were not able to implement the webhook into the website just yet, any data/status images you see there are strictly for the sake of demonstration and are meant to show what actual usage would be like.
How we built it:
We used a Particle Photon, a water level sensor (none of the team members had a soil sensor, so it was close enough), some wires and a usb power supply. The software portion of the project was done in two sections, the hardware code, and website code. The hardware code was made in the Particle Web IDE, which uses an Arduino language with some unique functions to allow the Photon to connect to wifi and broadcast to the cloud. The website code was made in HTML5/CSS/JavaScript as a raw website page along with additional files for music and images.We also used Blender v2.80 for all of the icons and images and Sunvox for the music and alarms implemented throughout the webpage.
Challenges:
For the graphic design, it was a challenge coming up with a design language that would translate across from 3D to 2D, and would also fit with the theme of the website. Eventually we decided images of flat-shaded 3D objects would be a nice aesthetic to show the different plant moisture levels.
It was a major challenge getting the webhook to work with the website, but hopefully we can get it working in a future version. Since both the hardware and software components were done separately, we were not able to fully combine the two.
Accomplishments:
We were able to create and accomplish many things through the creation of this project. This includes creating a website from scratch, making Arduino and Particle firmware and programs from scratch, music and sound design, and graphical design.
What we learned:
Time management HTML/CSS Integration between hardware and software Webhooks
What's next for Flowr
We implemented variables into the hardware code so that the type of soil sensor can be changed and dialed in. Also, we can change the threshold where the device considers the soil wet, dry, or good. Since this code is in the .ino format, it can be copied over to arduino boards (it would need some modifications however, since Particle functions are not supported by arduino), which could not only allow the device to sense the water levels in the soil, but could eventually allow the device to water the soil if it senses the moisture level is too low. In the future, the website will be published and linkable with any of your own arduino products. This system is scalable indefinitely and can be implemented into any custom PCB or design, which can lead to mass produced designs in the future.
Log in or sign up for Devpost to join the conversation.