Well as you know multiplexing is a method to communicate more data with a lesser existing channel or time. Just to sound similar because of a analogy char…plexin is called so.
Charlieplexing is method to drive more number of LED’s from very less number of pins. Now there are loads of pages talking about this method on the internet. I found most of the very vague. I have tried to assimilate them together here on my page. So here it goes,
It is a method of driving many number of Led’s with lesser number of drive pins. One simple analogy being, if you wanted to drive 6 Leds in some sequence how many microcontroller pins would you want?You would say 6. Why just you!! most would say 6.
These days we have 40 Pin microcontrollers which makes the value of each I/O pin really less. But first let me explain you the context. in small series of microcontrllers which would just have 5 pins, it is impossible to drive 6 Led’s with our concept of using a single pin for one LED.
Well i can hear you say that you can use a multiplexer!! a 3 to 7 Mux or something?? well i would say you are not wrong, charplieplexing provides an amazing method when in goes to huge numbers.
Say we have 3 pins A,B,C of a microcontrollers. We can connect 6 LED’s in a combination such that,
When A=5v , B=0v we’l have LED1 glowing and all other LED’s off
When A=0v, B=5v we’l have LED2 glowing and all other LED’s off
Pair LED1 and LED2 are a complimentary pair. Similarly we can have 3 such pairs and control all 6 led’s form 3 pins.
I am very sure you are not clear about the concept.. Well you must read this to understand the concept completely. Link goes to instructables