14th December 2009 09:27
First time seeing christmas blinking star/tree with such small chip with 5 IO lines. Thanks for mention of charlieplexing. Also idea about GUI on PC is impressive to me !
Nice to read you again!
GL 73
Leave a comment on this article.
14th December 2009 12:01
Alan Yates wrote...
G'day again Tomas,
Yes, driving up to 20 LEDs with just 5 lines seems magic doesn't it. It is a compromise of course, each LED actually flashes very briefly at a high rate so it is suitable for human consumption only (you can see the multiplexing pulses on some of the video frames I took in the dark where they overload the camera part way through the sensor scanning - this makes the final product hard to capture in its full glory). The rate is well above the human flicker fusion frequency, and even slow movement across your visual field is acceptable.
Obviously a larger MCU could drive the LEDs in a more straight forward manner (or more LEDs charlieplexed), but the wiring harness gets very complicated. With 5 lines it isn't too bad to deal with physically, each line connects to 4 separate reverse-parallel pairs. The back of the star project shows the general construction approach well, I'll post more about it once the software is closer to completion.
I haven't supplied a circuit diagram because the exact pin-to-LED mappings I did not record. I simply sketched the K5 graph and wrote down one possible (arbitrary) edge numbering scheme. From that I derived a wiring list and built it physically. The 5 drive lines were twisted up into a bundle and terminated on a 5-pin plug. I then injected a current-limited signal into the pins in turn to discover the pin-to-LED mappings which where written into the led mappings table in the firmware. The LED numbering scheme is arbitrary, but I chose anti-clockwise from the top-down so each nibble encodes one level of the tree and each vertical column has the same bit order within the nibble so I can design the frames easily.
The design GUI I may make web-based as that would allow other people to use it regardless of their PC platform. If I make it generic enough it can be used for any kind of display design problem.
Regards,
Alan