A
A
Alex Smith2013-11-22 11:24:32
Arduino
Alex Smith, 2013-11-22 11:24:32

Connecting 100 LEDs to arduino. What are the solutions?

The question arose about the implementation of the project below:
http://www.youtube.com/watch?v=VfTdpmJlHc8
Is it possible to do this on arduino?
Now I have about 300 LEDs in one flashlight, if you combine at least 3 each, you get at least 100 channels.
How to expand the number of outputs?

Answer the question

In order to leave comments, you need to log in

8 answer(s)
S
Smilley, 2013-11-22
@Smilley

The 74HC595 chip is one of the most common shift registers: synchronous, with a data register (latch). It allows you to increase the number of microcontroller outputs.
The chip converts the incoming serial signal on 1 pin (Ds) to the output parallel on 8 pins (Qx). The serial transmission is synchronous: an additional pin (SHcp) is used for the clock. Also, a separate pin controls the data register (STcp), which allows you to change the signal on 8 outputs at a time when all data is transferred.
Thus, from the three pins of a microcontroller, such as Arduino, you can get 8 digital outputs. You can make cascades from the 74HC595 registers by connecting one after the other (via pin Q7 '), and thus get 16, 24, 32, etc. from the same 3 incoming lines. digital outputs.
Use a shift register to increase the number of microcontroller outputs. For example, to control a large number of LEDs.
For convenient work with the chip via Arduino, there is a built-in shiftOut function.

Y
yvm, 2013-11-22
@yvm

On the WS2812, you can do more abruptly.

A
Alexey T, 2013-11-22
@Alexeyslav

What is not enough? quite enough. For example, not to load one bit at a time, but 8 at once - 8 parallel chains from registers that are replenished with one signal. Few? then a 40-foot controller and 16 bits at a time. For 8 cycles, we will transfer 128 independent states of the LEDs ... if we limit it to 32 brightness levels, then the cycle will be 32 * 8 cycles - 256 cycles. With a register loading speed of 100K cycles / sec, the frequency of such a PWM will be about 500Hz, which will make it possible to make individual flashes with a duration of 1/500 sec with an arbitrary brightness level. This is more than enough.
If you use SPI and a chain of 16 registers, then it is quite easy to achieve similar results.

V
Vitaly Peretyatko, 2013-11-22
@viperet

You can control a bunch of LEDs using the max7219 7-seg display controller.
One chip can drive an 8x8 array of LEDs using only 3 legs on the microcontroller. only one resistor is needed (rather than one for each diode), multiple max7219s can be connected in series. disadvantages - the maximum current through the diode is 40 mA, at 5 V, very little ... well, you can not control the brightness of individual diodes, either on or off.
Another option is dm633, a 16-channel LED driver, current up to 90 mA, at 17V. You can control the brightness of each diode (PWM) and globally the brightness of the entire matrix. You can also connect several drivers in series ...

D
Denis, 2013-11-22
@uscr

74HC595 won't roll. It is convenient to use for static indications. Draw a network map with LEDs reporting host status. And the fact that he does not pull out on the video is not enough switching speed. You need to look in the direction of LED drivers. I have a similar task: I need to steer a large number of RGB LEDs. I ordered TLC5940, today I will just try to launch it. I'll see what comes out.
By the way, they write about this chip on the arduino playground: http://playground.arduino.cc/learning/TLC5940

A
Andrey Klyuev, 2013-11-22
@BBird

Read the blog of this person or write to him in a personal - this is his brainchild.

M
maxnew, 2013-11-22
@maxnew

Perhaps it will help:
http://arduino.ru/forum/apparatnye-voprosy/svyazka-mega2560-s-p10-led-module
conture.by/post/1100

N
Nataly75, 2014-04-01
@Nataly75

Minimum-minimor: 128 LEDs for 16 arduino pins - that's it.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question