Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.
planning on using the chariplexing method to control 10 leds so only 4 port pins are needed BUT are there any issues that should be concerned with. Planning on using only 4 resistors and only 1 led enabled at a time.
These three publications contain probably the world's collective knowledge on Charlieplexing.
One thing the may not be explicitly stated. Yes, you can drive (many, not all types) of LEDs at high currents for limited time (check the peak rating), but as soon as your code stalls (unlikely, I know), you'll destroy any LED that happens to be on.
Be sure the LEDs you use can also handle the reverse voltage - not all of the can.
re thinking this project and looking at the whole picture and asked myself why chariplexing, I have lots of unused pins in my proposed design.
Hopefully can breadboard a prototype on Monday and Radio Shack in Longview is still open??. Need some pcboards.
If you have Port pins available, Charlieplexing is making things needlessly complicated, both in terms of lay out and code. There are numerous places for errors to creep in.
If this was my project and I was worried about port pins, I would use an I2C port expander chip like the MCP23017, 16 bits and nothing to worry about except when you need to change which LEDs are illuminated. But I'll be the first to admit, I'm a lazy programmer - I would much rather farm off multiplexing to a dedicated chip so I don't have to keep those plates spinning while my code is trying to do other stuff. If I was trying to squeeze every penny out of the BOM because I was making hundreds of them I would take on the added complexity to save a buck.
An alternative to the MCP23917 is the DM13A. This chip is a 16 channel constant current LED driver with a serial shift-register type interface. It's in an easy-to-use DIP24 package and since a it's constant current, no LED resistors are required. A possible down side is that all the LEDs will be driven by the same current, which could be an issue with keeping constant brightness levels with different color LEDs.
Chatiplexing went out the window after I started looking at how to implement code.
Then asked myself WHY go to so much trouble if I have extra port pins not being used.
Now onto writing code for another different game idea I have. Trying to configure how to count button presses (just need to count 3 presses to translate to amount of Delayms(time).
starting with a very short ode and building from there.
Maybe my efforts will be of value to someone else.
You might consider giving your ideas a few minutes of evaluation before asking too many questions on the various forums you frequent - people invest a great deal of time and effort trying g to help you for naught.
it is definitely helpful with all the different input ideas. My questions have started several other threads, for example, when I was trying to use the HLVD feature on a pic, then a big tutorial appeared on another forum.