About Me

I've been taking things to bits, and making things ever since I can remember, starting with dismantling knackered alarm clocks and watches and helping my dad fix the car. Now I have a well-equipped workshop and have aquired lots of new skills, so I can make better stuff. When they first appeared, I became involved with personal computers, and these and developments in electronics have increased the scope of the things that I can do. Just recently retired, so O yes, now I can make all sorts of stuff.....

Friday 28 October 2011

Arduino home control

I've been playing with the Arduino micro for some time, and after a lot of research I have decided that its time to make that little rascal earn its keep.

It presently lives in a purpose made enclosure in the engine room, with a separate 12 volt switch mode power supply in the same box (see picture). All of the various Arduino pins are hard wired inside the box to a row of six RJ45 sockets on the front panel, so that I can connect a variety of devices using modified CAT5 patch leads. I tried using PCB mount RJ45 sockets, but my PCB etching skills were not able to cope with the close pin spacing, so I used a block of sockets cannibalised out of a spare patch panel.

At the moment, all it does is monitor the door status LEDs and the internal and external temperatures - this information is collected by the PC that it is connected to and displayed on a simple pop-up window on the PC. I also have some water leak sensors with solenoid water valves partly built that will be powered from this box, and a bloody great siren to go off if a leak is detected. The longer term plan is to put this information into a web page that can be accessed from any PC in the house, including an old touch screen Ameo. So far, so good, but now its time for some more adventurous stuff.

I use a number of Home Easy devices to switch lights on and off at pre-set times, and these have been a great success, except that the remote that controls the timing is not clever enough to change the time when summer time starts and ends, and it has no facility to track the changes in daylight hours. The unit also eats batteries, and its touch screen drifts out of alignment. Home Easy is good, but could be a lot better.

I have been trying to find ways to control my whole house ventilation system by some more intelligent means than that of me walking up the stairs and pressing a button. I'd like to automatically turn it off when the external temperature drops below a pre-set threshold to prevent the house sucking in a ton of freezing air overnight in the winter and then having to burn a bundle of currency to heat it up again. In the summer, I'd want the unit to turn off when the external temperature was too high, and then turn back on overnight to draw cool air in. I can do the off/on thing with a simple Home Easy unit, just need to synch it with the Arduino temperature sensors and/or timer.

My plan is to control all of the Home Easy units using the Arduino, hooked up to a radio transmitter and receiver modules (less than four quid from China for the pair). If it works as I hope, I should be able to take over the simple light switching that the existing remote does, but with the addition of automatically tracking daylight hours and adjusting the switch on times to suit. The ventilation switching can be geared to the temperatures that the box already monitors

I already have the radio modules and a suitable piece of breadboard; the Arduino is sitting powered up in its box waiting to be told what to do, and I have a wedge of code to drive the radio modules collected from the web that I plan to try out - check out this link. This is likely to be a fairly long drawn out project, as I'm going to have to adapt the generic Arduino code to suit my requirements and hardware, and incorporate the necessary timers and temperature monitoring. I will also need to create a user interface in Visual Basic to allow a simple way to change time and temperature settings.

Watch this space, I'll document the progress in chunks on here. At the moment, I can see the following stages:-

- connect up the radio modules and try them out with the Arduino code and my Home Easy devices. I should start this in the next couple of days, if you see a blinding flash in the sky to the south, you know its not going well
- find a way to track daylight, either by means of a light sensor or an algorithm
- decide whether to write the code that controls the switching on the PC or on the Arduino, VB on the PC is probably easier for me, and the PC already has a real time clock
- write an easy to use user interface to allow time settings and temperature thresholds to be changed - consider doing this as an interactive web page so that it can be accessed from anywhere.

Chaaarrrrrggge!


2 comments:

  1. Hi firstly thanks for taking the time to publish your projects. I also have purchaed a radio transmitter n receiver for an arduino project but haven't done anything with it yet ! On the light front you could easily monitor outside, inside or both light levels with an LDR. (light dependant resistor) Say for example you use a 20k LDR connect it in series with a 20 K resistor across your 5 volt arduino power supply. then wire an analogue input to the point where the LDR and 20k resistor join. This gives you a voltage divider circuit and you will measure light levels on your arduino. You can then scale this to 0/100% in your code. I have done exactly this with a thermistor for room temperature and use a look up table to read accurate temp in centigrade. Have a look on Ladyada site under projects thermistor

    ReplyDelete
  2. I also have used a cheap gps module from ebay to use as areal time UTC clock on my arduino. my plan was to use this for switching and setting the time on other home automation kit. If you post an email address I would like to get in contact

    ReplyDelete