Process
After I determined an overall idea of what I wanted my IOT device to do, as explained in my Approach above, I created tasks and subtasks to complete for each component, integrating them together as I went along. This is the order of how I assembled my final product:
- Pseudo-code and outline the hierarchy of the code (seen in workflow diagram)
- Learn how to use and wire a servo motor [3]
- Use prior knowledge and skills from in class Skills Dev to apply my DIY soil-moisture detector to this circuit
- Wire in LED’s (red = bad, green = good, blue = very saturated, yellow for decoration) and combine with the moisture detector and motor.
- Wire the piezoelectric speaker and determine melody and corresponding durations for notes to play when moisture level is satisfactory
- Determine tone to play for unsatisfactory moisture level
- Integrate into existing circuit
- Add pushbutton to activate happy plant dancing and short LED light show
- Create IFTTT recipe for publishing events to a Google spreadsheet
- Create IFTTT recipe for sending SMS reminders to the plant owner
- Brainstorm and sketch the form and apparatus that would house the plant and components
- Prototype the form with foam-core and integrate all the components
One of the ambitious ideas I rejected was because it was outside the scope of my project was a water pump to automatically water the plant if the moisture level was unsatisfactory. It apparently involved additional power sources and more advance techniques and took away from the user interaction. The other idea I did not pursue was constantly monitoring for a change in moisture level to detect when the user watered the plant and the moisture level went from unsatisfactory to satisfactory. The plant’s happy dance and lights would automatically start when that change was detected, but I chose a more simplistic path by adding a pushbutton to activate it.
The main challenge that I encountered was realizing that the code had to run sequentially and tasks could not be completed simultaneously. I wanted the LED’s, music and servo motor to work simultaneously, but instead, I solved this alternating LED illuminations, servo motor actions, and music.