La mejor manera de controlar alrededor de 250 LED [cerrado]

0

Tengo la tarea de encontrar una solución para controlar individualmente alrededor de 250 LED. Como sería un recién llegado completo en la programación de un Arduino o cualquier otra cosa, la plataforma informática es relativamente irrelevante para este trabajo (*). Principalmente debe ser portátil y no demasiado grande.

Los LED pueden ser de un solo color, pero si hay una extensión simple para los LED RGB, esto podría ser incluso mejor. Si existe un límite estricto para controlar tal cantidad de LED y las cosas serían mucho más fáciles si redujéramos este número, podríamos poner tres o, como máximo, cuatro LED en el mismo controlador. (Los LED estarán detrás de una pantalla y no se verán directamente). En ese caso, el número podría estar alrededor de 80.

La pregunta es principalmente sobre cuál sería la mejor opción de plataforma en este caso?

(*): Soy principalmente un programador y no un ingeniero eléctrico, por lo que bucear en una biblioteca como C es mi menor problema. El hardware es mi problema.

Editar: Los LED deben colocarse de forma variable. Puede haber grupos o cadenas más pequeños de algunos LED, pero de lo contrario, debería ser bastante arbitrario. Debe haber ~ < 2 m entre los LED más alejados.

    
pregunta Debilski

4 respuestas

2

¿Cuál es el presupuesto? ¿Ya tienes los LEDs?

Para muchos, probablemente intente usar algunos "neopíxeles" (LED con WS2812 o controlador similar). Puede hacer que el cableado sea mucho más simple al permitir la conexión en cadena. Y puede utilizar múltiples fuentes de alimentación si lo necesita en función de la cantidad de LED y el brillo.

Solo necesitas un pin de datos si están todos en una cadena

    
respondido por el BowlOfRed
1

Puedes apegarte a tu Arduino pero necesitas algunos componentes electrónicos adicionales para manejar todas las E / S. Su Arduino es excelente para enviar datos en serie, pero tiene una cantidad limitada de salidas para manejar datos paralelos. Así que podrías usar algún tipo de serial para registrarte en paralelo. Como un registro de desplazamiento: 74HC595.

Echa un vistazo a este enlace a una serie directa a paralela, filas y arreglo de columnas. Esa solución probablemente podría escalarse para adaptarse a sus necesidades, a excepción de la cosa RGB.

    
respondido por el Dejvid_no1
0

El enfoque más fácil que he encontrado es el uso de algo como el Microchip MCP23008 . Los uso con las tarjetas Arduino y RaspberryPI, y pueden interactuar directamente con ambas tarjetas sin necesidad de circuitos externos o componentes discretos. Además, ya existen controladores / bibliotecas que le permiten comunicarse con el dispositivo con relativa facilidad.

Más específicamente, podría usar el MCP23S17 , que tiene 16 pines de E / S, y se pueden conectar en cascada hasta 8 unidades en un solo bus, por lo que se manejan 128 (~ 50%) de sus LED por bus.

A partir de ahí, puede usar un multiplexor I2C para tener múltiples configuraciones de este tipo y solo es necesario un solo bus I2C (no creo que el Arduino proporcione más de 1 bus I2C a los desarrolladores, a pesar de que el chip Atmel lo admite).

Por lo tanto, 1 I2C mux y 16 expansores de puerto GPIO en serie MCP, y listo.

    
respondido por el DevNull
0

Hay un método que muchas personas usan en esos cubos gigantes de LED. Esencialmente, lo que haces es cablear los LED en forma de rejilla. En el eje X (verticalmente) tendrá todos los pines de tierra de los LED conectados. En el eje Y (horizontalmente) tendría todos los pines LED positivos conectados. Terminará con las conexiones a tierra de cada columna y los pines positivos de cada fila conectados. Puede usar los registros de desplazamiento para activar y desactivar el terreno de las columnas y las filas positivas. Obtienes un sistema de coordenadas. Este es el método que utiliza menos componentes y pines. Luego, puede mover los LED a lo largo de su proyecto, siempre y cuando el cableado permanezca igual.

Ejemplo:

El suelo de la columna 1 está activado. El positivo de la fila 3 está encendido. Obtiene el LED (1, 3) para encender.

    
respondido por el Sock314

Lea otras preguntas en las etiquetas