First, I want to automate my home watering in the most overkill way possible. The plan as it stands today includes moisture sensors, some timing system (blackout times, etc), weather forecasts, rain sensors, temperature and light sensors. As I mentioned, overkill.
The other reason is I want to learn more about automation and embedded programming, so this project gives me a chance to grow (groan) as well. Brewing beer may be in my future + people keep doing neat things with micro-controllers to make it a fully automated and repeatable process.
To make this happen, I’ve taken the first steps by buying my very first arduino from the good folks at sparkfun along with temperature and light sensors a multiplexer and some support bits. Given that I’ve never touched one of these boards before and that my digital logic knowledge hasn’t been used in 8 years, I’m starting small. The grand plan (such as it is) follows –
- Phase 1: Flashing lights! Basically, knowing nothing about arduino, I just want to make it work. Wire up some representative circuits I’ll need later. Poke around the programming language, get the board talking to my main computer. You know, the basics.
- Phase 2: Science! Ok, so I should basically at this point know how things work – time to put it to use. Essentially, I’ll be making a weather/ground station. The goal will be to start logging sensor readings – ground moisture, temperature, light, etc. on my main computer. This means that most of the inputs to the watering decision will be in place allowing me to calibrate and make decisions about watering frequency and conditions. It should also server as a good input/nag for me to manually water.
- Phase 3: Loop #1! Time to add the first servo and drip hose. At this point, I’ll have the functionality of a slightly advanced COTS systems. This is just a small stepping stone though to…
- Phase 4: n-Watering loops What is the fun of having either the whole system being on or off? Time to start controlling individual beds + planters based on their specific needs.
- Phase 5: Never ending Iteration This project will never truly be done – there will always be adjustments and additions. I’m ready for it.
Today I’ve got the basic arduino board in hand and I’ve made it do some basic things such flash an led, read the value of a light sensor. Next, I need to how to interact via the serial interface so I can talk to my programs from my main computer.
Next: Some block diagrams, maps and perhaps code, oh boy!