
Charlieplexing (también conocido como multiplexación triestado , multiplexación de LED de recuento de pines reducido , control de LED complementario y crossplexing ) es una técnica para acceder a una gran cantidad de LED , interruptores , microcondensadores u otras entidades de E/S , utilizando relativamente pocos cables lógicos triestado de un microcontrolador . Estas entidades de E/S se pueden cablear como componentes discretos, [1] [2] matrices x/y, [3] [4] o tejer en un patrón de intersección diagonal para formar matrices diagonales. [5]
La forma más sencilla de direccionar un solo píxel (o botón de entrada) es pasar un cable hasta él y otro cable hasta tierra, pero esto requiere mucho cableado. Una pequeña mejora es que todo vuelva a una tierra común, pero esto aún requiere un cable (y un pin en el microcontrolador) para cada píxel o botón. Para una matriz X por Y, se requieren pines X*Y.
Con pines lógicos de tres estados (alto, bajo, desconectado), el cableado de la matriz solo necesita pines y cables X+Y. Cada X y cada Y se turnan para estar encendidos o desconectados; la desventaja es que cada luz solo se alimenta como máximo 1/(X*Y) del tiempo. Si hay suficiente Fan-out , los pines Y se pueden dejar siempre encendidos y todos se pueden verificar en paralelo. La actualización puede ocurrir entonces cada 1/X del tiempo, pero cada cable X necesita pasar suficiente corriente para encender las luces Y a la vez.
Charlieplexing es una mejora adicional en el cableado de matriz. En lugar de que los cables horizontales X se encuentren con los cables verticales Y, cada cable se encuentra con todos los demás cables. Suponiendo que se utilizan diodos para las conexiones (para distinguir entre el cable 3 que se encuentra con el cable 5 y el cable 5 que se encuentra con el cable 3), Charlieplexing necesita solo la mitad de pines que una disposición de matriz convencional, a costa de un mapeo más complicado. Alternativamente, la misma cantidad de pines admitirá una pantalla casi cuatro veces más grande (duplicando en ambas direcciones).
Esto permite que estas entidades de E/S (LED, interruptores, etc.) se conecten entre dos E/S de microcontrolador cualesquiera; por ejemplo, con 4 E/S, cada E/S puede emparejarse con otras 3 E/S, lo que da como resultado 6 emparejamientos únicos (1/2, 1/3, 1/4, 2/3, 2/4, 3/4). Solo son posibles 4 emparejamientos con multiplexación x/y estándar (1/3, 1/4, 2/3, 2/4). Además, debido a la capacidad del microcontrolador de invertir la polaridad de los 6 pares de E/S, la cantidad de LED (o diodos) que son direccionables de forma única se puede duplicar a 12, agregando los LED 2/1, 3/1, 4/1, 3/2, 4/2 y 4/3.
Si bien es más eficiente en su uso de E/S, se requiere una pequeña cantidad de manipulación de direcciones cuando se intenta adaptar Charlieplexing a una matriz x/y estándar.
Otros problemas que afectan a la multiplexación estándar pero que se ven agravados por la Charlieplexing son:
- consideración de los requisitos de corriente y los voltajes directos de los LED.
- un requisito para que los LED en uso pasen rápidamente de un lado a otro para que el ojo humano perciba que la pantalla está iluminada en su totalidad. La multiplexación se puede ver generalmente por un efecto estroboscópico y sesgado si el punto focal del ojo se mueve más allá de la pantalla rápidamente.
Origen
La técnica Charlieplexing fue introducida [6] por Maxim Integrated en 2001 [7] como un esquema de multiplexación de LED con un número reducido de pines en su controlador de pantalla LED MAX6951. [7] [6] Sin embargo, el nombre "Charlieplexing" apareció por primera vez en una nota de aplicación de 2003. [6] Recibe su nombre en honor a Charles "Charlie" M. Allen, un ingeniero de aplicaciones famoso por el MAX232 , [8] [9] [10] que había propuesto este método internamente. [ ¿cuándo? ]
También en 2001, Don Lancaster ilustró el método como parte de sus reflexiones sobre el problema de la " N-conectividad ", [11] refiriéndose a Microchip Technology , [11] que ya lo había discutido como "técnica de control de LED complementaria" en una nota de aplicación de 1998 [12] y más tarde lo incluiría en un folleto de consejos y trucos. [13]
Aunque Microchip no mencionó el origen de la idea, es posible que la hayan recogido en PICLIST, una lista de correo sobre microcontroladores PIC de Microchip , donde, también en 1998, Graham Daniel [14] [15] la propuso a la comunidad como un método para controlar filas y columnas de LED bidireccionales . Daniel en ese momento había creado circuitos simples con chips PIC 12C508 que controlaban 12 LED desde 5 pines con un mini conjunto de comandos para poner en movimiento varias pantallas de iluminación. [14] [15]
Sin embargo, el método era conocido y utilizado por varias partes mucho antes, en la década de 1980, y ha sido descrito en detalle ya en 1979 en una patente de Christopher W. Malinowski, Heinz Rinderle y Martin Siegle del Departamento de Investigación y Desarrollo, AEG-Telefunken , Heilbronn, Alemania para lo que llamaron un "sistema de señalización de tres estados". [16]
Según se informa, ya en 1972 se utilizaban técnicas similares para aplicaciones de señalización de vías en el modelismo ferroviario . [17] [ cita requerida ]
La multiplexación de pantallas es muy diferente de la multiplexación utilizada en la transmisión de datos, aunque tiene los mismos principios básicos. En la multiplexación de pantallas, las líneas de datos de las pantallas se conectan en paralelo a un bus de datos común en el microcontrolador. Luego, las pantallas se encienden y se direccionan individualmente. Esto permite el uso de menos pines de E/S de los que normalmente se necesitarían para controlar la misma cantidad de pantallas directamente. Aquí, cada "pantalla" podría ser, por ejemplo, un dígito de la calculadora, no la matriz completa de dígitos.
Con la multiplexación tradicional, los pines de E/S pueden controlar un máximo de LED o escuchar esa cantidad de interruptores de entrada. La tecnología Charlieplexing puede controlar LED o escuchar botones incluso si la direccionalidad no está impuesta por un diodo.
Multiplexación triestatal (Charlieplexing)

