¿Cómo controlo varios cientos de leds individuales con Arduino (s)?

8

Estoy trabajando en un proyecto de electrónica que involucra cientos de LED. (Hablando de seis a setecientos LEDs ... mucho, lo sé.) ¿Hay alguna forma de controlar estos LED con uno o un par de Arduinos? Me gustaría poder acceder / controlar cada LED individualmente , ya que lo que quiero hacer es trazar los LED en un mapa del mundo. Luego, interconectaré Arduino con Google Analytics y cuando alguien navegue a mi sitio desde un lugar determinado del mundo, el LED más cercano a su región se encenderá casi en tiempo real.

Cualquier ayuda sería apreciada. ¡Gracias! He tratado de investigar un poco y leer acerca de la multiplexación y el análisis de charlie, pero ¿parece que estos llegan a un máximo de 100? Supongo que necesitaría componentes / hardware externos para poder controlar esta cantidad de LED, pero ¿qué necesitaría exactamente para que esto suceda? ¿Alguien más ha creado una matriz de LED tan grande?

    
pregunta kaffolder

7 respuestas

7

Puede usar un registro de desplazamiento 74HC595 (o similar) barato y fácil de encontrar para controlar fácilmente cientos de LEDs con solo unos pocos pines del arduino.

¡Incluso hay un tutorial sobre esto en el sitio de Arduino!

enlace

    
respondido por el Michael Choi
7

Cuando se multiplexan una gran cantidad de LED individualmente, la forma común es utilizar una matriz N x M. El tiempo se divide en N pasos, en cada paso usted activa una de las N líneas de fila y las líneas de columna que corresponden a los LED que desea habilitar. Tenga en cuenta que las líneas de las filas pueden llevar cada una M veces la corriente del LED, lo que solicita cierto búfer. Cada LED está encendido solo 1 / N del tiempo, por lo tanto, para mantener el brillo normal, debe aumentar el N actual. A la mayoría de los LEds no les gusta esto. Charlieplexing no es práctico en esta situación debido a las grandes corrientes involucradas.

Por su pregunta, entiendo que desea habilitar solo 1 LED a la vez. En ese caso no hay nada malo con Charlieplexing. Un uC con 31 pines de E / S puede controlar 900 LED. Parece que la construcción será una pesadilla ...

Actualización 5 años después: La multiplexación normal o Charlieplexing es agradable cuando tienes demasiado tiempo a la mano, pero cuando tuve que controlar cientos de LED, ahora compraría una larga tira de LED WS2801.

    
respondido por el Wouter van Ooijen
2

Yo construiría esto de una manera modular. Maxim's 6960 conducirá 64 LED para usted, aunque es un poco caro. Se manejan con una interfaz serial, y puede conectar hasta 256 de ellos juntos.

El 7218/7221 también funcionaría.

    
respondido por el Eric Gunnerson
2

Una respuesta un poco tardía a esta pregunta, pero aquí hay 528 LEDs que Charlie desconectó de un solo PICAXE 40X2. Subiría a 930 LED si todos los pines estuvieran dedicados al trabajo.

La construcción: enlace

Un video: enlace

La arquitectura PICAXE es bastante lenta, por lo que el número máximo de LED que pueden encenderse simultáneamente se limita a unos 15 antes de que el parpadeo se convierta en un problema. Un procesador más rápido y una programación más inteligente aumentarían significativamente este número.

    
respondido por el Buzby
1

No estoy seguro de si mi respuesta es buena o no ... pero ¿por qué no hablar de las franjas de leds direccionables WS2811?

Queremos hacer una matriz de LED para mostrar texto. Hay un proyecto aquí ( enlace ), realizado en un Teensy, que es casi lo mismo que un Arduino.

Creo que utiliza el concepto de PWM (Modulación de ancho de pulso) y, por lo tanto, permite enviar datos complejos a las bandas de leds con un solo cable.

Pero, una vez más, no estoy seguro de si mi respuesta es buena ...

    
respondido por el Simon
0

En una pregunta reciente, hemos tenido un buen debate acerca de cómo manejar muchos LED. Mi respuesta allí parece ser directamente aplicable a su problema aquí. Vea la respuesta aquí:

LED de conducción a larga distancia

    
respondido por el Michael Karas
0

Basado en información en enlace en el registro de turno 74H595 con un Arduino Uno, que decía 'Si tienes 1000 de estos encadenados juntos' un proyecto se inició en una pantalla LED con 320 LEDS. Cuando obtuve más de 100 LEDs, tuve un mal parpadeo y eventualmente Frito el Arduino.

Así que hablé con el soporte técnico en Sparkfun que me vendió el Tablas de ruptura para el 74H595. Dijo que solo puedes tener cinco o seis LED encendidos a la vez. Así que volví y releí el Artículo en BLDR y se dio cuenta de que puede controlar miles de LEDs. usando 74H595 / Arduino pero solo puedes tener una docena o más en cualquier momento. (Esto tiene sentido porque el Arduino permitirá 200 mA a través de los 5 voltios). fuera puesto y cada LED dibuja 20mA por lo que alrededor de diez es todo lo que lo hará poder con seguridad)

Se han visto transistores que se pueden encender con 1 mA de corriente. Si eso es cierto, si se pudiera diseñar un circuito que controle transistores que tienen un colector de voltaje / corriente mucho más alto para el flujo del emisor. Entonces uno podría usar la combinación Arduino / 74H595 para controlar los transistores que en un circuito con mayor corriente.

Allen en Dallas

    
respondido por el Allen Pitts

Lea otras preguntas en las etiquetas