Re: [SeattleRobotics] Re: Christmas Lights run-Amok - Charlieplexing
- douglas_warren_bell wrote:
>I also learned the technique before encountering the tech note. IOh little doubt coined by someone else reading the ap note, likely
>don't think Maxim invented the technique, but they've coined a term
>for it which is useful for talking about it, and the tech note
>provides an on-line reference.
without even a second thought that it may have already been fairly
>Do you know of an on-line example of this diagonal hookup youSame as at the bottom of the ap note. Arrange your elements as a grid,
>mentioned, or any other on-line description of what I've come to
column 1 is group 1, 2 is 2, etc, and your individual elements in each
group are row 1, 2, 3, etc. Then, the pattern the wiring follows is the
diagonal lines through the array, like in the table they have. Common
and the other lines rotate through the group as you advance to the next
group. Note that you can also keep your drive wires straight, change
where the common point for the LEDs is, and have your element grid on
the diagonal. Not doable with a fixed item like a 7 seg display, but
works for other things. When I run back into my board, I'll upload a
pic or two of it, looks pretty good for hand wired.
Also, you can get input as well as output this way. Put a diode
inline for each switch, and use instead of an LED, of course need pull
ups and common ground or similar, and read it in. Need the diode on
each, or they'll short out the reverse connected LEDs. Not really worth
it to do a whole keyboard this way, better to use a shift register etc
and get your other 8 outputs. But, if you're doing a LED array anyway
and only need a group or two worth of switches, it works great.
>For an art project for dorkbot, I've constructed a 44 x 27 array ofLOL, constructed is right, that's a lot of 7 segs.. Maybe you should
>7-segment LED displays, driven by 18 networked microcontrollers
>using Charlieplexing. Each microcontroller drives a 22 x 21 array of
>LEDs (22 x 3 displays) via 22 output pins. So far I have 1 of the 18
>sections wired, and I've been writing code for the one
>microcontroller to convince myself it's worth the trouble to wire up
>the rest of it.
start designing toilet seats too,
http://www.kiss-textil.de/galactikaen.htm needs more light.. Was
looking for the plexiglas wall with tons of LEDs, it looks like a good
project for the plexing..
>For displaying digits, it was convenient to construct an array of1 array instead of 8, bit pattern shifted to position, bit pattern
>bit patterns for each digit value from 0 to F for the 8 types of
>digit connections that occur as the diagonal wiring discontinuity
>works its way across the 22 columns and three rows. There is also a
>table of wiring type for each column of each row.
shifted one more, common set high or low, left of common is pattern,
right of common is shifted one more pattern. But if you've got the
table space, the table is just as good.. You have 8 and patterns for 8
bits, like 00011111 for bit 4. XOR with FF to get the pattern for the
other side, then set bit 4 for the common using your same index. Codes
up fairly well.
>For alphanumeric fonts using multiple displays for each character,
>an array of bit patterns specific to each connection type would take
>way too much ROM, so I store patterns of segments to light, and
>calculate the bit patterns to apply to the output ports on the fly.
>For graphics, it's all calculated on the fly, the tables are
>application specific, not output port specific.