La configuración Charlieplexing puede verse como un gráfico dirigido , donde los pines de accionamiento son vértices y los LED son aristas dirigidas; hay una arista que apunta hacia afuera conectada desde cada vértice a cada uno de los otros vértices, por lo tanto, con n pines de accionamiento hay ( n )( n -1) aristas en total. Esto equivale a que n pines pueden accionar n 2 − n segmentos o LED.
Si se conoce el número de LED ( L ), entonces el número de pines ( n ) se puede encontrar a partir de la ecuación: , redondeándose el resultado al número entero más cercano.
Ejemplo: si L = 57, entonces √L = 7,549 y 1 + √L = 8,549; el número entero más cercano a esto es 9, por lo que se necesitan 9 pines para controlar 57 LED (9 pines podrían controlar hasta 72 LED, pero 8 pines podrían controlar solo 56 LED como máximo).
Si L = 56, entonces √L = 7,483 y 1 + √L = 8,483; el número entero más cercano a esto es 8, por lo que se necesitan 8 pines para controlar 56 LED.
- Origen de la ecuación ( n 2 − n ) en Charlieplexing

A diferencia de una matriz multiplexada x/y tradicional, donde un subconjunto de elementos conductores cruza un subconjunto diferente de elementos conductores, en una matriz multiplexada "completamente Charlieplex", cada elemento conductor cruza todos los demás elementos conductores.
Seis ( n ) elementos conductores en una matriz multiplexada x/y estándar forman un máximo de nueve (( n / 2) 2 ) intersecciones únicas (ver la figura en el extremo izquierdo).
Los otros diagramas también muestran seis ( n ) elementos conductores, pero aquí los seis elementos se cruzan entre sí, formando una matriz multiplexada de 36 ( n 2 ) intersecciones. Los LED se muestran colocados en cada intersección. Sin embargo, cada conductor también se cruza a sí mismo en la diagonal. El conductor horizontal 1 cruza al conductor vertical 1, el conductor horizontal 2 cruza al conductor vertical 2, etc. Esto significa que seis de estos LED están en cortocircuito (por ejemplo, D1 y D5 están en cortocircuito). Por lo tanto, los seis ( n ) LED diagonales nunca se encenderán, porque nunca puede desarrollarse voltaje a través de ellos, por lo que ( n ) debe restarse del total. No tiene sentido instalar estos LED (simplemente se incluyen aquí con fines ilustrativos).
Esto deja 30 LED ( n 2 − n ) que pueden direccionarse de forma única y encenderse de forma independiente.
El conductor "a" que cruza el conductor "b" se distingue del conductor "b" que cruza el conductor "a" porque la polaridad del LED está invertida. Por ejemplo, cuando el conductor 3 es positivo y el conductor 2 es negativo, fluye corriente a través de él y se enciende el LED D8, pero cuando el conductor 3 es negativo y el conductor 2 es positivo, fluye corriente a través de él y se enciende el LED D9.
Estos pares de LED con polaridad inversa se denominan pares complementarios. Este diagrama tiene 15 pares complementarios, lo que permite que se enciendan 30 LED de forma independiente.

Los 6 LED diagonales inutilizables se pueden reemplazar cómodamente por accesos directos bidireccionales reales (de modo que ya no es necesario configurar las líneas de interconexión agrupadas a la izquierda y a la parte inferior de los diagramas para accionar la entrada inferior de los conectores verticales desde la entrada izquierda correspondiente de los conectores horizontales).
Ajustando diagonalmente la forma de los conectores horizontales y verticales a lo largo de la diagonal principal cortocircuitada de la matriz original, ésta se puede transformar fácilmente en una matriz de 5 × 6 o 6 × 5 LED dispuestos en una cuadrícula regular.
Se podría usar un patrón similar para una matriz de 10 × 11 que se podría usar para controlar hasta 110 teclas (incluidos algunos LED indicadores) en un teclado de PC moderno , donde cada interruptor de tecla incluye un pequeño diodo o LED en serie, de modo que solo se necesitarían 11 pines para controlarlos individualmente a todos (estos diodos o LED individuales dentro de cada interruptor de tecla también evitarían todos los efectos de "efecto fantasma" comunes e indeseables, que son difíciles de eliminar por completo cuando se presiona una cantidad arbitraria de teclas en cualquier posición al mismo tiempo).
Charlieplexing también se puede utilizar para reducir significativamente el número de pines de control para matrices mucho más grandes, como las pantallas digitales modernas con alta resolución. Por ejemplo, para una pantalla RGB 4K a 3840 × 2160, esto requiere más de 8 millones de píxeles direccionables individualmente, cada uno con al menos 3 LED de color o celdas LCD, para un total de casi 25 millones de LED o celdas LCD. Usando una multiplexación x/y convencional se requerirían al menos (3840 + 2160 × 3) = 10320 pines de control y muchos chips de selección para controlar filas y columnas alrededor del panel de LED o celdas LCD. Pero con Charlieplexing, esto se puede reducir a solo 63 pines de control para la compuerta de selección de columnas de pantalla, más 46 × 3 pines de control para la selección y activación de energía de filas de pantalla RGB, por un solo transistor para cada fila o columna (posiblemente con una tierra de protección común adicional para limitar su acoplamiento mutuo); Estos pines de control pueden ajustarse fácilmente alrededor de los pines de salida de uno o dos chips controladores, incluso si agregamos los pocos pines adicionales necesarios en el controlador para energía, tierra, relojes y buses de E/S, montados en superficie con alta densidad y bajo costo en una PCB de una sola capa , y sin necesidad de enrutamiento complejo y orificios de interconexión entre capas; solo se necesita una capa dual para la matriz Charlieplexing básica montada en los bordes del panel mismo.
Las posiciones en la matriz Charlieplexed no se reducen a ser solo LED o diodos, también se pueden llenar con dos pines de un transistor (incluido su pin de compuerta) de modo que su tercer pin se usa como salida para controlar otros dispositivos, como las líneas de selección horizontales y verticales de un panel de visualización plano grande (en ese caso, las dos matrices Charlieplexed de transistores que controlan y activan las filas o columnas del panel estarán dispuestas de manera inteligente a lo largo de un borde de ese panel).
Impulsión complementaria
La Charlieplexing en su forma más simple funciona mediante el uso de una matriz de diodos de pares complementarios de LED. La matriz Charlieplexing más simple posible se vería así:


Al aplicar un voltaje positivo al pin X1 y conectar a tierra el pin X2, se encenderá el LED 1. Como la corriente no puede fluir a través de los LED en dirección inversa a este voltaje bajo, el LED 2 permanecerá apagado. Si se invierten los voltajes en los pines X1 y X2, el LED 2 se encenderá y el LED 1 se apagará.
En realidad, la técnica Charlieplexing no permite una matriz más grande cuando se utilizan solo dos pines, ya que se pueden controlar dos LED mediante dos pines sin ninguna conexión a la matriz y sin siquiera utilizar el modo triestado. En este ejemplo de dos LED, Charlieplexing ahorraría un cable de tierra, que sería necesario en una situación común de controlador de dos pines.
Sin embargo, el circuito de 2 pines sirve como un ejemplo simple para mostrar los conceptos básicos antes de pasar a circuitos más grandes donde Charlieplexing realmente muestra una ventaja.
Expansión: lógica triestatal
Si el circuito anterior se ampliara para acomodar tres pines y seis LED, se vería así:


