Tuesday, December 9, 2008
octinct running boiingg from dr unsped on Vimeo.
Checkout all the Vimeo Videos and my Flickr feed and read the comments, they have very useful information in them.
The Octinct, from a hardware standpoint is an interesting beast. An Octinct consists of 4 'Tinct' buttonpads. Each buttonpad consists of an integrated tlc5940 16-channel 4096 step led pwm driver, each led on the buttonpad is driven by its own channel, and they are not multiplexed. The tlc5940 is capable of sourcing 150ma per channel, but for our purposes we use 20ma max, this current is set with a resistor on the 5940/buttonpad. The Tinct's connection to the outside world is either via a 24-pin idc cables, or a row of headers. The headers are generally only used for troubleshooting or breadboarding, both contain the same types of pins and are connected to each other.
Like the sparkfun rgb buttonpads (the tinct uses sparkfun rgb buttonpad membranes), header pins are provided for column/row decoding of buttonpresses , while diodes provide descrete buttonpresses. The idc connector allows the buttonpads to be tied together without the nasty cabling/wiring that you might be famliar with on an arduino, however at the cost of redundant wiring.
The 5940 communicates with the arduino via spi, and when connected as an Octinct the 5940's are chained together, one output going to anothers input. This is done on the arduino side, as all Tinct buttonpads are identical. The 5940's are not by nature rgb, they are considered grayscale drivers, so 3 transistors are located on the buttonpad allowing each color channel to be activated or deactivated, for the sake of the 5940 only a single color channel should be activated at any given time.
The Octinct controller bridges the Tinct buttonpads together, routing spi data as appropriate. It also incorporates 2 shift registers like the arduinome/monome to decode the buttonpresses. Because 2 of the Tinct boards are rotated on the Octinct, the button column/row pinout to each idc connector changes quite a bit. The Octinct controller houses the 12 transistor base resistors, controlling the amount of current used to turn on/off a color channel. The heavy version also has a breakout connector for applying outside regulated current should you chose to run your Octinct on current beyond the arduino's onboard regulator.
Putting it all together you have a control shield that sits on top of an arduino, from there 4 idc cables attach to 4 Tinct buttonpads ... which gives you ... drumroll an Octinct (let's just say the Oct means 8 rows/columns).