Step 3: Wiring in the front...

Now it starts to get tricky. Since there are only 15 (technically 13) digital out pins on the Arduino and 22 LEDs, we needed to make a multiplex matrix. I'll explain how this works later. For now, you just need to know how to wire the LEDs. There are four rows and six columns. You can use either to be "power" and the other to be "ground". At first we set up the plans so that the rows would be ground and the columns would be power so that we would only have to use four transistors, but we soon realized that we wired them backwards.

Now, solder lengths of wire across the long legs of the LEDs. These will be your power wires. When we had the ones on the mouth soldered, we folded them down and put tape over them so that they wouldn't touch the short legs and short-circuit. Then we took some ribbon wire and soldered it to the row wires and sent it running back to the hole where the Arduino would be stored.

For the columns, the short leg on the LEDs on the top row in the visor were long enough to bend down and solder to the whort legs on the bottom row. We then took some more ribbon wire, soldered it to the short legs on the bottom row on the visor, ran it across the bottom of the visor so that it could still be opened be the user, and soldered it to both of the bottom rows by twisting them all together (it doesn't matter if top or bottom are soldered first because they are all going to ground).

As you'll notice on the schematics, there is one column that was left off of the the mouth. This is because the matrix is actually set up for 24 LEDs, but it will still work with 22, it will just have one short column. When we soldered some colored (yay! color!) ribbon wire to the mouth columns to run back to the Arduino, we just soldered the one that was left off of the visor directly to the colored wire.