Soy un escultor, no un EE, pero estoy tratando de incorporar LED controlables en una pieza en la que estoy trabajando, y me vendría bien algún consejo para descubrir un enfoque práctico. Me gustaría poder controlar 12 canales separados (la pieza es un dodecaedro) de tiras RGB, y eso significa que necesitaré 36 salidas PWM, que es más de lo que tengo acceso en un Arduino. Por lo que puedo decir, necesitaré un escudo, algo como TLC5940 Breakout , aunque eso solo me da 16 PWM, así que necesitaría conectar en cadena tres de ellos, lo cual sé que se puede hacer, pero me gustaría saber qué problemas pueden resultar. Algo como Brilldea LED Painter también podría ser una solución, pero estoy relativamente presionado por el tiempo, por lo que algo preensamblado sería una buena ventaja.
Soy nuevo en esto, así que no estoy seguro de la precisión de lo que acabo de decir, pero espero que algunos de ustedes puedan informarme sobre lo que podría ser un enfoque razonable. Gracias por tu ayuda.
En mi opinión, su enfoque al usar esta placa de conexión de sparkfun suena muy bien :)
Las grandes ventajas son que esta placa proporciona 16 canales PWM que son programables a través de una interfaz serie conectable en cadena, todas las entradas LED son fácilmente accesibles y fáciles de rastrear.
Además, probablemente ya lo sepa, si planea usar Arduino, ya existe una biblioteca que lo ayudará a manipular el controlador.
En caso de que no lo hayas hecho, también deberías consultar su proyecto de inicio .
Como dijiste que estás presionado, creo que esta solución te permitiría trabajar rápido y fácilmente para que esos LED funcionen de la manera que deseas. ¡Buena suerte con tu proyecto! :)
Hay una elegante biblioteca Arduino para hacer PWM a través de registros de desplazamiento, llamada ShiftPWM . Fue desarrollado más o menos específicamente para lo que quieres hacer (controlar muchos LED RGB con un Arduino). Vi esto en Hack-a-Day hace varios meses. Se ve muy bien y cuenta con el potencial de controlar 768 LED (o 256 LED RGB) a 5 bits (es decir, 32 niveles de brillo) por canal de color (es decir, >32000 colores posibles). Tengo muchas ganas de usar esta biblioteca en algún momento. Y solo ocupará tres pines en su Arduino: para serie, reloj y pestillo en el registro de desplazamiento inicial (en la cadena). Esta biblioteca está diseñada para manejar algo como el registro de desplazamiento 74HC595, que es mucho más barato que el TLC5940.
No necesitas PWM. Cualquier pin de salida (IO) en un microcontrolador funcionará.
Un PWM le permite establecer un ciclo de trabajo (tiempo de encendido/apagado) y luego lo repite indefinidamente, lo que da como resultado un brillo variable. Los pines IO se pueden encender y apagar en función de un temporizador para lograr el mismo resultado. El PWM es técnicamente más preciso y puede cambiar más rápido que los pines IO, pero el ojo humano no puede ver la diferencia. El resultado será exactamente el mismo.
Entonces necesita un microcontrolador con 36 pines IO.
(Disculpas por la publicación publicitaria, pero no pude encontrar ninguna forma de contactar al usuario directamente) Fabrico un atenuador DMX de 48 canales diseñado para controlar tiras de LED, lo que puede brindarle una solución estándar. envíeme un correo electrónico a través de whitewing.co.uk
Otra opción que puede considerar es:
http://thingm.com/products/blinkm
No tengo conexiones con esta empresa, acabo de usar el producto.
Sugeriría usar registros de desplazamiento de corriente controlada y permitir que el cable de control de corriente sea controlado por la CPU (posiblemente al incluir uno o más cambiadores no controlados por corriente en la cadena y hacer que controlen los divisores de resistencia). Si desea un control de brillo de 6 bits y una velocidad de recarga máxima de 10 veces la tasa de PWM (por ejemplo, un máximo de una recarga por milisegundo para lograr una frecuencia de cuadro de 100 Hz), sugeriría que se dividan los seis bits de cada valor de PWM entre seis búferes de cambio (por lo que el bit N del búfer B sería el bit B del brillo del LED N). Luego, cada 10 ciclos, el patrón de recarga sería:
Ciclo 0: carga todos los cambiadores con el búfer 5, corriente completa Ciclo 1-3: Mantener los mismos datos en los cambiadores Ciclo 4: Cargue todas las palancas de cambios con el búfer 4, corriente completa Ciclo 5: mantener los mismos datos en los cambiadores Ciclo 6: Cargue todos los cambiadores con el búfer 3, corriente completa Ciclo 7: Cargue todos los cambiadores con el búfer 2, la mitad de la corriente Ciclo 8: Cargue todos los cambiadores con el búfer 1, un cuarto de corriente Ciclo 9: Cargue todos los cambiadores con buffer 0, 1/8 actual
Este enfoque permitiría establecer la corriente promedio desde 1/80 del pico máximo hasta 63/80 del pico máximo, en unidades de 1/80, usando una tasa de recarga que es solo 10 veces la tasa de cuadros. Si desea 256 niveles de brillo, podría agregar recargas a 1/16 y 1/32 de corriente (12 recargas por cuadro en lugar de 10). Eso permitiría establecer la corriente promedio de 1/384 a 255/384 con solo un modesto aumento en la tasa de recarga.
Este http://www.adafruit.com/products/306 podría ser una opción. Tiene 32 LEDS direccionables RGB por tira y puede cortar la tira (sí, este es un tutorial para eso) para que los coloque
clabacchio
el_koo