Go Down

Topic: What hardware can drive one long row of 100 LEDs (Read 2327 times) previous topic - next topic

Grumpy_Mike

Quote
Why do I not want to use the capacitor?

Because it will destroy the output pin by causing it to source and sink too much current. Instead the capacitor should be placed between +5V and ground on every shift register. A 0.1uF ceramic capacitor is sufficent.

David82

I don't know what the shift register is. Can you fix the image below to illustrate what you mean. Also, is there a way to avoid using a resistor for every LED?

Grumpy_Mike

Quote
Also, is there a way to avoid using a resistor for every LED?

Not with a shift register no.
Don't put the capacitor in, that is the red blob in the middle board.

David82

Now I'm getting two different answers. One says to put the cap somewhere else and the other says not to have one at all.

CrossRoads

Why not use two MAX7219 or MAX7221?
Each can control 64 leds.
Resistor per LED is not needed.
LEDs are  hooked up in groups of 8 and connected to the MAX7221.
Each LED can be controlled individually.

http://arduino.cc/playground/Main/MAX72XXHardware
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

David82

Yep. That would make more sense.

Looking down the road, I need to find someone Ican pay to develop this into a finished product (no arduino). I've had batches of hardware parts machined before but not electronics. Where would I post my complete, detailed, requirements so that I can receive bids on a finished product?

CrossRoads

Here would be fine. Would be simple to make an arduino like board that could control 100 LEDs.
This one does 96 with 12 shift registers (top of the board) and an ATMega328 (bottom section of the board).
Adding 1 more shift register should  for full 100 should be possible.
Or use as is for 96.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

David82

#22
Apr 23, 2012, 03:07 am Last Edit: Apr 23, 2012, 03:09 am by David82 Reason: 1
Guess what; I only really need 88. They need to be in a row, consist of only red and green LEDs. The finished product would look like this but have 88 LEDs:
It would connect via USB and have a C# example code that would illustrate turning each one one and off. It could also be serial since I could still use a Serial-to-USB converter but USB would be best. If you can't do all of that even supplying the boards and wiring would be useful.

CrossRoads

This board would do that nicely. Plug a FTDB Basic USB/Serial adapter or equivalent onto the FTDI header, send in 12 bytes via serial (start byte & 11 data bytes for the 88 LEDs), the uC  sends out 11 bytes via spi.transfer to light the LEDs up. Leave on for some predetermined time, or turn off if not turned on in the next chunk of data received.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

David82


This board would do that nicely. Plug a FTDB Basic USB/Serial adapter or equivalent onto the FTDI header, send in 12 bytes via serial (start byte & 11 data bytes for the 88 LEDs), the uC  sends out 11 bytes via spi.transfer to light the LEDs up. Leave on for some predetermined time, or turn off if not turned on in the next chunk of data received.
OK. What services can you provide on this project?

CrossRoads

As much as you'd. As little as selling you the board and a set of schematics and PL, to selling you a populated board with wires (could be connectorized) going out to resistors/LEDs (you'd have to specify reds/greens and how long you'd like the wire) for you to mount on something with predrilled 3mm or 5mm holes or whatever sizze LED you'd like, capable of accepting 12 bytes of data at up to 115200 baud via USB that would then turn on the appropriate LED in each byte (1 = on, 0 = off) with about 1mS of lag:
1 bit every 1/115200 of a second received, 10 bits/byte, 12 bytes: (1/115200) sec/bit * 10 bits/byte * 12 bytes = .00104 sec.

A suitable wallwart for power, 88 LEDs * .02A max= 1.76A, so a 2A supply should do nicely.

You could order some LEDs & resistors from here,
http://www.dipmicro.com/store/index.php?act=viewCat&catId=511
do some experimenting as to what brightness you'd like, using a 5V source.
I could even give you a little sketch to run on your arduino:
Code: [Select]

LEDpin = 2;
void setup(){
pinMode (LEDpin, OUTPUT);
}
void loop(){
digitalWrite (LEDpin, HIGH);
delay (1000);
digitalWrite (LEDpin, LOW);
delay (1000);
}

adjust the pin & on/off times as you wish.

I had ease of assembly in mind when I designed the board.
Should be able to obtain all parts needed from dipmicro.com, and the shift register/drivers TPIC6B595N from Avnet.com. ATMega328P (28 pin DIP) from either place; -PU or -PN is fine. -PN is just wider temperature range.

You haven't indicated if keypress is related to LEDs lighting up or vice versa, so I assume that you will be addressing that in however the keyboard connects to the PC. I won't do the PC coding part.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

David82

#26
Apr 23, 2012, 06:37 am Last Edit: Apr 23, 2012, 06:45 am by David82 Reason: 1
I'd like to skip the arduino step and go straight to the closest thing I can output commands to from a PC. Do you have an online store? Once the prototyping and testing is finished, I'd like to order these in small batches periodically. I'd want a populated board with leads for the LEDs. An 88-key grand piano's key area is 4ft wide so the longest LED lead would need to be a little over 4ft long. It would be better to have one, long, 4ftx0.5", flat, PCB with the little micro LED's on it and all of the other components. A flexible strip would be better still.

CrossRoads

Can do.
No online store, each design I do is pretty much custom.
I accept payment via paypal.
I'll send you a PM with e-mail address.
Measured my wife's baby grand, it is indeed 4 feet from edge lower to edge of upper key.
I'll use 4.5-5 feet wire so the box can sit on the edge, or be left to drape over the edge.
Box will have panel mount connectors for power cord & USB mini-B connector.
Got an idea for the boards, think 8 of them with C# thru C on them, about the limit of the lenght I can do with the license I have, and keeps the boards within 160 x 100mm.
You mention Red & Green - please explain more.
How small do you envision for "little micro LEDs"?
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

David82

It's normally done C-B. The green LED's would be the natural keys and the red LEDs would be the black keys. It's important that I can send commands to it via C# as I have the whole software side to write. I've seen those flexible strips of LEDs which is where I was getting that idea from. I'm just looking for the most elegant, cheapest solution for this project.

CrossRoads

Huh - despite looking at the keyboard several times last night, I managed to create my drawing incorrectly.
Luckily I only had to move a couple of components to fix things.

Okay, single level, or dual level on the LEDs?  These are 3mm.
Here's a layout I'm envisioning, with examples of both.
Key to key Spacing isn't quite on, but I'm pretty close. I used 0.9 from key to key, think it's a touch more.

Hmm, internet says white keys are 7/8" with 1/16" gap.
52 keys * 7/8 + 51 gaps * 1/16 = 48 11/16" Little too big.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Go Up