You will need some basic experience with soldering, breadboarding and using the Arduino platform for this tutorial.
This particular instructable is for a sensor that will upload it's data via a WIFI connection. If you house it correctly, you can keep it outside. If this seems a bit adventurous for you, check out the ethernet version here.
To build a plant sensor, you will need the following:
] 1 x Arduino Uno
] 1 x WIfly shield + headers
] 1 x USB A>B cable
] 1 x 5v Relay
] 1 x ZTX605 -type transisitor
] 1 x DHT22 Temperature + Humidity sensor
] 1 x LDR (Light dependent resistor)
] 4 x 10Kohm resistors
] 2 x Nails (Any nails will do for now)
] Plenty of hook up wire (single core wire)
] A Soldering iron & plenty of solder
] A Mac or windows computer
Once you think you have everything, you can continue to the next step to get started!
Step 1: Prepare the WIFLY Shield
We will need to enable the Arduino to turn the WIFLY on and off so that it can be reset via the software. This prevents having to manually rest the device if there are any problems. In order to do this, we need to bend out or cut off the ' Vin' pin of the shield so that it is not attached to the Arduino. Instead we will use a relay / transistor circuit to use a digital pin on the arduino to turn it on and off.
The next few steps will describe the major components before we look at the circuit diagram.
Step 2: Connect Up the DHT22
Here's a few specs:
- 3 to 5V tolerant
- Good for 0-100% humidity readings with 2-5% accuracy
- Good for -40 to 125°C temperature readings ±0.5°C accuracy
- No more than 0.5 Hz sampling rate (once every 2 seconds)
- Body size 15.1mm x 25mm x 7.7mm
There are four pins but only three are used as follows:
So we just need to connect the Arduino 5V to pin 1, arduino digital pin 5 to pin 2, and arduino GND to pin 3. Check the picture for the DHT22 pin numbers.
Step 3: Connect Up the LDR
We will hook it up as in the digram below.
Step 4: Connect Up the Moisture Sensor
Unfortunately if we just stick two wires into the soil and pass a DC current through it, we will be performing electrolysis, which causes the water molecules in contact with the wires to breakdown, releasing oxygen and hydrogen. Not only does this cause little bubbles to appear over the wire's surface thus reducing it's ability to pass current, but it will also rapidly erode the wires.
The 'solution' (I use inverted commas since it doesn't solve the problem as much as to slow it..) is to alternate the current. This means you send the current through the wires one way then the other way, in theory preventing electrolysis. In practice, it doesn't work forever, so we may have to change the soil contacts every couple of months, but that's a small price to pay for the simplicity of this method of moisture measurement.
The circuit used to connect it up will be shown in the following step.
The code to alternate the current and take a reading is all in the Arduino sketch later in this instructable.
Step 5: Wire It Up
I used the area on the Wifly board and although it's quite fiddly, it's a bit more compact than using a separate board.
Step 6: Create a Cosm Feed
You will need to set up a 'feed', which will hold all the sensor data for your plant.
Head over to http://cosm.com set up an account. The website will guide you through this process.
Create a new feed and make a note of your api key and your feed number.
We can then put these in your arduino sketch so that the data ends up in the right place.
Step 7: Program the Arduino
Attached below is a zip file with the following folder:
DHT22 - Library to get data from the DHT22 sensor.
Wifly - Library to get the Wifly shield working.
sis_wifi - The stats in sound arduino sketch
First, add the DHT22 and Wifly libraries to Arduino (if unsure how check here). Next open up the StatsSketch. Click on the settings tab at the top and enter in your own Cosm feed ID and api-key.
Connect your arduino and upload the sketch... and there you have it!! The replay will click every 10 seconds or so, powering on and off the wilfy. After a few seconds, you can head over to your feed page on the cosm website and watch the data coming in.
Step 8: Listen to Your Plant!
Type your feed ID into the box and select the type of composition you would like to hear. Remember you will need a week's worth of data in your Cosm feed before you can use the 'Past week' function.
Enjoy and please let us know how it goes.