Controlling 70+ LEDs with UNO R3

Hi, I'm new here. I'm a beginner in Arduino and in electronics. In fact I even haven't got Arduino yet, because I'd like to have at least an idea what to buy.

I'd like to create a clock that will show time using leds - 12 leds for hours and 60 for minutes. Something like this(click).

I've got a question - is it possible to build a ciruit from that drawing:

with UNO R3?
Thanks

Take a look at this post - http://arduino.cc/forum/index.php/topic,117117.0.html

The answer to your question is Yes.
I will post a link to a method to do what you are envisioning, let me do a quick search...

This design will control 64 LEDs. You need 72. So what you can is add additional banks of LEDs, and control additional transisitors with a shift register instead. Or a shift register with high current sinking capability, such as TPIC6B595, and skip the transistors.
Take it a step further, and drive the anodes from 2 shift registers, and free up IO pins for buttons for setting time, retrieving time from an Real Time Clock chip, etc.

Thanks for replies, I'll try to understand these things now :grin:
As I understand, method posted by CrossRoads won't need printing my own PCB?

Another couple of options would be to use either 2x MAX7219/MAX7221 chips or 4x WS2803 chips.
If you don't want to fade individual LED's (just turn them on/off) and they are single colour (not RGB) then the 2x MAX7219's will drive 128 LED's (64 LED's per chip). If you want to fade individual LED's then 4x WS2803 chips will drive 72 LED's (18 LED's per chip).
You don't need to create a circuit board as you could mount the LED's in some form of frame (wood/plastic with drilled holes) and run (a lot of) wires to a small protoboard with the chips on. The problem would be accurately drilling 72 holes for the LED's unless you have access to a CNC mill.

Correct, you would not need to make a PCB.
Arrange the LEDs in a couple of circles and start wiring.

You can use 9 TPIC6B595 driver latches, mounted on perf/vero board, with a resistor somewhere in each led segment, and just 3 wires to the arduino, ( 4 wires if you want to dim the brightness )
I can post a schematic if you like

Thanks for so many replies, they are really helpful.

Boffin1, could you post the schematic you mentioned? I'm still learning so even if I won't use it it will be a good lesson for me.

I'm still curious to know something about this method:

CrossRoads:
This design will control 64 LEDs. You need 72. So what you can is add additional banks of LEDs, and control additional transisitors with a shift register instead. Or a shift register with high current sinking capability, such as TPIC6B595, and skip the transistors.
Take it a step further, and drive the anodes from 2 shift registers, and free up IO pins for buttons for setting time, retrieving time from an Real Time Clock chip, etc.

I want to make a clock, so I'll need two independent circuits - one for hours and one for minutes. On the schematic you've posted I see that all arduino pins are used, so two led circuits will need 2 arduinos, right?
I can lose half of minute diodes (one diode will mean two minutes) and rest of free pins will be used to hours circuit. Or maybe multiplexer - what do you think?

The other way is using chips, as some people posted here - I have really zero experience in electronics - I will just have to solder those chips into arduino proto pcb?

"I want to make a clock, so I'll need two independent circuits "
No, you just need a way to control 72 LEDs. Or 132, if you wanted a ring of seconds, a ring of minutes, a ring of hours.

Look at this circuit:
This controls 64 LEDs.
If you were to expand this to the right, and added 2 more of the chips along the bottom to control the additional columns, now you'd have 128 LEDs. Add another columns, and 2 more chips again, and you have 144.

Arrange 60 LEDs from the first 8 columns in a circle. 8 bytes of data will represent the status of those LEDs.
Arrange 60 LEDs from the 2nd 8 columns in a circle. 8 bytes of data will represent the status of those LEDs.
Arrange 12 LEDs from the last 2 columns in a circle. 2 bytes of data will represent the status of those LEDs.

Have some extra LEDs to represent AM & PM even.
Have some fun on minute changes & hour changes, run a fun pattern thru the circles or something.

To run it: have some fun mulitplexing - every mS or so read the byte of data for a column & send it and turn on the corresponding cathode.

The process was well discussed here
http://arduino.cc/forum/index.php/topic,114901.0.html

Simplify the design some - use a TPIC6B595 in place of the 74HC595/ULN2803s along the bottom.

Heres a simple way that doesn't actually need the Arduino, you just need a one minute pulse to shift through the 60 shift registers, and the 59 output fed back to the 1 minutes, and the hours clock, but hey this is the Arduino forum :slight_smile:

each driver can drive a single LED, or a line of them.

Using the Arduino makes it easy to clear out the register at startup, and have manual fast forward to set the time.

The Arduino just has to shift one bit every minute ( and hour ) it doesnt need any lookup tables, or the shiftout library.

