About

This page contains a single entry from the blog posted on July 7, 2008 8:10 AM.

The previous post in this blog was When robots swarm.

The next post in this blog is Project Dragon Fish - Underwater Rocket Science.

Many more can be found on the main index page or by looking through the archives.

Sign up for the fortnightly Circuits eNewsletter. Get design ideas and circuit schematics straight to your email inbox, no fuss. Just tick the option for Circuits.

RSS Subscribe to this blog's feed
[What is this?]

Recent Comments

Archives

« When robots swarm | Main | Project Dragon Fish - Underwater Rocket Science »

Charlieplexing - Cylon-eyes and Holoclocks

charlieplexing 2.jpg
Charlieplexing. The verb is an electronics technique apparently named after one Charlie Allen, an engineer at Maxim.

It involves minimising the use of I/O pins on a microcontroller to drive a maximum number of LEDs, for example using the smae pin to alternate between driving digits (cathodes) and segments (anodes).

You can read an entry on Charlieplexing in Wikipedia. I quote:

"Much like standard multiplexed displays, all the cathodes of any particular digit are connected together to a single I/O pin which remains low. Much like standard multiplexed displays, each anode of each LED of a particular digit is tied to the current-limiting resistor of a different I/O pin.

During operation, only one of the I/O pins is pulled low at any one time, pulling the cathodes of one particular digit low, acting like the digit-select line of standard multiplexed displays. All the other I/O pins connected to the display act as the "segment select" "anode pins" of a standard multiplexed display. All those pins are either "enabled" (pulled high through the current-limiting resistor) or "disabled" (aka "left disconnected" or "high Z" or "direction=input")."

Maxim themselves simply define Charlieplexing as "a display driver circuit to reduce pin-count". Its a multiplexing technique used in their own LED display drivers, and you can read an Application Note from the company on this particular topic.

Do a search on YouTube and you will find plenty of examples.

Here is one - "Cylon-eye" (based on the Galactica Android characters) - using an ATtiny15L AVR microcontroller (a circuit diagram and more info is on the site),



Here is another impressive one, involving what its inventor dubbs a 'Holoclock', where randomly changing LED patterns are used to indicate the time. Very cool, even if hard to see the time at a glance. (Again, circuit info and description available via the link)



(Different colours are assigned to different digits, red = 10 hours, amber = hour, green = 10 minutes, blue = minute, so 12:07 would be one red, two amber, no green and seven blue....). Very clever, but definitely not a quick and easy way to glance the time...

The inventor, (rgbphil), writes:

"A 20Mhz crystal has been added to the Microdot circuit to clock the PIC much faster, this allows the array to be scanned faster and enables the implementation of a dimming algorithm. The dimming algorithm was very important to getting a cross pattern fade and ambient light function to work. This would have been impossible with the Microdot, because of the slower clock speed as some scan cycles needed to be spent on dimming. See next section for a description of the Dimming functionality.

"The other things to note are the use of a MCP1252 charge pump regulator to supply 5V, my favourite chip at the moment. If you modified the circuit you could use a plain old 7805......I just have a number of these handy chips hanging around."
Fascinating stuff!

TrackBack

TrackBack URL for this entry:
http://www.electronicsweekly.com/cgi-bin/mt/mt-tb.cgi/30140

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)