Week 10: Output Devices

LED ARRAY - Charlieplexing


I want to make an LED array that responds to sound levels. Since I botched my input devices assignment two weeks ago, I decided to be ambitious and try to combine the LED array with a mic input. Ultimately, I would like to have my final project leaf canopy have LED's that switch on when it gets dark out that also respond to sound levels, i.e. flickering at whispering level, steady on at conversation level, and blinking where it is loud, locally making visible group dynamics in the field it covers.
I wanted to adjust the LED array to not be a grid, but be a sprawling network. Essentially, I would locate the LED's on a leaf component, connecting it by bronze wire. In order to do this, I adjusted the leaf components to have receiver pads with holes for the wires. I wanted to etch this:

Unfortunately, I am not allowed to etch anywhere. I can still make this using the vinyl-cutter.

In any case, I went ahead and made Neil's LED array:

This was painless and easy, with the Mantis working smoothly. I was able to send the code through and it works fine.

Then I tried to combine the mic input board with the LED array board, using two un-used pins on the Tiny 44. Since I am bad at Eagle, I opted to make this using Adobe Illustrator:

Unfortunately, I didn't know that you can't just use random left-over pins like that. The PB2 pin on the Tiny 44 is not able to do Analog-Digital Conversion.

So I realized I have to do actual designing of the board. I decided this was my chance to really digest the data sheets of Tiny 44 and 45. I am working on this design now toward my final project.

LEARNING MORE PROGRAMMING

I also need to figure out how to make the lights randomly flicker. I thought this was a good week to actually try to get my head around the C language. So I took Neil's program for the LED:

and his code for the mic input:

and tried to combine them. In order to do this, I needed to adjust the Mic program to use ATtiny45, get rid of the Serial port and make the input pin (mic) communicate directly with the output pins (LED's). I am going through the data sheets in greater detail for the first time, and am learning A LOT!!