La mejor manera de controlar 75 LED con Arduino


9

Necesito controlar 25 grupos de 3 LED o 25 LED RGB. Cada grupo será expulsado de la UC por hasta 20 cm (aproximadamente 8 pulgadas). 20 cm es una suposición muy segura, pero creo que será de 10 cm o menos.

Sin embargo, creo que si es incluso de 5 cm, será difícil de crear en forma de matriz, por lo que creo que usar MAX7219 likie IC ( http://www.arduino.cc/playground/Main/MAX72XXHardware ) no es la mejor idea.

Probablemente usaré registros de desplazamiento ( http://www.arduino.cc/en/Tutorial/ShiftOut ). Puedo conectar varios 74HC595 o usar algo como STP16C596.

Prefiero STP16C596 pero son obsoletos. Encontré SCT2026 ( http://zefiryn.tme.pl/dok/a04/sct2026.pdf ) pero no estoy seguro de si es la elección correcta.

Una nota más. Mi proyecto actual solo requiere "control de 2 bits" sobre cada grupo (3 LED apagados, o seleccionados y encendidos solo uno de ellos), pero no creo que haga que mi proyecto sea más fácil o más barato, también controlar cada LED por separado mucha más flexibilidad en caso de cambios.

Qué solución se ajustará mejor a mis necesidades.

Será bueno si las piezas estarán disponibles en esta tienda: http://www.tme.eu/en/katalog/?&page=1,20#main o http://eu.mouser.com/ (pero prefiero el primero).

Respuestas:


8

Sugeriría ir a la ruta de la matriz con un controlador como el MAX7219 que mencionó o tal vez, si desea mucho más control, el TLC5951DAP, un controlador LED TI diseñado para leds RGB que le dará 24 canales con una resolución de 12 bits (4096 diferentes pasos de brillo para cada canal). Esto le permitirá encender cada uno de los LED R, G y B con diferentes brillos para mezclar los colores con lo que desee.

Puede usar un cable plano para el cableado de cada uno de los LED (supongo que el cableado es la razón por la que no le gusta la idea de la matriz) y hacer que todos los cables se enchufen a una placa controladora. Para algo como esto, definitivamente recomendaría que hagas una pcb para el controlador porque hay muchas conexiones para intentar hacer a mano. Sin embargo, eso es exactamente lo que haría.

El STC2026 parece ser directamente compatible con el STP16C596, por lo que es un reemplazo perfectamente bueno si desea usarlo. Estoy de acuerdo en que controlar cada LED individualmente probablemente sea más barato y más fácil que intentar usar algún tipo de MUX para tener un control de 2 bits sobre qué LED está encendido.

Espero que ayude.


1
Gracias por la respuesta completa Consideraré nuevamente usar el controlador de matriz LED. Tienes razón, me preocupa el cableado, pero creo que tu idea sobre crear pcb para esto es agradable. Sin embargo, no estoy seguro si entiendo correctamente Su sugerencia sobre el cable plano. Creo que necesito 4 cables para cada grupo de 3 LED, así que creo que un cable de telefonía de doble par podría ser mejor. También pienso en usar enchufes de telefonía (RJ11) para conectar mis grupos de LED a PCB.
Maciek Sawicki

1
Una pregunta más sobre los conductores. El tiempo de espera en Mouser para TLC5951 es largo y silencioso. ¿Hay alguna alternativa para TLC5951? En el sitio web de TI encontré tlc5952 ( focus.ti.com/docs/prod/folders/print/tlc5952.html ) pero parece que no tiene control de brillo por LED.
Maciek Sawicki

1
El cable del teléfono podría funcionar. Acabo de sugerir un cable plano (cable plano) porque es bastante común en la electrónica. Cualquier cosa que haga el trabajo funcionaría (obviamente :). Ese es un tiempo de espera bastante largo por parte de Mouser. Puede probar Digikey.com o simplemente un controlador LED equivalente de Mouser ( mouser.com/Optoelectronics/Drivers/LED-Drivers/_/N-6hpc2 ). El tlc5952, como dijiste, no ofrece el control individual del brillo del LED. Pero, hay muchas otras opciones. Intenté buscar en el sitio web de TME algo que pudiera funcionar, pero su sitio web no es el más fácil de usar, así que me di por vencido.
David Brenner

Gracias de nuevo. Encontré solo cables de cinta grandes. Probablemente pueda dividirlos en partes más estrechas, pero no estaba seguro de si mi idea de cableado es correcta. En esta situación, probablemente usaré un cable de par trenzado. Gracias por la información sobre Digikey.com, parece una buena tienda y tienen TLC5951DAP en stock. Sin embargo, los costos de envío serían de USD 60: /. Así que creo que usaré MAX7219. Estaba tratando de encontrar en mouser.com algo como TLC5951DAP pero me resulta difícil financiar algo con control de brillo LED individual.
Maciek Sawicki

Sí, el sitio web de TME no es fácil de usar. Este es un enlace directo a los controladores LED (la elección no es demasiado grande): tme.eu/en/katalog/… Estaría muy agradecido si pudiera verlo si tiene tiempo. También estoy pensando en pedir muestras de TI ¿tiene alguna experiencia con esto?
Maciek Sawicki

2

No conozco ningún chip fuera de mi cabeza, pero quizás algunos de esos chips I2C GPIO / expansor de salida podrían ser el camino a seguir. Ha pasado un tiempo, pero estoy seguro de que vi unos de 4 bits. Por supuesto, ir por esta avenida puede no ser tan barato como algunas otras soluciones, pero sería fácil expandirlo en el futuro y usar pines arduino mínimos.

Disculpas por la falta de detalles, estoy publicando desde mi teléfono.


Chips de ejemplo: Microchip MCP23017 (I2C), MCP23S17 (SPI).
Wouter van Ooijen


0

He usado un banco de tres chips TLC5490 para hacer el control individual de 16 LED RGB. Se usa en mi proyecto RGB LED Shield . Si lo volviera a implementar ahora, usaría el chip TLC5497 más fácil de programar que tiene 24 canales de salida, en comparación con los 16 canales del 5490. MaceTech está vendiendo esos en pequeñas cantidades con disponibilidad inmediata. Estoy planeando usar uno con un FT232R para hacer un dongle USB LED para el Chumby.


0

Escribí una biblioteca para que Arduino hiciera esto con registros de desplazamiento, se llama ShiftPWM.

Puede encontrar documentación detallada aquí: http://www.elcojacobs.com/shiftpwm

Y un esquema para los LED normales aquí: http://www.elcojacobs.com/using-shiftpwm-to-control-20ma-rgb-leds/

Recomiendo usar un TLC5916 sobre un 74HC595, que es un registro de desplazamiento con salidas de sumidero de corriente constante. No necesitaría resistencias con este controlador.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.