So I got a shiny Arduino, what am I going to do with it?
Once I’d got the LED to blink, and something to sort of happen when I pressed a button, I looked at my tangle of wires switches and started to think, wouldn’t it be cool if…
The entire internet knew when someone was at the door 🙂 , and it would be even cooler, if they all got the song from pink windmill stuck in their head at the same time. 🙂
The wireless doorbell is a strikingly simple project, many people have done it before, and done better than i could – get a wireless doorbell from your local cheap wireless doorbell emporium, take the bell bit apart, workout what wires make the noise/light work, and plug them into an Arduino.
Once you’ve got that into an Arduino, its software time – make the Arduino do something that makes the computer do something that sends a tweet! – All dead simple project and a nice introduction for me on the ways of the wire.
I’m not going into the how to do detail, here, I’m just going through the amazingly basic lessons I learn’t from making my doorbell tweet.
Lesson 1: Label stuff before you dismantle it.
I was really excited; I’d worked out something I could – probably – make, and I knew where to get all the parts. I trotted off the shops got myself an outrageously cheap wireless door bell, ran home and started to dismantle it, it wasn’t even that complicated inside, it had wires to a speaker, wires to an LED and some to the battery compartment, in no time at all, I had the bell separated from its plastic housing.
Which was cool, but almost right away, I was beginning to forget what wire was what – which is the point at which I labelled up the picture, hoping I could remember properly.
I did have a multimeter, but in all honesty I didn’t (and still don’t really) know how to use it, I suppose I could have tested stuff, but with my best guesses at the wires I just connected them on my breadboard and got a functioning door bell again (just).
Lesson 2: if it comes apart in one piece, you should keep it that way.
So the doorbell was really one circuit board with some wires for speakers and a light. To be honest I was expecting some sort of obvious aerial bit, connected to a sound bit, with maybe a lighty-up-bit all wired together – but the reality of mass manufacture is they squeeze this into as few a bits as possible, so I just got a circuit board with wires.
At this point with my not very big knowledge of electronics I fell back on my inherent laziness, and decided to leave it be, and just use the wires I could see.
The speaker wire was obviously doing something funky because the bell chimed, that struck me as a more complex signal than I needed – so I decided to connect to the LED instead this would be much simpler.
Lesson 3: Reading (or the software if you’re a programmer) is easy.
With an Arduino reading in a signal is very simple, and as long as you don’t send to much power back there is very little to go wrong and getting software on the Arduino is easy, you just get the complier, type some code and off you go. (at this point you can tell I was in my comfort zone), the hard bit was getting the signal to the internet.
Lesson 4: Connecting to the internet, is difficult (i.e. costly)
Arduino’s are very good prototyping boards, but the standard one has no network connectivity, and the cost of the add-on comes to around the same as a Raspberry Pi (this is the reason I got a Raspberry Pi in the end), but not to matter we were in software land now, and in software land I am like Neo from the matrix, I can do anything (only slower, with three attempts first, and then not really that well)
- To get to the internet I got the Arduino to send a message down it’s USB (Serial) wire, when the bell was pushed.
- On Windows is wrote a C# windows Service that listened on the Serial port, for the command and then connected to twitter (using twitterizer) to send the tweet.
- simples 🙂
Saturday 12:11PM: there’s somebody at the door, youtu.be/EBPwZiAPlsw
— The Jumps (@theJumps) June 16, 2012
Which I think meets all my needs for the doorbell (yes the i wired the speaker up, so you could also you know hear the bell!). Except the amount of kit needed to make it work was quite a lot; because of the Ardunio’s lack of native network support the doorbell in this form has to be connected to a computer running all the time. Not that we don’t have those but it does seem a bit restrictive and not really the point.
You can make an Arduino network friendly with an Ethernet shield, problem is they are about the same as a Raspberry Pi, so at this point I decided to buy a Raspberry Pi – (Sorry I betrayed the hardware fellowship quite early with that one)
True to form the doorbell hasn’t been fitted to the door or indeed ported to the Raspberry Pi yet. I sort of got sidetracked with other projects.