Go Down

Topic: 100+ led knight rider (Read 922 times) previous topic - next topic

nykffa

Aug 08, 2008, 09:44 pm Last Edit: Aug 08, 2008, 09:50 pm by nykffa Reason: 1
Hi
I've been going around this project of making a 144 led "knight rider" and I made it work (in code at least) with port manipulation and charlieplexing. However I am sure there is a easier way to do it.

I would like to open a discussion around this.

How do you make a knight rider or "shooting star" with more than 100 led's?


MikMo

If you just need to turn the LED's on / off, you can use shift registers. But 144 Leds will require 18 8 bit shift registers or 9 16 bit registers. This can probably cause timing issues, depending on how fast you need to update the LED's.

There are also the max7219 IC that can control 64 LED's

westfw

I don't see why charlieplexing should end up overly difficult.  It should be pretty easy to produce charlieplexing "infrastructure" that allows your main code to look like
Code: [Select]
for (i=0; i <144; i++) {
 charlie_led_off(i-1);
 charlie_led_on(i);
}

It might not be the smallest code "behind the scenes", but that isn't necessarily an issue that one should worry about.  Code to manipulate a 20led two-dimensional charlieplexed array fits easily on a 1kbyte ATtiny11, for example.

I've been thinking about a generalized led array code generator sort of application and library that would create code for you given an array size (in one to three dimensions), a wiring scheme (multiplex, charlieplex, etc.) and so on...  It all depends on how quickly people outgrow blinking lights.  (*I* still haven't outgrown blinking lights!  The other project that would be neat is the beginning electronics book "how to make blinking lights"...)

nykffa

Please write that book, I will buy it and read it.  

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy