Tabla de contenido:
- Paso 1: antecedentes
- Paso 2: Diseño GreenPAK
- Paso 3: generación de señales de dígitos
- Paso 4: generación de señal de segmento
- Paso 5: Configuración de ASM
- Paso 6: prueba
Video: Controlador LED DIY 4xN: 6 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
Las pantallas LED se utilizan ampliamente en sistemas que van desde relojes digitales, contadores, temporizadores, medidores electrónicos, calculadoras básicas y otros dispositivos electrónicos capaces de mostrar información numérica. La Figura 1 muestra un ejemplo de una pantalla LED de 7 segmentos que puede mostrar números y caracteres decimales. Como cada segmento de la pantalla LED se puede controlar individualmente, este control puede requerir muchas señales, especialmente para varios dígitos. Este Instructable describe una implementación basada en GreenPAK ™ para controlar varios dígitos con una interfaz I2C de 2 cables desde una MCU.
A continuación, describimos los pasos necesarios para comprender cómo se ha programado el chip GreenPAK para crear el controlador LED 4xN. Sin embargo, si solo desea obtener el resultado de la programación, descargue el software GreenPAK para ver el archivo de diseño GreenPAK ya completado. Conecte el kit de desarrollo GreenPAK a su computadora y presione el programa para crear el IC personalizado para el controlador LED 4xN.
Paso 1: antecedentes
Las pantallas LED se dividen en dos categorías: ánodo común y cátodo común. En una configuración de ánodo común, los terminales del ánodo están conectados internamente como se muestra en la Figura 2. Para encender el LED, el terminal del ánodo común se conecta al voltaje de suministro del sistema VDD y los terminales del cátodo se conectan a tierra a través de resistencias limitadoras de corriente.
Una configuración de cátodo común es similar a una configuración de ánodo común, excepto que los terminales del cátodo están en cortocircuito como se muestra en la Figura 3. Para encender la pantalla LED de cátodo común, los terminales del cátodo común están conectados a tierra y los terminales del ánodo están conectados al sistema tensión de alimentación VDD a través de resistencias limitadoras de corriente.
Se puede obtener una pantalla LED multiplexada de N dígitos concatenando N pantallas LED individuales de 7 segmentos. La Figura 4 muestra una instancia de una pantalla LED de 4x7 obtenida al combinar 4 pantallas individuales de 7 segmentos en una configuración de ánodo común.
Como se ve en la Figura 4, cada dígito tiene un pin / plano posterior de ánodo común que se puede usar para habilitar individualmente cada dígito. Los pines del cátodo para cada segmento (A, B,… G, DP) deben estar conectados externamente. Para configurar esta pantalla LED 4x7, el usuario requiere solo 12 pines (4 pines comunes para cada dígito y pines de 8 segmentos) para controlar todos los 32 segmentos de la pantalla 4x7 multiplexada.
El diseño de GreenPAK, que se detalla a continuación, muestra cómo generar las señales de control para esta pantalla LED. Este diseño se puede ampliar para controlar hasta 4 dígitos y 16 segmentos. Consulte la sección Referencias para obtener un enlace a los archivos de diseño de GreenPAK disponibles en el sitio web de Dialog.
Paso 2: Diseño GreenPAK
El diseño de GreenPAK que se muestra en la Figura 5 incluye la generación de señales de dígitos y segmentos en un diseño. Las señales de segmento se generan a partir del ASM y las señales de selección de dígitos se crean a partir de la cadena DFF. Las señales de segmento están conectadas a los pines del segmento a través de resistencias limitadoras de corriente, pero las señales de selección de dígitos están conectadas a los pines comunes de la pantalla.
Paso 3: generación de señales de dígitos
Como se describe en la sección 4, cada dígito en una pantalla multiplexada tiene un panel posterior individual. En GreenPAK, las señales para cada dígito se generan a partir de la cadena DFF impulsada por el oscilador interno.
Estas señales controlan los pines comunes de la pantalla. La Figura 6 muestra las señales de selección de dígitos.
Canal 1 (amarillo) - Pin 6 (dígito 1)
Canal 2 (verde) - Pin 3 (dígito 2)
Canal 3 (azul) - Pin 4 (dígito 3)
Canal 4 (magenta) - Pin 5 (dígito 4)
Paso 4: generación de señal de segmento
El GreenPAK ASM genera diferentes patrones para impulsar las señales del segmento. Un contador de 7,5 ms recorre los estados de ASM. Como el ASM es sensible al nivel, este diseño utiliza un sistema de control que evita la posibilidad de cambiar rápidamente a través de múltiples estados durante el período alto del reloj de 7.5ms. Esta implementación específica se basa en estados ASM consecutivos controlados por polaridades de reloj invertidas. Tanto las señales de segmentos como las de dígitos son generadas por el mismo oscilador interno de 25 kHz.
Paso 5: Configuración de ASM
La Figura 7 describe el diagrama de estado del ASM. El estado 0 cambia automáticamente al estado 1. Se produce un cambio similar del estado 2 al estado 3, del estado 4 al estado 5 y del estado 6 al estado 7. Los datos del estado 0, estado 2, estado 4 y estado 6 se bloquean instantáneamente usando DFF 1, DFF 2 y DFF 7 como se muestra en la Figura 5, antes de que el ASM pase al siguiente estado. Estos DFF bloquean los datos de los estados pares del ASM, lo que permite al usuario controlar una pantalla extendida de 4x11 / 4xN (N hasta 16 segmentos) utilizando el ASM de GreenPAK.
Cada dígito en una pantalla 4xN está controlado por dos estados del ASM. El estado 0/1, el estado 2/3, el estado 4/5 y el estado 6/7 controlan respectivamente el Dígito 1, Dígito 2, Dígito 3 y Dígito 4. La Tabla 1 describe los estados de ASM junto con sus respectivas direcciones RAM para controlar cada dígito.
Cada estado de la RAM de ASM almacena un byte de datos. Entonces, para configurar una pantalla de 4x7, tres segmentos del Dígito 1 están controlados por el Estado 0 del ASM y cinco segmentos del Dígito 1 están controlados por el Estado 1 del ASM. Como resultado, todos los segmentos de cada dígito en la pantalla LED se obtienen concatenando los segmentos de sus dos estados correspondientes. La Tabla 2 describe la ubicación de cada uno de los segmentos del Dígito 1 en la RAM de ASM. De manera similar, el estado 2 al estado 7 de ASM, respectivamente, incluyen las ubicaciones de los segmentos del dígito 2 al dígito 4.
Como se ve en la Tabla 2, los segmentos OUT 3 a OUT 7 del estado 0 y los segmentos OUT 0 a OUT 2 del estado 1 no se utilizan. El diseño de GreenPAK en la Figura 5 puede controlar una pantalla de 4x11 configurando los segmentos OUT 0 a OUT 2 de todos los estados impares del ASM. Este diseño se puede ampliar aún más para controlar una pantalla ampliada 4xN (N hasta 16 segmentos) mediante el uso de más celdas lógicas DFF y GPIO.
Paso 6: prueba
La Figura 8 muestra el esquema de prueba utilizado para mostrar números decimales en la pantalla LED de 4x7 segmentos. Se utiliza un Arduino Uno para que I2C se comunique con los registros de RAM ASM de GreenPAK. Para obtener más información sobre la comunicación I2C, consulte [6]. Los pines del ánodo común de la pantalla están conectados a los GPIO de selección de dígitos. Los pines del segmento están conectados al ASM a través de resistencias limitadoras de corriente. El tamaño de la resistencia limitadora de corriente es inversamente proporcional al brillo de la pantalla LED. El usuario puede seleccionar la fuerza de las resistencias limitadoras de corriente en función de la corriente media máxima de los GPIO GreenPAK y la corriente CC máxima de la pantalla LED.
La Tabla 3 describe los números decimales del 0 al 9 en formato binario y hexadecimal que se mostrarán en la pantalla de 4x7. 0 indica que un segmento está ENCENDIDO y 1 indica que el segmento está APAGADO. Como se muestra en la Tabla 3, se requieren dos bytes para mostrar un número en la pantalla. Al correlacionar la Tabla 1, la Tabla 2 y la Tabla 3, el usuario puede modificar los registros de RAM del ASM para mostrar diferentes números en la pantalla.
La Tabla 4 describe la estructura del comando I2C para el Dígito 1 en la pantalla LED de 4x7. Los comandos I2C requieren un bit de inicio, un byte de control, una dirección de palabra, un byte de datos y un bit de parada. Se pueden escribir comandos I2C similares para el dígito 2, el dígito 3 y el dígito 4.
Por ejemplo, para escribir 1234 en la pantalla LED de 4x7, se escriben los siguientes comandos I2C.
[0x50 0xD0 0xF9 0xFF]
[0x50 0xD2 0xFC 0xA7]
[0x50 0xD4 0xF8 0xB7]
[0x50 0xD6 0xF9 0x9F]
Al escribir repetidamente los ocho bytes del ASM, el usuario puede modificar el patrón mostrado. Como ejemplo, se incluye un código de contador en el archivo ZIP de la nota de la aplicación en el sitio web de Dialog.
Conclusiones
La solución GreenPAK descrita en este Instructable permite al usuario minimizar el costo, la cantidad de componentes, el espacio en la placa y el consumo de energía.
La mayoría de las veces, las MCU tienen un número limitado de GPIO, por lo que descargar el LED que impulsa los GPIO a un IC GreenPAK pequeño y económico permite al usuario guardar IO para funcionalidades adicionales.
Además, los circuitos integrados GreenPAK son fáciles de probar. La RAM de ASM se puede modificar con un clic de algunos botones en el software GreenPAK Designer, lo que indica modificaciones de diseño flexibles. Al configurar el ASM como se describe en este Instructable, el usuario puede controlar cuatro pantallas LED de N segmentos con hasta 16 segmentos cada una.
Recomendado:
Controlador de juegos de bricolaje basado en Arduino - Controlador de juegos Arduino PS2 - Jugar a Tekken con el gamepad DIY Arduino: 7 pasos
Controlador de juegos de bricolaje basado en Arduino | Controlador de juegos Arduino PS2 | Jugar a Tekken con DIY Arduino Gamepad: Hola chicos, jugar juegos siempre es divertido, pero jugar con su propio controlador de juego personalizado DIY es más divertido. Así que haremos un controlador de juego usando arduino pro micro en este instructivo
Tira de LED RGB con controlador Bluetooth Arduino DIY: 4 pasos
Arduino DIY Bluetooth Controller LED RGB Strip: ¡Hola a todos, este es el segundo proyecto que quiero compartir con ustedes! Hoy les mostraré cómo conectar Arduino y el módulo Bluetooth y luego usarlo para controlar una tira LED RGB. usará el módulo Bluetooth HC-06, porque es che
YABC - Otro controlador Blynk más - Controlador de temperatura y humedad en la nube de IoT, ESP8266: 4 pasos
YABC - Otro controlador Blynk más - Controlador de temperatura y humedad de la nube de IoT, ESP8266: Hola fabricantes, recientemente comencé a cultivar hongos en casa, hongos ostra, pero ya tengo 3x de estos controladores en casa para el control de temperatura del fermentador para mi cerveza casera, esposa también está haciendo esto de Kombucha ahora, y como termostato para calor
Controlador de infrarrojos de tira de LED RGB Arduino DIY: 5 pasos
Controlador IR DIY Arduino RGB LED Strip: Hola chicos. En el instructivo de hoy, le mostraré cómo puede hacer su propio controlador de tira de LED RGB controlado por infrarrojos, basado en arduino. El principio del controlador es bastante simple. El positivo de 12v se conecta directamente al 12v r
LED Rainbow - Construcción del controlador RGB LED PWM - Fácil de construir: 15 pasos
LED Rainbow - Construcción del controlador RGB LED PWM - Fácil de construir: Instrucciones paso a paso fáciles de seguir sobre la construcción de un controlador LED Rainbow RGB LED PWM. Solo se necesita una cantidad mínima de piezas, junto con un procesador PIC, y puede construir uno de los controladores LED más sorprendentes disponibles. El s