Water Your Plant! Rube Goldberg Style
by liatshear in Circuits > Arduino
388 Views, 0 Favorites, 0 Comments
Water Your Plant! Rube Goldberg Style
This instructable (Our final group Project!) was inspired by our love for plants, gardening and of course Internet Of Things! We both garden at home with a variety of basil, chives, mint.. you name it!. We decided since Summer is around the corner that this is a tricky time for gardening since the weather is SO hot. If the weather is too hot, plants need more water! With our daily lives being so busy, we easily forget to water the plants which can cause them to dry out and die in the summer heat. This great tool both reminds you to water the plant as well as giving the plants some water when the weather is hot.
We combined a combination of multiple tools that we have been learning in university including Arduino code, Make.com, NodeRed, Blynk and an API call to get the weather!
In this tutorial we will take you through the fun "Rube Goldberg" ~esk way in which we decided to create a reminder to ourselves, and a physical way to water our plants when the weather gets too hot outside.
Previously we may have simply used Arduino to light up our switch board as a reminder, but after all the skills we have learnt, we wanted to combine all the different tools to create a fun way to do something as simple as watering your plant.
This project is great for anyone who wants to create a reminder for themselves or find a sustainable way to water your plants when you're not home. Although it is definitely an unnecessarily LONG way to do it, it's fun and you can learn great skills along the way.
By Shachar Weinmann and Liat Shear.
Hope you all enjoy :)
Video Link: https://drive.google.com/file/d/1vmtC-oDhfNzhTVPhYyY74TEud9WucReW/view?usp=sharing
Verbal Description: https://drive.google.com/file/d/1_Uh30F_BvckhD5mj-8JK_0ZufcCkJSc5/view?usp=sharing
Supplies
The "Supplies" we used include the following free online tools!
- Make.Com
- Arduino
- NodeRed
- Blynk
As well as of course the physical elements:
- A plant (that needs to be watered)
- A cellphone
- An Arduino playground switchboard
- A cup of water.
- Dominos (for fun :))
Arduino Code!
We start off with the Arduino code.
1) The Arduino code starts off by checking if the board has been exposed to light, (this will occur in the morning when the sun comes up), indicating it is time to check the weather.
2) Next, the arduino code connects to the API WeatherAPI.com and gets the current weather back from the API. It checks if the weather is > 25 degrees Celcius, indicating it is HOT outside- your plant needs water!
3) Next, the arduino code sends the "current_temperature" value to Blynk!
Blynk
The Arduino Code then connects to Blynk
1) The Arduino sends the "Current_Temperature" value to blynk
2) The blynk will then connect to Make.com using a Webhook to send Make the Current Temperature and thus trigger the Make event dominos
Make.com Part 1
Next we move onto the Make.com part of the "machine" from Blynk
1) The Blynk sends the "current_temperature" value to the make.com server using a Webhook. This will connect to the first Make.com page.
2) The webhook on the Make.com page is triggered and causes it to send an email, triggering another make scenario, saying "The weather outside is {current_temperature}"
Make.com Part 2
This then triggers the Second Make.com page!
1) The second Make.com page gets triggered with this email.
2) Next, this causes the Make.com page to send a discord message reminder to "Water your Plants!"
3) This goes back to a third Make scenario which is triggered by the discord message.
4) This Discord message then does 2 things, a) it sends a webhook to trigger a fourth make scenario and b) connects back to Blynk using the Webhook to connect back to Arduino!
Blynk
Blynk then connects back to the Arduino code
1) Next, the Blynk connects back to the Arduino code still preserving the "Current_Temperature" value since "make finished" is toggled.
2) The Arduino code then causes the playground switchboard to light up in red and make a noise to indicate the temperature is hot since it is > 25 degrees.
3) Next Arduino can now proceeds to 'contact' NodeRed, by contacting Adafruit as a middle man.
NodeRed
The next step (Yes, another one!) will be using the NodeRed tool.
1) Connect the Arduino Playground to the NodeRed tool using AdaFruit through the MQTT server.
2)This will then connect through Adafruit to Nodered and cause it to write to a text file "The current temperature is {current temperature}
2) This is the end of the first branch.
Make.Com (part 3)
Finally! for the last online tool. Make.com Part 3. Note this code is happening in parallel with the node red as the Make.com scenario uses a webhook to send a notification to the IOS device.
1) The Arduino code connects to the Make.com page again using a WebHook from Make
2) The Make.com sends an ios notification to the phone telling it to Water the plant.
3) The phone will receive the notification and cause it to vibrate from the notifications.
RubeGoldberg Effect
Now the plant actually needs to be watered!
1)The phone will vibrate causing it to knock over the first domino
2) This will cause a "Domino Effect" and knock over the rest of the dominos
3) The last dominoe will knock over a cup of water which will fall over and finally
4) Water the Plant
The END!
(Video Demo link attached below if you'd like to check it out)
https://drive.google.com/file/d/1vmtC-oDhfNzhTVPhYyY74TEud9WucReW/view?usp=sharing
(PDF with instructions)
https://drive.google.com/file/d/1yObGq2y45FmFIbMJRDOv9eR03KU5Hz5U/view?usp=sharing