Progromino

From i3Detroit
Revision as of 19:04, 3 June 2011 by Surferdudemi (Talk | contribs)

Jump to: navigation, search

We don't need no stinking 555 timers! We have an AVR in the same form-factor!

Origin of the name: Programmable Domino = Progromino (pro-graa'-min-o)

The goal of this project is to design an electronic domino using a small AVR chip and minimal components, but at the same time provide a huge amount of flexibility and capability. Here's the 555 version:

http://relwin.hackhut.com/2011/03/01/555-timer-contest-entry/

And here's the current design:

Schematic for board

TODO

1. After reviewing the CR2032 spec, looks like it's not sufficient to drive 60 ma - the maximum current required with 3 LEDs on. Fallback is to use 3xAAA batteries, but that's bigger than the device itself! There must be a better solution for powering it.

2. For the initial version, was not able to incorporate the switch (too expensive for switch and PCB space). Need to come up with a suitable H/W and S/W solution. Springy wire? Using ATTiny44A provided a complete SPI interface and one extra unused pin!

3. Write some more demo programs. Ideas:

  • Add a delay of about 1/2 second between inputs and outputs
  • Switch colors from input to output (e.g., red input turns on green output)
  • Demo mode where outputs are turned on in different sequences
  • Use an averaging algorithm to adjust to ambient light conditions


Design

This design uses LEDs as inputs. The LEDs are chosen to minimize crosstalk between colors by taking advantage of the fact that LEDs respond to wavelengths shorter than those they emit. Hence the blue sense LED is a slightly longer wavelength than the blue LED output. The green sense LED is more yellow, so it will respond to green light (and blue light, but not red). The red sense LED responds to all of the colors, unfortunately. Still there is some separation, and if you line up a series of Progrominos, you'll find that the directionality as well as this separation by wavelength is pretty effective. Here's the source code for the basic operation, which simply turns on an LED when the respective input exceeds a threshold.

File:Progromino.asm

What to do With Them

The bill of material ended up being fairly expensive to have a whole bunch of these lined up, though it would look very cool. To reduce the cost of having a large light show, the Progrominoes can be combined with a bunch of cheaper Le Dominoux in an arrangement like a model railroad track, where the Progrominoes act as switches between tracks of Le Dominoux.