465Views5Replies

Author Options:

USB Controlled Microcontroller

Hi, i'm new to microcontrollers and I want to make a Usb powered and controlled 5 x 20 Led array using charlieplexing, and I have a few questions: - Is there only 1 led on at a time when charlieplexing? - What microcontroller should I use? - Is there a good instructable on connecting a USB to a microcontroller? (i've searched) - Does anyone have a suggestion for a programmer. Thank You, Sander

5 Replies

westfw (author)2008-06-08

As you discovered (but for the information of other readers), the extra letters at the end of Microchip part numbers designate packaging and temperature ranges. That isn't true of all microcontrollers; for instance the Freescale parts put most of the details there, so a 68HC908KJ1 is MUCH different than 68HC908QT4...

westfw (author)2008-06-08

I'm not sure. It seems to me like you should be able to do a full row at a time unless you're using bi-directional LEDs or similar, but I've seen references claiming that you can be subject to "ghosting" through hidden current paths if you do more than one at a time...

gmoon (author)2008-06-08

Yeah, charlieplexing is a form of demultiplexing, and only one LED is lit for a given state of the output pins.

However, one can cycle quickly through different states so it appears multiple LEDs are lit... Your POV does the rest.

westfw (author)2008-06-07
There are FIVE instructables on charliplexing:
https://www.instructables.com/id/How-to-drive-a-lot-of-LEDs-from-a-few-microcontrol/
https://www.instructables.com/id/5x4-LED-display-matrix-using-a-Basic-Stamp-2-bs2/
https://www.instructables.com/id/3D-LED-Charlieplex-Cube-from-Chrismas-Tree-Lights/
https://www.instructables.com/id/Charlieplexing-LEDs--The-theory/
https://www.instructables.com/id/Charlieplexing-7-segment-displays/

You have several choices for USB connectivity:
  • A microcontroller like the PIC18F4450 that has special purpose built-in USB peripherals.
  • A conventional microcontroller that "bit bangs" USB entirely in software. (The only things I've seen along these lines is for Atmel AVRs. See AVRUSB)
  • A conventional microcontroller with an external USB peripheral chip. While it may be depressing paying more for the USB chip than the microcontroller, this has the advantage that the chip vendor may provide PC-side drivers that connect easily to software by pretending to be a serial port. The FTDI chips are very popular for this, and they have drivers for ALL popular OSs.

See also this How to Choose a Microctroller Instructable. Be sure to read the comments!

If you're starting out from scratch, you could do a lot worse than to buy one of the Arduino products or "Freeduino" clones. By default they are self-programming (no additional programmer required, include USB connectivity (via FTDI "serial" chip), and include a LOT of online support and tutorials. There's even This instructable on Charlieplexing using arduino. They sell for $25 to $35 or so for a version with the USB chip (some cheaper semi-clones omit USB connectivity...)
guyfrom7up (author)2008-06-07

I (personally) recommend AVR microcontrollers (cause I've tried PIC and I could never get it to work) and I use this programmer:
http://cgi.ebay.com/AVR-ISP-Programmer-Compatible-With-Atmel-STK-200-300_W0QQitemZ130202441672QQihZ003QQcategoryZ4661QQrdZ1QQssPageNameZWD1VQQcmdZViewItemQQ_trksidZp1638Q2em118Q2el1247

As for charlie plexing I think you can get multiples by using a combination of what pins are acting as ground or Vcc and by quickly blinking them so it seems continuous.