Quiero usar una placa Arduino normal para controlar los LED: ¿cuál es la mayor cantidad de luces que puedo controlar individualmente desde la placa?
¿Hay un tutorial sobre cómo conectarlo?
Quiero usar una placa Arduino normal para controlar los LED: ¿cuál es la mayor cantidad de luces que puedo controlar individualmente desde la placa?
¿Hay un tutorial sobre cómo conectarlo?
Respuestas:
Creo que usar Charlie-plexing N lines controla N * (N-1) LED. Hay un buen artículo en Wikipedia.
Un amigo mío, Jimmie P. Rodgers, instaló 126 LED en un escudo Arduino. Utiliza charlie-plexing para controlar los LED. Alguna información en su junta está en - jimmieprodgers.com/2009/12/my-development-process/ (copia archive.org)
En la última reunión del Grupo de Usuarios de Boston Arduino, Jimmie P. Rodgers dibujó un diagrama de Charlie-plexing como una matriz con redes etiquetadas. Los esquemas dibujados de esta manera parecían hacer un buen trabajo al comunicar el concepto. Creé un par de esquemas similares: consulte http://wiblocks.luciani.org/FAQ/faq-charlie-plex.html
jimmieprodgers.com
enlace en esta respuesta está cargado de virus.
Puede usar Shift Registers ( http://en.wikipedia.org/wiki/Shift_register ) para obtener tantas salidas paralelas de una sola secuencia en serie como desee.
Deberá preocuparse por sus limitaciones de poder. En realidad, nunca he usado un Arduino, pero supongo que tiene un límite actual al igual que los PIC. Además, los registros de desplazamiento tendrán un límite de corriente ellos mismos. Si se encuentra con esto, deberá considerar el uso de algo como un MOSFET para permitirle controlar los LED sin tener que extraer mucha energía directamente de su microcontrolador.
Se permite que cualquier pin del microcontrolador AVR entregue hasta 40 mA, y la fuente de alimentación total obtenida o hundida por el chip (es decir, en la tierra y los pines Vcc) debe estar por debajo de 200 mA.
Charlieplexing es una gran solución para situaciones en las que necesita muchos LED, pero puede funcionar con solo un LED encendido a la vez. Una placa Arduino estándar (como una Duemilanove) proporciona 17 pines de E / S "libres", sin contar TX, RX, Reset o pin 13. Por lo tanto, puede conectar 17 * 16 = 272 LED. Esto puede funcionar bien, especialmente si mantiene un LED encendido o escanea rápidamente entre unos pocos. Pero si está tratando de iluminar toda la matriz con un patrón, encontrará que cada uno está encendido (un poco menos de) 1/272 de las veces, por lo que si la corriente de su unidad fuera de 30 mA en un momento dado, cada LED la corriente promedio sería de aproximadamente 0.1 mA, bastante tenue.
Si no necesita tantos LED pero necesita más brillo, la multiplexación tradicional puede ser una mejor opción. En este caso, utiliza algunas de sus líneas como filas y otras como columnas en una matriz. Si usa una corriente de LED de 10 mA, podría definir una matriz de 4 columnas y 13 filas, donde los 4 LED en una fila pueden estar encendidos a la vez, y escanea a través de las filas. Luego, cada fila está encendida 1/13 del tiempo con una corriente de 10 mA, por lo que la corriente promedio del LED puede ser tan alta como 0.76 mA, PERO solo obtienes 4 * 13 = 104 LED. (Definitivamente más brillante por LED que con charlieplexing).
El límite en el último ejemplo es de 40 mA por pin en el AVR, ya que cada pin de conducción de fila genera 4x10 = 40 mA. Si permite que se agreguen transistores externos (que pueden ser baratos y pequeños) a las salidas de fila, entonces puede evitar ese límite particular y volverse más brillante. Por ejemplo, podría hacer una matriz de 8x9, con 8 filas y 9 columnas, 72 LED en total. Una de las 8 filas está encendida a la vez, seleccionada a través del transistor. Se pueden encender hasta los 9 LED en una fila determinada a la vez, con una potencia de 20 mA, por lo que 180 mA provienen del transistor y usted permanece por debajo de los límites actuales del AVR. La corriente promedio por LED ahora es de 20 mA / 8 = 2.5 mA, generalmente razonablemente brillante.
Hay una muy agradable, tutorial detallado aquí que incluye una sección sobre el uso de un Arduino para ejecutar un cubo de 8x8x8 LED. (No te pierdas la película de YouTube que tienen arriba)
Con 17 pines de E / S, diecisiete transistores NPN (seguidores del emisor para aumentar la corriente) no debería haber ningún problema particular que muestre 272 LED en combinaciones arbitrarias a 1/17 ciclo de trabajo, con corriente promedio o 0.7mA (200mA / 272), limitado por La capacidad del chip para extraer 200 mA a la vez. Agregar un diodo para obtener una caída de 0.7 voltios permitirá agregar otros 17 LED (reduciendo el ciclo de trabajo a 1/18), aunque el brillo no coincidirá con los otros.
Mientras Windell Oskay argumenta que 104 LED es el máximo sin agregar más transistores, Tom Igoe ha publicado fotos de una matriz de 128 LED controlados directamente por un solo Arduino Mega, sin transistores adicionales, discretos o integrados.
¿Tom Igoe está "haciendo trampa" al exceder brevemente la "corriente máxima absoluta por pin" que figura en la hoja de datos?