Sin embargo, esto presenta un problema: para que este circuito actúe como el anterior, uno de los pines debe desconectarse antes de aplicar carga a los dos restantes. Si, por ejemplo, se pretendía que el LED 5 estuviera encendido, X1 debe cargarse y X3 debe conectarse a tierra. Sin embargo, si X2 también está cargado, el LED 3 también se iluminaría. Si X2 estuviera conectado a tierra, el LED1 se iluminaría, lo que significa que el LED 5 no puede encenderse por sí solo. Esto se puede resolver utilizando las propiedades de lógica triestado de los pines del microcontrolador. Los pines del microcontrolador generalmente tienen tres estados: "alto" (5 V), "bajo" (0 V) y "entrada". El modo de entrada pone el pin en un estado de alta impedancia , lo que, eléctricamente hablando, "desconecta" ese pin del circuito, lo que significa que fluirá poca o ninguna corriente a través de él. Esto permite que el circuito vea cualquier número de pines conectados en cualquier momento, simplemente cambiando el estado del pin. Para accionar la matriz de seis LED anterior, los dos pines correspondientes al LED que se va a encender se conectan a 5 V (pin de E/S "alto" = número binario 1) y 0 V (pin de E/S "bajo" = binario 0), mientras que el tercer pin se establece en su estado de entrada.
De esta manera, se evita la fuga de corriente del tercer pin, lo que garantiza que el LED que se desea encender sea el único que esté encendido. Como el LED deseado reduce la tensión disponible después de la resistencia, la corriente no fluirá por caminos alternativos (por ejemplo, existe una ruta alternativa de 2 LED para cada par de pines en el diagrama de 3 pines), siempre que la caída de tensión en la ruta del LED deseado sea menor que la caída de tensión total en cada cadena de LED alternativos. Sin embargo, en la variante con resistencias individuales, este efecto de regulación de tensión no afecta a los caminos alternativos, por lo que no será necesario encender todos los LED utilizados con la mitad de la tensión de alimentación aplicada, ya que esta variante no se beneficia del efecto de regulación de tensión del LED de la ruta deseada.
Al utilizar la lógica triestado, la matriz se puede ampliar teóricamente a cualquier tamaño, siempre que haya pines disponibles. Para n pines, n ( n − 1) LED pueden estar en la matriz. Cualquier LED se puede encender aplicando 5 V y 0 V a sus pines correspondientes y configurando todos los demás pines conectados a la matriz en modo de entrada. Con las mismas restricciones que se analizaron anteriormente , se pueden encender en paralelo hasta n − 1 LED que comparten una ruta positiva o negativa común.
En expansión
El circuito de 3 cables se puede reorganizar en esta matriz casi equivalente (se han reubicado las resistencias).


