Lucy Matchett, Nicole Yi Messier, and Joselyn McDonald (Snax_and_Macs) made a remote flower-watering device so you can water your loved ones’ plants when you water your own.
We used Arduinos, a photoresistor, a servo, Arduino and Processing sketches, Spacebrew, and a little elbow grease to put it all together.
We’ve posted the instructions, and the link to our gitHub in order to get the code. We ask that you try making remote elements for doing other things for your loved ones. Let’s get creative together. This is a template, build on it, and share it with us and others.
What you need to get started:
2 x Arduinos
1 Servo Motor
1 Photoresistor (Or any sensor)
1 Resistor 10k ohm
Foam Core or structural building material of your choosing
Arduino and Processing Applications
Step 1: Light Sensor to Arduino
- First you want to connect your photoresistor to the Arduino (refer to the schematic).
- We wanted to have a pick up / set down motion of the watering can that triggered the change in the sensor. So to do this you will need to build a platform with a small hole in it for the sensor. So that when the watering can covers the sensor and will reduce the amount of light. We attached the photoresistor with copper tape and alligator clips.
- Next you will want to test your resistor and sensitivity it has, this will differ from sensor to sensor. It’s good to check. We used this simple sketch.
- Now you will need to connect the Arduino to Processing, in order to easily get it to talk to Processing we used the Firmata Library, which is already included in the Arduino software package but you will need to download it for processing. It can be found here.
- You will need to open the Standard Firmata example in Arduino and load this onto your board.
- Next open Processing and test that your connection is working. Open an input example from the Firmata library, this will take input from any pin, the only thing you will have to change is the array number that associates with which Arduino you are using.
Step 2: Servo Motor to Arduino
1. First you want to connect your servo motor to the Arduino. Here’s a tutorial.
2. We wanted to have a 90 degree motion of the small watering cap that was triggered by when our processing sketch received a message from the photoresistor. We built a little platform with an arm out of foam core and tape. Essentially, the arm lays on top of the servo motor and tilts with the motor’s motion. Refer to the photographs.
3. Next you will want to test your servo and make sure it is working and rotating in a way that tilts towards the vase of flowers to which you want to add water.
4. Now you will need to connect the Arduino to Processing, in order to easily get it to talk to Processing we used the Firmata Servo Library, which you have already downloaded in Step 1.
5. You will need to open the Servo Firmata example in Arduino and load this onto your board.
Step 3: Connecting the Local and Remote Elements
1. If you haven’t already, download the repo on two computers connected to your arduino set-ups.
2. Open the water_can.pde processing sketch on the computer connected to the photoresistor/arduino.
3. Open the plant_motor.pde processing sketch on the computer connected to the servo/arduino.
4. Now it’s time to connect your local photoresistor water_can.pde processing sketch to your servo (remote) plant_motor.pde sketch using Spacebrew (http://docs.spacebrew.cc/examples). This is how the two sketches are going to talk to each other. Run your processing sketches. They will then appear on the admin Spacebrew server.
5. You’ll want to open up the admin Spacebrew server (http://spacebrew.github.io/spacebrew/admin/admin.h… and connect your two nodes – the publisher (water_can.pde sketch) with the subscriber (servo plant_motor.pde sketch). Just click on the publisher and click on the subscriber, and they will connect.
##Note – If you change the names of the publishers and/or subscribers in your Processing sketches , and we encourage you to do so, do not use Camel Case.
For more detail: Forget Me Not- Remote Flower Watering