Antecedentes:
Soy un ingeniero civil especializado en dispositivos de control de tráfico y tengo un pequeño proyecto de pasatiempo para construir un modelo de sistema de semáforo a escala. Puedo administrar y controlar la programación del patrón de semáforo por mi cuenta usando una Raspberry Pi (además, esto me da la capacidad de implementar control dinámico y programado, e interactuar con un esquema de control de tráfico serio y posiblemente datos de tráfico reales). Solo necesito ayuda con el cableado de muchos LED en el lado del hardware :)
Seguí este tutorial http://www.raspberrypi-spy.co.uk/2012/06/control-led-using-gpio-output-pin/ muy bien (incluido el uso de una fuente de alimentación externa en lugar del Pin 2), pero Es probable que me encuentre con el problema de muy pocas conexiones GPIO para todos los semáforos.
Luego probé la multiplexación con una matriz de LED http://www.appelsiini.net/2011/how-does-led-matrix-work . Sin embargo, la multiplexación funciona, por lo general, las luces son más tenues, dudo que esto se adapte bien y tiende a aumentar la complejidad del control.
Pregunta central:
A menos que obtenga alguna tarjeta de expansión en la Raspberry Pi, ¿hay algún otro truco que pueda usar para controlar múltiples LED con menos señales 0/1?
Una cosa sobre los semáforos es que generalmente vienen en bloques de tres, solo uno de los cuales está activo a la vez. ¿Existe algún circuito relativamente simple que me permita 'alternar' un bloque de LED usando una sola señal 0/1?
fuente
Respuestas:
¿Está familiarizado con los registros de desplazamiento como 74HC595? Requiere 3 pines de su RPI y puede controlar 8 líneas de salida. Puede conectarlos en cascada fácilmente controlando n × 8 líneas de salida.
Los datos se registran en serie en el registro de desplazamiento y una vez que se transfieren los 8 bits de salida, se bloquean los bits en las salidas.
Estaba a punto de agregar la hoja de datos aquí, pero https://www.sparkfun.com/products/733 muestra un buen video y también tiene un enlace a la hoja de datos.
fuente
Los registros de desplazamiento como jippie sugieren que funcionan bien. Pero, la multiplexación también se puede hacer funcionar para más LED de lo que cabría esperar. La solución al brillo reducido es aumentar la corriente máxima para que la corriente promedio permanezca igual. Puede hacer esto aumentando el voltaje o reduciendo la resistencia limitadora de corriente.
La razón por la que una corriente excesiva daña un LED es que la unión se sobrecalienta. Si se le da tiempo para enfriarse entre pulsos, los pulsos pueden ser más fuertes. La hoja de datos de su LED debe especificar una corriente promedio máxima y una corriente máxima máxima que no se debe exceder. Si no le preocupa demasiado la alta confiabilidad (un proyecto de pasatiempo, no una nave espacial) y no le importa fumar unos pocos LED o cambiar un poco las reglas, siempre puede probar los límites usted mismo.
Además, busque en charlieplexing una forma de multiplexar más LED de un número menor de pines. El límite superior de cuántos LED se pueden conectar con este método suele ser el brillo que se puede lograr con la corriente disponible de los pines GPIO, no el número de pines.
Lectura adicional: ¿Pulsando un LED a una corriente más alta produce mayor brillo aparente?
fuente
Use USB o Ethernet para controlar las luces a través de una placa de relé de enganche como esta
http://www.robot-electronics.co.uk/acatalog/Relay_Modules.html
He usado estas placas para otras aplicaciones y son excelentes.
fuente