Esto resalta las similitudes entre la red multiplex ordinaria y Charlieplex, y demuestra el patrón que conduce a la regla de " n al cuadrado menos n ".
En el uso típico de una placa de circuito, las resistencias se ubicarían físicamente en la parte superior de las columnas y se conectarían al pin de entrada. Las filas se conectarían entonces directamente al pin de entrada sin pasar por la resistencia.
La primera configuración de la imagen de la izquierda es adecuada solo cuando se utilizan LED idénticos, ya que se utiliza una sola resistencia para limitar la corriente a través de más de un LED (aunque no al mismo tiempo, sino que una resistencia limita la corriente a través de un solo LED en una columna determinada a la vez). Esto contrasta con la segunda configuración con resistencias individuales para cada LED, como se muestra en la imagen de la derecha. En esta segunda configuración, cada LED tiene una resistencia única emparejada con él. Esto hace posible mezclar diferentes tipos de LED al proporcionar a cada uno su valor de resistencia adecuado.
En ambas configuraciones, como se muestra en la imagen izquierda y derecha, las resistencias reubicadas permiten encender varios LED al mismo tiempo fila por fila, en lugar de requerir que se enciendan individualmente. La capacidad de corriente de fila se puede aumentar mediante un transistor BJT seguidor de emisor NPN en lugar de impulsar la corriente directamente solo con el pin de E/S, que normalmente es mucho más débil.
Problemas con Charlieplexing
Frecuencia de actualización
La frecuencia de actualización no es un problema si se utiliza el direccionamiento de matriz activa Charlieplexed con una matriz de LED Charlieplexed. [18]
Sin embargo, al igual que con la multiplexación x/y, pueden surgir problemas de frecuencia de actualización si se utiliza direccionamiento de matriz pasiva .
Debido a que solo un único conjunto de LED, todos con un ánodo o cátodo común, se puede encender simultáneamente sin encender LED no deseados, Charlieplexing requiere cambios de salida frecuentes, a través de un método conocido como multiplexación . Cuando se realiza la multiplexación, no todos los LED se encienden de manera bastante simultánea, sino que un conjunto de LED se enciende brevemente, luego otro conjunto y, finalmente, el ciclo se repite. Si se hace lo suficientemente rápido, parecerán todos encendidos, todo el tiempo, para el ojo humano debido a la persistencia de la visión . Para que una pantalla no tenga ningún parpadeo perceptible, la frecuencia de actualización de cada LED debe ser mayor que el umbral de fusión de parpadeo ; 50 Hz se utiliza a menudo como una aproximación.
Como ejemplo, se utilizan 8 pines triestado para controlar 56 LED mediante Charlieplexing, lo que es suficiente para 8 pantallas de 7 segmentos (sin puntos decimales). Normalmente, las pantallas de 7 segmentos se fabrican para tener un cátodo común, a veces un ánodo común, pero sin pérdida de generalidad se supone un cátodo común en lo siguiente: Todos los LED en las 8 pantallas de 7 segmentos no se pueden encender simultáneamente en cualquier combinación deseada utilizando Charlieplexing. Es imposible obtener 56 bits de información directamente de 8 trits (el término para un carácter de base 3, ya que los pines son de 3 estados) de información, ya que 8 trits comprenden fundamentalmente 8 log 2 3, o aproximadamente 12,7 bits de información, lo que está muy por debajo de los 56 bits necesarios para encender o apagar los 56 LED en cualquier combinación arbitraria. En cambio, el ojo humano debe ser engañado mediante el uso de multiplexación.
Solo una pantalla de 7 segmentos, un conjunto de 7 LED, puede estar activa en cualquier momento. La forma en que esto se haría es que los 8 cátodos comunes de las 8 pantallas se asignen a cada uno su propio pin único entre los 8 puertos de E/S. En cualquier momento, uno y solo uno de los 8 pines de E/S de control estará activo bajo y, por lo tanto, solo la pantalla de 7 segmentos con su cátodo común conectado a ese pin activo bajo puede tener cualquiera de sus LED encendidos. Esa es la pantalla de 7 segmentos activa. Los ánodos de los 7 segmentos de LED dentro de la pantalla activa de 7 segmentos se pueden encender en cualquier combinación al tener los otros 7 puertos de E/S en modo alto o de alta impedancia, en cualquier combinación. Están conectados a los 7 pines restantes, pero a través de resistencias (la conexión del cátodo común está conectada al pin en sí, no a través de una resistencia, porque de lo contrario la corriente a través de cada segmento individual dependería de la cantidad total de segmentos encendidos, ya que todos tendrían que compartir una sola resistencia). Pero para mostrar un número deseado usando los 8 dígitos, solo se puede mostrar una pantalla de 7 segmentos a la vez, por lo que los 8 deben recorrerse por separado y en una quincuagésima de segundo durante todo el período de 8. Por lo tanto, la pantalla debe actualizarse a 400 Hz para el ciclo del período 8 a través de los 8 segmentos para hacer que los LED parpadeen no más lento que 50 veces por segundo. Esto requiere una interrupción constante de cualquier procesamiento adicional que realice el controlador, 400 veces por segundo.
Corriente pico
Debido a la reducción del ciclo de trabajo , el requerimiento de corriente de una pantalla Charlieplex aumenta mucho más rápido que con una pantalla multiplexada tradicional. A medida que la pantalla se hace más grande, la corriente promedio que fluye a través del LED debe ser (aproximadamente) constante para que mantenga un brillo constante, por lo que requiere que la corriente pico aumente proporcionalmente. Esto causa una serie de problemas que limitan el tamaño práctico de una pantalla Charlieplex.
- Los LED suelen tener una clasificación de corriente de pico máxima, así como una clasificación de corriente promedio.
- Si el código del microcontrolador falla y se utiliza un Charlieplex que opera con un LED a la vez, el único LED que queda encendido está sometido a un estrés mucho mayor que el que estaría en una pantalla Charlieplex con una fila a la vez o en una pantalla multiplexada tradicionalmente, lo que aumenta el riesgo de una falla antes de que se detecte la falla.
Requisito para triestatal
Todas las salidas utilizadas para controlar una pantalla Charlieplexed deben ser triestado. Si la corriente es lo suficientemente baja como para controlar las pantallas directamente mediante los pines de E/S del microcontrolador, esto no es un problema, pero si se deben utilizar triestado externos, entonces cada triestado generalmente requerirá dos líneas de salida para controlar, eliminando la mayor parte de las ventajas de una pantalla Charlieplexed. Dado que la corriente de los pines del microcontrolador normalmente está limitada a unos 20 mA, esto restringe severamente el tamaño práctico de una pantalla Charlieplexed. Sin embargo, se puede hacer habilitando un segmento a la vez. [19]
Tensión directa
Al utilizar LED con diferentes voltajes directos , como cuando se utilizan LED de diferentes colores, algunos LED pueden encenderse cuando no se desea.
En el diagrama anterior se puede ver que si el LED 6 tiene un voltaje directo de 4 V y los LED 1 y 3 tienen voltajes directos de 2 V o menos, se encenderán cuando el LED 6 esté destinado a hacerlo, ya que su recorrido de corriente es más corto. Este problema se puede evitar fácilmente comparando los voltajes directos de los LED utilizados en la matriz y verificando si hay problemas de compatibilidad. O, más simplemente, utilizando LED que tengan todos el mismo voltaje directo. [11] [6]
Este también es un problema cuando los LED utilizan resistencias individuales en lugar de resistencias compartidas; si hay una ruta a través de dos LED que tiene una caída de LED menor que el voltaje de suministro, estos LED también pueden iluminarse en momentos no deseados.
Casos de uso alternativos y variantes
Multiplexación de datos de entrada
La técnica Charlieplexing también se puede utilizar para multiplexar señales de entrada digitales en un microcontrolador. Se utilizan los mismos circuitos de diodos, excepto que se coloca un interruptor en serie con cada diodo. Para leer si un interruptor está abierto o cerrado, el microcontrolador configura un pin como entrada con una resistencia pull-up interna. El otro pin se configura como salida y se establece en el nivel lógico bajo. Si el pin de entrada tiene una lectura baja, entonces el interruptor está cerrado, y si la lectura es alta, entonces el interruptor está abierto. [20]
Una posible aplicación de esto es leer un teclado numérico estándar (4 × 3) de 12 teclas usando solo 4 líneas de E/S. El método tradicional de escaneo de filas y columnas requiere 4 + 3 = 7 líneas de E/S. Por lo tanto, Charlieplexing ahorra 3 líneas de E/S; sin embargo, agrega el gasto de 12 diodos (ya que los diodos solo están libres cuando se usan LED). Es posible una variación del circuito con solo 4 diodos, [20] sin embargo, esto reduce el rollover del teclado. El microcontrolador siempre puede detectar cuando los datos están corruptos, pero no hay garantía de que pueda detectar las pulsaciones de teclas originales, a menos que solo se presione un botón a la vez. (Sin embargo, probablemente sea posible organizar el circuito de modo que si se presionan como máximo dos botones adyacentes, no se produzca ninguna pérdida de datos). [ vago ] La entrada solo es sin pérdida en el circuito de 4 diodos si solo se presiona un botón a la vez, o si se evitan ciertas pulsaciones de teclas múltiples problemáticas. En el circuito de 12 diodos, esto no es un problema y siempre hay una correspondencia uno a uno entre las pulsaciones de los botones y los datos de entrada. Sin embargo, se necesitan tantos diodos para utilizar el método (especialmente para matrices más grandes) que, por lo general, no hay ahorros de costos en comparación con el método tradicional de escaneo de filas y columnas, a menos que el costo de un diodo sea solo una fracción del costo de un pin de E/S, donde esa fracción es uno sobre el número de líneas de E/S.
Pantallas táctiles y teclados de capacitancia proyectada.
Estos no utilizan diodos, sino que se basan en el cambio de capacitancia entre pistas conductoras cruzadas para detectar la proximidad de uno o más dedos a través de materiales no conductores, como capas de plástico, madera, vidrio, etc., incluso doble acristalamiento.
Estas pistas pueden estar hechas de una amplia gama de materiales, como placas de circuitos impresos, óxido de indio y estaño transparente, alambre fino recubierto de aislamiento, etc.
La tecnología puede variar en tamaño desde muy pequeña, como en el caso de los "detectores de huellas dactilares", [21] hasta muy grande, como en el caso de las "paredes de video interactivas táctiles". Por lo general, se impone un límite al ancho máximo de una pantalla táctil con cableado x/y, porque la resistencia de la pista horizontal es demasiado grande para que el producto funcione correctamente. Sin embargo, una pantalla táctil con cableado diagonal (como se describe más adelante en esta sección) no tiene este problema.
No hay LED ni diodos y, en cualquier momento, solo una línea de E/S se configura como salida, mientras que las líneas de E/S restantes se configuran como entradas de alta impedancia o "conectadas a tierra". Esto significa que los requisitos de energía son muy bajos.
Plexiglás GuGa
En 2008, Dhananjay V. Gadre ideó Gugaplexing , que es como Charlieplexing con múltiples voltajes de accionamiento. [22] [23]
Chipiplexado
En 2008, el llamado Chipiplexing de Guillermo Jaquenod agrega seguidores de emisores para aumentar la potencia del controlador de fila, lo que permite que filas más anchas que un solo puerto de microcontrolador puedan ser iluminadas simultáneamente. [24] [25]
Complejización cruzada
En 2010, el fabricante de chips austriaco austriamicrosystems AG (llamado ams AG [nb 1] desde 2012 y ams-OSRAM AG desde 2020) presentó el IC controlador LED multiplexor AS1119, [26] [27] seguido por el AS1130 en 2011. [28] [29]
Además, la división de señal analógica y mixta (AMS) [nb 1] (llamada Lumissil Microsystems desde 2020) de Integrated Silicon Solution Inc. (ISSI) presentó el IS31FL3731 en 2012 [30] [31] y el IS31FL3732 en 2015. [32] [33] [34] Todos utilizan una técnica que llaman cross-plexing , una variante de Charlieplexing con detección automática de conexiones abiertas o en cortocircuito y medidas anti-efecto fantasma. [35]
Tucoplexación
En 2019, Micah Elizabeth Scott desarrolló un método para utilizar 3 pines para ejecutar 4 LED y 4 interruptores llamado Tucoplexing . [36]
Modulación por ancho de pulso
Charlieplexing incluso se puede utilizar con modulación de ancho de pulso para controlar el brillo de 12 LED con 4 pines. [37]
Ejemplo de código
En el siguiente ejemplo de código de Arduino , el circuito [38] [39] utiliza un microcontrolador ATtiny de 8 pines que tiene 5 pines de E/S para crear una pantalla de 7 segmentos . Dado que una pantalla de 7 segmentos solo requiere el control de 7 LED individuales, usamos 4 de los pines de E/S de ATtiny como salidas Charlieplexed ( n ( n - 1)), es decir, los 4 pines podrían usarse para controlar hasta 12 LED individuales (aquí solo usamos 7 de ellos). Dejando el quinto pin de E/S para usarse como entrada digital o analógica u otra salida.
// Código ATtiny.
// Lee la entrada analógica (o digital) del pin 4 y cada vez que la entrada cae por debajo de un umbral establecido.
// Cuenta uno y muestra el aumento en el conteo activando uno de los cuatro LED (o transistores)
// o uno de los doce LED Charlieplexed.
// ESTABLECER ESTOS VALORES:
int umbral = 500 ;
int recuentomáximo = 7 ;
////////////////////
sensor booleanoTriggered = falso ;
int cuenta = 0 ;
int sensorValue = 0 ;
long lastDebounceTime = 0 ; // La última vez que se activó el pin de salida.
long debounceDelay = 50 ; // El tiempo de rebote; aumenta si la salida parpadea.
/////////////////////////////////////////////////// ///////////////////////////////
configuración vacía () {
// Utilice pull-down para los pines de salida deshabilitados en lugar de pull-up para reducir el consumo interno.
para ( int pin = 0 ; pin < 4 ; pin ++ ) {
pinMode ( pin , ENTRADA ), digitalWrite ( pin , BAJO );
}
// Pull-up interno para el pin de entrada habilitado 4.
pinMode ( 4 , ENTRADA ), digitalWrite ( 4 , ALTA );
}
/////////////////////////////////////////////////// ///////////////////////////////
bucle vacío () {
pruebaDígitos ();
}
vacío testDigits () {
charlieBucle ();
}
/////////////////////////////////////////////////// ///////////////////////////////
vacío readSensor () {
sensorValue = analogRead ( 2 ); // pin4!
retraso ( 100 );
si ( sensorValue < umbral && sensorTriggered == falso ) {
sensorTriggered = verdadero ;
contar ++ ;
si ( contar > maxCount ) contar = 0 ;
charlieBucle ();
}
si ( sensorValue > umbral ) sensorTriggered = falso ;
}
/////////////////////////////////////////////////// ///////////////////////////////
vacío charlieLoop () {
contar ++ ;
para ( int i = 0 ; i < 1000 ; i ++ ) {
para ( int c = 0 ; c < conteo ; c ++ ) {
charliePlexPin ( c );
}
}
retraso ( 1000 );
si ( contar > maxCount ) contar = 0 ;
}
/////////////////////////////////////////////////// ///////////////////////////////
void charliePlexPin ( int miLed ){
//Asegúrese de no suministrar voltajes aleatorios a los LED.
// Durante el breve tiempo que estamos cambiando los voltajes y modos de los pines.
// Utilice pull-down para los pines de salida deshabilitados en lugar de pull-up para reducir el consumo interno.
para ( int pin = 0 ; pin < 4 ; pin ++ ) {
pinMode ( pin , ENTRADA ), digitalWrite ( pin , BAJO );
}
// Con 4 pines podríamos encender hasta 12 LED, aquí usamos solo 7.
// Asegúrese de configurar los voltajes de los pines (mediante pull-up o pull-down interno)
// antes de cambiar los modos de pin a salida.
#if 1 // Código reducido usando una tabla de búsqueda estática.
estructura typedef {
// Dos números PIN diferentes (entre 0 y 3; el orden es significativo),
// de lo contrario no se encenderá ningún led.
bajo , alto : int : 2 ;
} Pines ;
Pines estáticos pinsLookup [] = {
{ 2 , 0 }, { 2 , 3 }, { 1 , 3 } , { 0 , 1 } , { 1 , 0 } , { 0 , 2 } , { 1 , 2 },
// Otras combinaciones posibles para hasta 12 LED:
// {0, 3}, {2, 1}, {3, 0}, {3, 1}, {3, 2},
// Otras combinaciones inutilizables que no encienden ningún LED con un voltaje y corriente significativos,
// a menos que las resistencias pull-up o pull-down estén muy desequilibradas:
// {0, 0}, {1, 1}, {2, 2}, {3, 3}
};
si ( myLed >= 0 && myLed <= tamaño de ( pinsLookup ) / tamaño de ( Pins )) {
registrar Pines & pines = pinsLookup [ myLed ];
// Tenga en cuenta que el primer dígito escrito en LOW está comentado.
// como ya está configurado arriba para todos los pines de salida.
/* digitalWrite ( pins.low, BAJO), */ pinMode ( pins.low , SALIDA ) ;
digitalWrite ( pins . high , ALTO ), pinMode ( pins . high , SALIDA );
}
#else // Código equivalente usando un interruptor largo.
interruptor ( myLed ) {
caso 0 :
/* digitalWrite(2, BAJO), */ pinMode ( 2 , SALIDA );
digitalWrite ( 0 , ALTO ), pinMode ( 0 , SALIDA );
romper ;
caso 1 :
/* digitalWrite(2, BAJO), */ pinMode ( 2 , SALIDA );
digitalWrite ( 3 , ALTO ), pinMode ( 3 , SALIDA );
romper ;
caso 2 :
/* digitalWrite(1, BAJO), */ pinMode ( 1 , SALIDA );
digitalWrite ( 3 , ALTO ), pinMode ( 3 , SALIDA );
romper ;
caso 3 :
/* digitalWrite(0, BAJO), */ pinMode ( 0 , SALIDA );
digitalWrite ( 1 , ALTO ), pinMode ( 1 , SALIDA );
romper ;
caso 4 :
/* digitalWrite(1, BAJO), */ pinMode ( 1 , SALIDA );
digitalWrite ( 0 , ALTO ), pinMode ( 0 , SALIDA );
romper ;
caso 5 :
/* digitalWrite(0, BAJO), */ pinMode ( 0 , SALIDA );
digitalWrite ( 2 , ALTO ), pinMode ( 2 , SALIDA );
romper ;
caso 6 :
/* digitalWrite(1, BAJO), */ pinMode ( 1 , SALIDA );
digitalWrite ( 2 , ALTO ), pinMode ( 2 , SALIDA );
romper ;
}
#finsi
}
/////////////////////////////////////////////////// ///////////////////////////////
void spwm ( int frecuencia , int pin , int sp ) {
// Llama a Charlieplexing para configurar los pines correctos:
// en:
digitalWrite ( pin , ALTO );
delayMicrosegundos ( sp * freq );
// apagado:
digitalWrite ( pin , BAJO );
delayMicrosegundos ( sp * ( 255 - freq ));
}
Véase también
- Antiparalelo (electrónica)
- Fusión de parpadeo
- Conectividad (teoría de grafos)
- Interruptor de inversión de polaridad
Notas
- ^ ab Los circuitos integrados AS1119 y AS1130 fueron introducidos por austriamicrosystems AG (anteriormente Austria Mikro Systeme ), posteriormente denominada ams AG y ams-OSRAM AG . Los circuitos integrados IS31FL3731 e IS31FL3732 fueron introducidos por la división AMS (señal analógica y mixta) (ahora llamada Lumissil Microsystems) del fabricante de chips sin fabricación Integrated Silicon Solution Inc. (ISSI). Presumiblemente, el hecho de que ambos fabricantes de circuitos integrados de controladores LED de plexación cruzada lleven "AMS" en su nombre es solo una coincidencia.
Referencias
- ^ "Charlieplexing es fácil" . Consultado el 8 de enero de 2024 .
- ^ "Pantalla de cuadrícula de LED de 8x8 con Arduino Charlieplexed" . Consultado el 8 de enero de 2024 .
- ^ "Fabricación de matrices Charlieplex" . Consultado el 8 de enero de 2024 .
- ^ "guía de conexión de matriz LED 8x7 de Sparkfun" . Consultado el 9 de enero de 2024 .
- ^ "Sensor táctil" . Consultado el 8 de enero de 2024 .
- ^ abcd "Charlieplexing - Multiplexación de pantallas LED con recuento de pines reducido". Maxim Integrated Products, Inc. 2003-02-10. Nota de aplicación 1880. Archivado desde el original el 2016-08-13 . Consultado el 2017-06-07 .
[…] Esta inusual técnica de multiplexación es utilizada por los controladores de pantalla LED MAX6950, MAX6951, MAX6954, MAX6955, MAX6958 y MAX6959. […] Originalmente, Charlie Allen promovió esta técnica internamente en Maxim, por lo que el nombre abreviado "Charlieplexing" comenzó a usarse para distinguir la multiplexación con recuento de pines reducido del método tradicional. El primer producto Maxim que utilizó Charlieplexing fue el controlador LED MAX6951 de Maxim, que controla 8 dígitos numéricos con solo 9 pines […]
[1] (4 páginas) - ^ ab MAX6950/MAX6951 - Controladores de pantalla LED de 5 y 8 dígitos con interfaz serial, de +2,7 V a +5,5 V (PDF) . Revisión 1. Sunnyvale, California, EE. UU.: Maxim Integrated Products . Diciembre de 2001. 19-2227. Archivado (PDF) desde el original el 2021-12-10 . Consultado el 2021-12-10 .(19 páginas)
- ^ Personal de EDN, ed. (8 de mayo de 1997). «Concurso de innovación/innovación de EDN de 1996». EDN . Archivado desde el original el 10 de diciembre de 2021 . Consultado el 10 de diciembre de 2021 .
- ^ Sherman, Len (16 de diciembre de 2016). «Casi 30 años del MAX232». BISinfotech . Archivado desde el original el 10 de diciembre de 2021. Consultado el 10 de diciembre de 2021.
[…] El éxito del
MAX232
fue tanto un tributo a la visión de su creador, Charlie Allen, como al ingenio de su diseñador,
Dave Bingham
. […]
- ^ Fox, Brett J. (2021). "¿Qué hace que sus grandes ingenieros sean grandes?". Archivado desde el original el 2021-12-10 . Consultado el 2021-12-10 .
[…] El lanzamiento de la familia
MAX232
es particularmente revelador. Charlie Allen, un brillante ingeniero de aplicaciones centrado en el cliente, notó que nuestros clientes estaban usando un producto llamado ICL7660, que
Dave
[Bingham] también diseñó, para proporcionar la fuente de alimentación negativa para los controladores y receptores de línea
RS-232
. Entonces, Charlie se acercó a Dave y le preguntó si podía diseñar un CI que integrara la funcionalidad del ICL7660 con un controlador y receptor de línea RS-232. […]
- ^ abc Lancaster, Don (agosto de 2001). "N-Connectedness" (PDF) . Tech Musings . No. 152. Thatcher, Arizona, EE. UU.: Synergetics. págs. 152.2–152.5. Archivado (PDF) desde el original el 2021-12-09 . Consultado el 2021-12-09 .(4 páginas)
- ^ Rebic, Jean-Claude (1999-11-19) [1998-11-06]. "Unidad de LED complementaria" (PDF) . Pioneer-Standard , EE. UU.: Microchip Technology Inc. DS91029A. Nota de aplicación TB029. Archivado (PDF) desde el original el 2021-02-13 . Consultado el 2021-12-09 .(3+1 páginas)
- ^ "CONSEJO N.º 2: Multiplexación de entrada/salida". Trucos y consejos de Microchip: microcontroladores FLASH PIC de 8 pines: superen a la competencia (PDF) . Chandler, Arizona, EE. UU.: Microchip Technology Inc. 2003. pág. DS40040B-página 3. DS40040B. Archivado desde el original (PDF) el 28 de enero de 2007.(2+ii+38+2 páginas)
- ^ de Daniel, Graham (1998-07-19). "montones de LED parpadeantes". piclist.com . 060918a. Archivado desde el original el 2021-12-11 . Consultado el 2021-12-11 .[2] (NB. Con contribuciones de Paul B. Webster, Mark Willis, Dwayne Reid y Alan King.)
- ^ ab Daniel, Graham (20 de julio de 1998). "Archivo hexadecimal de 12 LED, 12c508". piclist.com . 045923a. Archivado desde el original el 11 de diciembre de 2021 . Consultado el 11 de diciembre de 2021 .
- ^ Malinowski, Christopher W.; Rinderle, Heinz; Siegle, Martin (9 de marzo de 1982) [16 de octubre de 1979]. "Sistema de señalización de tres estados" (PDF) . Heilbronn, Alemania: Licentia Patent-Verwaltungs-GmbH / Telefunken Electronic GmbH . Patente estadounidense 4319227A. Archivado (PDF) desde el original el 9 de diciembre de 2021. Consultado el 9 de diciembre de 2021 .
- ^ "desconocido". Ferrocarrilero en miniatura . 1972.
{{cite magazine}}: La cita utiliza un título genérico ( ayuda ) - ^ Lapedus, Mark (29 de marzo de 2019). "MicroLED: ¿la próxima revolución en las pantallas? La tecnología ofrece un brillo y unos colores mejorados y un menor consumo de energía, pero son caros y difíciles de fabricar". Fabricación, embalaje y materiales. Ingeniería de semiconductores . Sperling Media Group LLC. Archivado desde el original el 25 de abril de 2023. Consultado el 11 de abril de 2023 .(NB. Matriz de microleds que utiliza matriz activa).
- ^ Pino, Jose (25 de agosto de 2009). "Reloj LED de 12/24 horas 'casi sin piezas'". Proyectos y curiosidades de Jose Pino . Archivado desde el original el 10 de octubre de 2021. Consultado el 10 de diciembre de 2021 .(NB. Utilizando pantallas LED de 7 segmentos Charlieplexed).
- ^ ab Joshi, Kartik (24 de abril de 2008). "Un nuevo esquema de interfaz de conmutación reduce el número de pines del microprocesador". Diseño electrónico . Archivado desde el original el 24 de febrero de 2021 . Consultado el 10 de diciembre de 2021 .(1 página) (NB. Charlieplexing para datos de entrada).
- ^ Triggs, Robert (25 de marzo de 2023). "Cómo funcionan los escáneres de huellas dactilares: explicación de los modelos óptico, capacitivo y ultrasónico. Los escáneres de huellas dactilares están en todas partes, pero ¿cómo funcionan?". Tecnología móvil. AndroidAuthority . Authority Media. Archivado desde el original el 23 de junio de 2023. Consultado el 23 de junio de 2023 .
- ^ Gadre, Dhananjay V. (2008). "Corazón LED de San Valentín con GuGaplexed". Circuitos instructables . Archivado desde el original el 28 de febrero de 2021. Consultado el 25 de diciembre de 2021 .[3]
- ^ Jepson, Brian (23 de junio de 2008). "Charlieplexing multiplicado por dos". Make: . Make Community LLC . Archivado desde el original el 24 de febrero de 2021 . Consultado el 10 de diciembre de 2021 .
- ^ Jaquenod, Guillermo (2008-11-27). Rowe, Martin; Granville, Fran (eds.). ""Chipiplexing" maneja eficientemente múltiples LEDs usando pocos puertos de microcontrolador" (PDF) . Ideas de Diseño. EDN . La Plata, Argentina. pp. 59–60. Archivado desde el original (PDF) el 2012-12-18.[4] (2 páginas)
- ^ Redactor, ed. (9 de diciembre de 2008). "LED de chipiplexado". Electronics Weekly . Archivado desde el original el 25 de diciembre de 2021. Consultado el 25 de diciembre de 2021 .
- ^ "austriamicrosystems anuncia un nuevo controlador LED de matriz de puntos de 144 canales con la mayor eficiencia de la industria y el tamaño más pequeño". Noticias de la empresa. Revista LEDs . Vol. 7, no. 8. PennWell Corporation . 2010-08-23. ISSN 2156-633X. Archivado desde el original el 2022-05-12 . Consultado el 2022-05-13 .
[…] Solo se requieren 18 líneas para controlar los 144 LED. Esto se logra con la técnica de multiplexación de austriamicrosystems llamada cross-plexing. Esto permite reducir el recuento de líneas en la PCB, así como menos pines en los conectores, lo que ahorra espacio y costos. […] Otras características incluyen […] detección de errores de LED abiertos y en cortocircuito […]
(NB. Anuncio de la AMS AS1119.) - ^ "Nota de aplicación - Cross-Plexing - AS1119 - Controlador de Cross-Plexing de 144 LED con bomba de carga de 320 mA". 1.00. Unterpremstätten, Austria: austriamicrosystems AG . 2010. Archivado desde el original el 2022-05-13 . Consultado el 2022-05-13 .(5+1 páginas); "Manual de la placa de demostración - AS1119 - Controlador de plexación cruzada con interfaz I²C de 144 LED con bomba de carga de 320 mA" (PDF) . 1.00. Unterpremstätten, Austria: austriamicrosystems AG . 2010. Archivado (PDF) del original el 2022-05-13 . Consultado el 2022-05-13 .(1+5+1 páginas); "Nota de aplicación AN02 – Manual de software - AS1119 - Controlador de plexación cruzada de 144 LED con bomba de carga de 320 mA". 1.00. Unterpremstätten, Austria: austriamicrosystems AG / ams AG . 2010. Archivado desde el original el 2022-05-13 . Consultado el 2022-05-13 .(6+1 páginas)
- ^ "austriamicrosystems lanza un controlador de 132 LED con la mayor eficiencia de la industria y el tamaño más pequeño". Noticias de la empresa. Revista LEDs . Vol. 8, no. 10. PennWell Corporation . 2011-10-04. ISSN 2156-633X. Archivado desde el original el 2022-05-13 . Consultado el 2022-05-13 .
[…] Solo se requieren 12 líneas para controlar los 132 LED. Esto se logra con la técnica de multiplexación de austriamicrosystems llamada cross-plexing. Reduce el recuento de líneas en la PCB, así como los pines en los conectores, lo que ahorra espacio y costos. Otras características incluyen […] detección de errores de LED abiertos y en cortocircuito […]
(NB. Anuncio del AMS AS1130.) - ^ "AS1130 - Controlador de plexación cruzada de 132 LED con función de desplazamiento" (PDF) . 2.01. Unterpremstätten, Austria: ams AG . 2016-10-12 [2016-09-21]. Archivado (PDF) del original el 2021-08-14 . Consultado el 2022-05-13 .(66+1 páginas); "Manual del kit de demostración - AS1130 - Placa estándar - AS1130-WL_DK_ST". 2.00. Unterpremstätten, Austria: ams AG . 2014-11-14 [2011-10-11]. Archivado desde el original el 2022-05-13 . Consultado el 2022-05-13 .(32 páginas); "Nota de aplicación: RGB de 4 pines en una matriz de plexación cruzada - AS1130 - 132 LED, interfaz I²C, controlador de plexación cruzada con función de desplazamiento". 1.00. Unterpremstätten, Austria: austriamicrosystems AG . 2012. Archivado desde el original el 2022-05-13 . Consultado el 2022-05-13 .(6+1 páginas)
- ^ "IS31FL3731 - Controlador LED de matriz modulada por audio" (PDF) . Rev. F. Lumissil Microsystems/Integrated Silicon Solution Inc. (ISSI). 2019-11-04 [2012-03-14]. Archivado (PDF) del original el 2022-05-12 . Consultado el 2022-05-13 .(24+1 páginas)
- ^ "IS31FL3731C - Controlador LED de matriz modulada por audio" (PDF) . Rev. B. Integrated Silicon Solution Inc. (ISSI). 2014-04-01. Archivado (PDF) desde el original el 2022-05-13 . Consultado el 2022-05-13 .(22+1 páginas)
- ^ "ISSI amplía la familia FxLED con un controlador LED modulado por audio para controlar 144 LED: el IS31FL3732 admite funciones LED de efectos especiales para plataformas de automoción, juegos, electrodomésticos e IoT" (PDF) . San José, California, EE. UU.: Integrated Silicon Solution Inc. (ISSI). 24 de febrero de 2015. Archivado (PDF) del original el 16 de mayo de 2022. Consultado el 16 de mayo de 2022 .(2 páginas)
- ^ "IS31FL3732 - Controlador LED de matriz modulada por audio" (PDF) . Rev. D. Lumissil Microsystems/Integrated Silicon Solution Inc. (ISSI). 2017-07-04 [2015-09-06]. Archivado (PDF) del original el 2022-05-13 . Consultado el 2022-05-13 .(27+1 páginas)
- ^ "IS31FL3732A - Controlador LED de matriz modulada por audio" (PDF) . Rev. C. Lumissil Microsystems/Integrated Silicon Solution Inc. (ISSI). 2017-07-04 [2016-11-03]. Archivado (PDF) del original el 2022-05-12 . Consultado el 2022-05-13 .(27+1 páginas)
- ^ Óxido, Peter (10 de abril de 2013). "Pantallas LED - Matrixtreiber-Topologien unter der Lupe" [Pantallas LED: topologías de controladores Matrix en foco]. elektroniknet.de (en alemán). WEKA FACHMEDIEN GmbH . Archivado desde el original el 12 de mayo de 2022 . Consultado el 13 de mayo de 2022 .
[…] Los múltiples efectos fantasma y los problemas con los LED a menudo han provocado la interrupción de la topología Charlieplexing en la configuración severa. Eine »Crossplexing« genera Verbesserung des Verfahrens verspricht nun, die Nachteile des bisherigen Verfahrens zu eliminieren […] Die Kurzschluss- und Defekterkennung des ICs beruht […] auf der Vorwärtsspannung der in der Matrix verwendeten LED. Das Bauelement bestimmt eine óptima Spannungsschwelle für Defektsituationen und konfiguriert sie automatisch. Die Kenntnis der Position eines Kurzschlusses oder Defekts eliminan naturalmente noch nicht die Ghosting-Effekte. Wird jedoch eine Unterbrechung festgestellt, kann das System die Koordinaten des Defekts abspeichern. […] Jedes Mal, wenn der Treiber angewiesen wird, diese LED anzusteuern, willd are diese Instruktion ignoriert. Esta masa debe estar protegida de las increibles luces LED que se encuentran en el resto de las pantallas Punktmatrix. […]
- ^ Scharfglass, Kerry (23 de marzo de 2019). "Tucoplexing: un nuevo Charliplex para botones e interruptores". Hackaday . Archivado desde el original el 10 de diciembre de 2021. Consultado el 10 de diciembre de 2021 .
- ^ Johnson-Davies, David (19 de octubre de 2021) [19 de febrero de 2019]. "Doce salidas PWM de un ATtiny85". Technoblogy . Archivado desde el original el 10 de diciembre de 2021 . Consultado el 10 de diciembre de 2021 .
- ^ "ATtiny - Pantalla Charlieplexed de 7 segmentos y 1 interruptor o sensor". 2017. Archivado desde el original el 2021-05-11 . Consultado el 2021-12-10 .
- ^ Satomi, Mika; Perner-Wilson, Hannah (2015) [2012]. "Circuitos y código: ATtiny: pantalla de 7 segmentos". Cómo conseguir lo que quieres . Archivado desde el original el 2021-04-18 . Consultado el 2017-11-13 .
Lectura adicional
- Gadre, Dhananjay V. (18 de enero de 2007). "Un microcontrolador controla una pantalla de 20 LED de puntos y barras logarítmica/lineal". EDN . p. 83. CA6406730. Archivado desde el original el 25 de diciembre de 2021.
- Gadre, Dhananjay V.; Chugh, Anurag (24 de mayo de 2007). "Un microcontrolador de ocho pines maneja una pantalla de dos dígitos con varios LED". Electronic Design . Paramus, Nueva Jersey, EE. UU. ED Online 15512. Archivado desde el original el 13 de febrero de 2012.
- Gadre, Dhananjay V. (2007-09-27). "Un microcontrolador controla 20 LED". EDN . CA6483826. Archivado desde el original el 25 de diciembre de 2021.