– Download as PDF File .pdf), Text File .txt ) or read online. Electronic theory, schematic circuits and PIC tutorials. Like other multiplexing techniques (eg matrix), charlieplexing is used to control more loads The two LEDs are connected anti-parallel, the anode of the red LED (left) is. The term “Charileplexing” is not a familiar one for many electronics hobbyists. Charlieplexing is a technique proposed in early by Charlie Allen (at.
|Published (Last):||21 February 2011|
|PDF File Size:||2.44 Mb|
|ePub File Size:||4.68 Mb|
|Price:||Free* [*Free Regsitration Required]|
Charlieplexing 8 LEDs – trouble generalizing routine. While I understand the theory behind Charlieplexing, I am running into trouble when creating my ledz in code to be fast, generic, and able to turn on any combination of the eight LEDs and keep them lit using, using POV techniques obviously since it’s impossible to constantly have lit any arbitrary configuration of Charlieplexed LEDs.
Few examples I have looked theiry cover code beyond the basics: This is not my problem. My problem is that I am having trouble finding a solution that is generic and persistent.
I think that the solution would probably contain two parts: I am getting hung up trying to wrap my head around this algorithm. Here is the code I am working with now: My first observation is that your circuit is wrong.
Perhaps more to the point, your resistors are connected wrongly. Only one LED terminal goes to a resistor, choose either cathode or anode, the opposite pin of the LED; the one not connected through a resistor; will be the “strobe” that is powered whilst however many up to three of the LEDs connected to that pin are lit at a time.
Four wires – four strobe phases. If you need to drive more than 7 mA per LED i.
Think in terms of four strobe phases; generally driving each of the anode commons HIGH in turn with the resistors in series with the cathodes and pulling whatever 2 or 3 cathodes you need to activate, LOW for that strobe time. Note that each of the four strobes must persist for the specified time regardless of whether any LEDs are lit, otherwise the brightness will chalieplexing depending on how many LEDs are lit. I am having trouble understanding what you’re talking about when you mention my incorrect resistor configuration – do you think you could post a quick schematic to illustrate better what you’re talking about?
I won’t need that much current; I don’t need them to be particularly bright. Hi, how about this compiled but untested: To my mind it is just PaulRB on Sep 23, Thanks guys for the replies First, though you’re right to say that in this case the speed gain from direct port manipulation is not appreciable, it still has merit, in that directly setting the port direction registers ensures that the tri-state outputs are changed exactly simultaneously.
While the slight effects of this could be unnoticeable, I am trying to follow best-practice, as well as use this as a learning charliepllexing to get myself more acquainted charliepleding the low-level side of these processors.
Theroy do correct me if I am way off base.
charlieplexing | Hackaday
As a student, my life is busy so I honestly don’t have time to re-work my circuit right now. I will do that ths soon as possible though, because you’re right – being able to light more than one LED at once is the correct way to do ldds, and would be the “best-practice. I tested it and it works like a charm, right down to lighting more than one LED at once if it’s enabled. I implemented a routine like yours in my own code, and now my main loop looks like this to flash two patterns: