Step 4: Making the Helmets
I stuck the battery pack onto the back of the helmet using some simple matt black electricity tape. It held just fine and lasted all night. I then cut a couple of small holes in the base at the back of the helmet and threaded the start of the El Wire from the inverted, through the holes, and then back out again, just to anchor it in place.
I then used sticky tape to temporarily hold the wire in place and copied the Daft Punk pattern on their helmets as best as I could. I used a little black masking tape in places to hide the fact that the entire pattern was one long piece of wire.
After the pattern was in place my Sister then kindly glued the wire onto the helmet with quick-setting superglue. It held really well and is pretty much stuck on permanently as far as I can tell.
The EL Wire on the helmet can then be switched on/off just by tapping the button on the inverter at the back of the helmet.
Making the LED Display that goes inside the Helmet
[All links to libraries, ide's etc are at the bottom of this page]
This was my main job of the project, and heaps of fun. I learnt a bunch about Arduinos, Seeeduinos, all sorts of electronics I haven't touched since Uni and the relative merits of different types of sticky tape.
This bit might look complicated, but it really isn't. The Arduino community is amazing, there is so much open-source code available without which making this display would have been so much harder.
Apart from Daft Punk, the helmets were inspired a little by Casey Pugh, I found his video (http://vimeo.com/2402904?pg=embed&sec=2402904) when I was looking for ideas for the helmet. I'd never even heard of an Arduino before Casey pointed me in that direction, a very good call. He made his own LED Array, I bought an RGB Led Array in that was commercially manufactured.
The first thing to do is buy an Arduino Duemilanove or Seeeduino (it's an Arduino clone). I bought one Arduino and two Seeeduinos, they're about �20 each. I also bought a little backing mount with a battery connector from www.skpang.co.uk, that's what made the whole project portable.
Also grab a bunch of LEDs, resistors and most importantly heaps of jumper wires, male and female.
After that, download the Arduino IDE from www.arduino.cc (it's all open source). Programming for an Arduino is very straight forward, I think it's a language called Processing, it's grammatically very similar to Java - very straight forward. I didn't bother to learn the language to any great degree, I just to example code and melded it to do what I wanted.
Once you're familiar with how to use the IDE and have run through a couple of examples (getting an LED to blink on and off on pin 13 is a good idea), download the LEDControl library. Kindly provided by Eberhard Fahle, it allows the Arduino to control a MAX7221 or MAX7219 chip, which is itself designed to control an 8x8 array of LED lights.
At this point you'll also need to take a good look at the schematics for how to wire up an Arduino to a MAX72XX to an LED Array. The link to the schematics is at the bottom of this page, I didn't use the capacitors in the end, only the resistor. It's not as complicated as it looks.
I found the hardest parts to be:
1. Figuring out what the pins on the back of the LED Array did. You can see in the photo there are 32 pints (8 for a row, then 8 for each colour/column), they aren't marked with any numbers and the datasheet that skpang linked to had some of the pins reversed. I wrote a little test program for the Arduino that put two outputs high for one second, then low for the next, repeated continuously. I then just kept plugging wires straight into the back of the LED until I'd figured out what the different pins did.
2. Figuring out which resistor to use. I'm not an engineer or an electrician, and I'm also colourblind, so I found the resistor markings absolutely baffling. I just used trial and error until I found a resistor that limited the brightness of the array to a good limit and didn't blow it.
As for wiring it all up, I just stuck the MAX7221 chip on a mini-breadboard with an adhesive backing, stuck some jumper wires down on the Arduino with sticky tape, plugged them into the breadboard, and then stuck the breadboard to the back of the Arduino in one little bundle. I then used male-female jumpers to connect the breadboard to the LED Array, the female ends clicked onto the LED pins quite tightly so I didn't need to attach them with tape or anything.
I figure all of the electronic components of each helmet cost about �60.
I then cut a large chunk of the polystyrene cushion out of the top of the helmet and embedded the arduino in the top, just above the forehead. I then stuck the LED Array onto the inside of the tinted visor with some more electric tape.
That's it done! It looked fantastic, even if I do say so myself. The code that I wrote for the Arduino is attached to this page in a .zip file, you're welcome to use it, change it, share it as much as you like.
Arduino IDE http://www.arduino.cc/en/Main/Software
LEDControl Library http://www.arduino.cc/playground/Main/LedControl
MAX7221 Schematics http://www.arduino.cc/playground/Main/MAX72XXHardware
Here's a little video of the Arduino running a little Hello World test app:
And another of it running through most of the final program, it's just missing the game of PONG and a couple of Space Invaders I put in later: