Introduction: Accessible IoT Plant
There are quite a few types of self-watering plants but this one adds IoT services and accessibility into the mix. I have also kept the use to 3V rather than 5V to make it easier/cheaper for the classroom.
Supplies
- Microbit V2 or V1
- Microbit Shield (any will do)
- Ultrasonic Sensor HC-SR04
- ESP8266
- 180 degree Servo SG90
- Pipet or straw
- 2 x Wooden skewers
- 1 x Tooth pick (optional)
- 3 small elastic bands
- 2 x nails or screws
- Electrical Tape
- Scissors or clippers
- Cup
- Plant
- 11 x female to female jumper wires (dupont)
Step 1: Sensing the Moisture
- Connect your Microbit to the shield
- Take 2 jumper wires, strip off the ends of one side each onto the nails with electrical tape.
- Connect the wires to a 3V positive pin and pin 0 of the microbit
- Then program the Microbit to read the moisture of the plant using Makecode
Step 2: Connecting to the Internet
- Wire the ESP8266 to the shield using jumper wires
- Make a copy of the wiring diagram in TinkerCAD circuits here
- Search Makecode extensions for "ESP8266" and add the blocks
- Follow the Makecode instructions above to connect the Microbot to the internet
- Pin 16 for the RX and Pin 12 for the TX
- Connect your sensor readings to ThingSpeak by creating a new Channel making sure you have the API keys
- Follow the extra Makecode instructions
- Make sure your sensors are recording data
Step 3: Accessibility
- We are going to make a movement sensor for audio cues
- Wire the Ultrasonic Sensor to the Microbit shield using the diagram
- Trig to Pin 1 and Echo to Pin 8
- Add the Sonar Extention to Makecode
- Follow the Makecode instructions
Step 4: Self Watering
- Add the self-watering mechanism using a servo
- Use elastic bands (or glue if you prefer) to fix the two long wooden skewers to the servo
- Use an optional toothpick to secure the elastic bands on the short side.
- Cut a hole in the pipet (or use a straw with a bend) to act as a reservoir for water
- Attach the pipet to a servo arm with elastic (or glue)
- Add the Servo extension to Makecode
- Follow the Makecode instructions
- Attach the servo to Pin 2
- Attach the mechanism to the plant or water cup. Whichever is easiest for your cup of water
- Secure the legs of the mechanism with an elastic band around the cup or plant.
- Experiment with the servo arm angles
- YOURS WILL LIKELY BE DIFFERENT ANGLES TO MINE
Step 5: Analyse Your Measurements
- Your measurements may be very different from mine
- I have experienced ranges from 700-1000 for moisture levels using different shields and materials.
- The temperature may also need to be tweaked by adding simple additions to the Makecode to add or take away degrees. As above.
- Use the Thingspeak app Thingview to make a public or private page for your plant
Step 6: Extensions
Rather than use a pipet or straw improve the design using TinkerCAD 3D design.
Ideas for improvements:
- Better watering mechanism
- Using the data to predict the watering needs in a calendar
- Adding notifications from Thingspeak into Amazon Alexa using IFTTT. Link here
- Build an all in one 3D printed plant pot with water reservoir and holders for the Microbit and Sensors
- Send tweets about your plants conditions on its own account. Link here
Step 7: Don't Have Any Kit?
You can use the "potato" battery to simulate the servo responses using the TinkerCAD circuits page if you do not have any kit on you.