Tuesday 23 June 2009

The Ultimate Plant Waterer



On a whim, I bought an Arduino Duemilanove together with an Ethernet Shield, just to see what it could do. I decided to build an automatic plant waterer, and it turned out to be great fun and dead easy. It monitors soil mosture levels, and waters the plant when the level hits a certain threshold. The Ethernet shield lets me provide a simple web server (using Arduino's Ethernet Library) which let me check on my plant remotely and water it manually if I felt it needed it.


The trickiest part was driving the LCD display, which was a Seetron 216 Serial LCD module. The problem was that the display was expecting RS232 signals, not TTL, so I had to write a new version of the SoftwareSerial library to cope with it. I ended up bodging the SoftwareSerial library to create a new library called Seetron216LCD, which wrapped the various commands for the LCD display (eg. newline, clearscreen etc) and made it very easy to use. I found I had to drive the LCD at 2400 baud to avoid getting dodgy characters. I'll make the library available when I've got a moment to tidy it up.


Below is a schematic done with TinyCAD (a nice bit of freeware and just what I was looking for). The moisture sensor bit is based on a circuit design from iFlower (a blog by a guy called angelo). I opto-isolated the pumping circuit which was probably overkill.


No comments:

Post a Comment