I havn't bothered with the notSCLR and the notG pins of the chips to save wiring, any dimming can be done with the LED supply, and clearing the register can be done with 60 zeros pulsed through at setup.

Riva:
If you want to fade individual LED's then 4x WS2803 chips will drive 72 LED's (18 LED's per chip).

Where do you even find these? I put WS2803 into Digikey, Findchips, and Jameco and no one seems to have ever heard of them.

I'd go with tlc5940 16-channel PWM drivers. Everyone uses them and there are libraries already written.

You're right JoeN, I can't find them either.
Only on e-bay. Lots of 5 & more.
These are in Niagara Falls, NY
http://www.ebay.com/itm/5pc-Worldsemi-WS2803D-18-Channel-RGB-Constant-Current-LED-Driver-DIP-WS2803-PWM-/150694768407?pt=LH_DefaultDomain_0&hash=item23161baf17
Same seller also has lots of 10, 25, 50, 100, with price dropping with qty.
Surface mount also.

Wonder how they got to be sole distributor>?
Digikey,
Mouser,
Avnet,
Arrow,
DipMicro,
Tayda,
Jameco,
Gerber Electronics,
Newark,
Future Electronics,
AllElectronics,
SurplusSales,
no one has these.

I've been thinking of making an 8x8 table for a while, need 11 drivers for that, so I just ordered a tube of 25.

JoeN:

Riva:
If you want to fade individual LED's then 4x WS2803 chips will drive 72 LED's (18 LED's per chip).

Where do you even find these? I put WS2803 into Digikey, Findchips, and Jameco and no one seems to have ever heard of them.

eBay is where you find them. $2-$3 each chip depending on quantity bought http://www.ebay.co.uk/itm/5x-Worldsemi-WS2803SO-18-Channel-RGB-Constant-Current-LED-Driver-SOP-WS2803-PWM-/150721605686?pt=LH_DefaultDomain_0&hash=item2317b53036

Riva:

JoeN:

Riva:
If you want to fade individual LED's then 4x WS2803 chips will drive 72 LED's (18 LED's per chip).

Where do you even find these? I put WS2803 into Digikey, Findchips, and Jameco and no one seems to have ever heard of them.

eBay is where you find them. $2-$3 each chip depending on quantity bought http://www.ebay.co.uk/itm/5x-Worldsemi-WS2803SO-18-Channel-RGB-Constant-Current-LED-Driver-SOP-WS2803-PWM-/150721605686?pt=LH_DefaultDomain_0&hash=item2317b53036

Does it bother you that no reputable dealer sells these?

I guess for a hobby project, no big deal, but I still think the TLC5940 chips I mentioned earlier, which are also available on eBay at reasonable prices, and are stocked by the major distributors, fit the bill.

Does it bother you that no reputable dealer sells these?

Nope. :smiley:
The WS2803's smaller variant the WS2801 is used in many a pixel addressable RGB LED strips so is not necessarily a hobby device. As for 'reputable dealer', I'm no longer prepared to pay there 'reputable' prices if I can help it. My first 2x MAX7219 chips from Mouser cost more than 10x 'Buy It Now' MAX7219 chips from a 'eBay Top-rated seller'. My first obligatory Arduino clock project would have been about 25%-30% cheaper if I had thought to use eBay first. :frowning:
The TLC5940 is a good chip but for me it's a bit more expensive (from eBay) compared to the WS2803 and the 18 outs of the WS2803 suit better for RGB LED's compared to the 16 on the TLC5940.

Riva:

Does it bother you that no reputable dealer sells these?

Nope. :smiley:
The WS2803's smaller variant the WS2801 is used in many a pixel addressable RGB LED strips so is not necessarily a hobby device. As for 'reputable dealer', I'm no longer prepared to pay there 'reputable' prices if I can help it. My first 2x MAX7219 chips from Mouser cost more than 10x 'Buy It Now' MAX7219 chips from a 'eBay Top-rated seller'. My first obligatory Arduino clock project would have been about 25%-30% cheaper if I had thought to use eBay first. :frowning:
The TLC5940 is a good chip but for me it's a bit more expensive (from eBay) compared to the WS2803 and the 18 outs of the WS2803 suit better for RGB LED's compared to the 16 on the TLC5940.

I said you should buy chips that reputable dealers will stock, not necessarily from the dealers themselves. I avail myself of eBay all the time, but on supported chips! Here is where I got 50 MAX7219s, they all work fine:

I bought my TLC5940s from an eBay dealer (hitechtools) for $3 each including shipping.

I'd rather use those chips than the one you mention just beacuse of the broadness of support available for them. Lots of people around here can troubleshoot and offer advice on these devices.

Well, if we got more folks using WS2803 than their broadness of support would expand also.