• Arduino Control Room

    I've been working on a few Arduino projects recently that will hopefully result in varying levels of home automation.  The effect so far has  been to stick a box here, plug this in there, and dangle a wire from over there, with a general haphazard (with emphasis on the 'hazard' bit in some places!) outcome. If this is to work with any degree of success, it needs some more permanent infrastructure.  It needs power.  It needs internet connectivity.  It needs to be centralised.  It needs easy access to things I want to monitor and/or control.  It needs to be tidy and out of the way, but easily accessible.  There's a shelf in my cloak room that meets most of those criteria, so this weekend I started getting it prepared;
  • Modern Twist on Analog Dials

    These days displays are all digital readouts or multifunction LCD screens that give you indications of pretty much everything that's going on.  What seems to be lacking though is a good old fashioned analog dial with a needle pointing at a number.  Of course, a dial is normally limited to a single use, but I wanted to see if I could make something that's the best of both worlds.
  • An aDventure in to aProtocol (or LLAP)

    I've been messing about with Arduino derived micro controllers, and have been looking for a way to get them to send simple messages to and from each other. Something simpler than TCP/IP (which requires special hardware and relatively large libraries to run it), but more generic and flexible than just connecting an output pin on one device to the input pin on another. aProtocol (or LLAP as it's also known) as defined on OpenKontrol seems to fill that gap just nicely. So, in 16 lines of code, I got a simple acknowledgement working; String msg; String reply; void setup() { Serial.begin(9600); Serial.print("aDDSTARTED--"); } void loop(){ if (Serial.available() >= 12){ if (Serial.read() == 'a') { if (Serial.read() == 'D' && Serial.read() == 'D'){ msg = ""; for (byte i=0; i<9; i++) msg += Serial.read(); if (msg.compareTo("HELLO----")) reply = "aDDHELLO----"; // else if ... Serial.print(reply); } } } }