Tabla de contenido:

Pantalla de matriz de LED con desplazamiento de 48 x 8 con Arduino y Shift Registers: 6 pasos (con imágenes)
Pantalla de matriz de LED con desplazamiento de 48 x 8 con Arduino y Shift Registers: 6 pasos (con imágenes)

Video: Pantalla de matriz de LED con desplazamiento de 48 x 8 con Arduino y Shift Registers: 6 pasos (con imágenes)

Video: Pantalla de matriz de LED con desplazamiento de 48 x 8 con Arduino y Shift Registers: 6 pasos (con imágenes)
Video: Arduino desde cero en Español - Capítulo 70 - 74HC595 Registro de desplazamiento (Shift register) 2024, Noviembre
Anonim
Pantalla de matriz de LED con desplazamiento de 48 x 8 con Arduino y Shift Registers
Pantalla de matriz de LED con desplazamiento de 48 x 8 con Arduino y Shift Registers
Pantalla de matriz de LED con desplazamiento de 48 x 8 con Arduino y Shift Registers
Pantalla de matriz de LED con desplazamiento de 48 x 8 con Arduino y Shift Registers

¡Hola a todos

Este es mi primer Instructable y se trata de hacer una matriz de LED de desplazamiento programable de 48 x 8 usando un Arduino Uno y registros de cambio 74HC595. Este fue mi primer proyecto con una placa de desarrollo Arduino. Fue un desafío que me dio mi maestro. En el momento de aceptar este desafío, ni siquiera sabía cómo hacer parpadear un LED usando un arduino. Entonces, creo que incluso un principiante puede hacer esto con un poco de paciencia y comprensión. Comencé con una pequeña investigación sobre registros de desplazamiento y multiplexación en arduino. Si es nuevo en los registros de desplazamiento, le recomiendo que aprenda los conceptos básicos de la multiplexación y la conexión en cadena de registros de desplazamiento antes de comenzar con las matrices. Eso le ayudará mucho a comprender el código y el funcionamiento de la pantalla de desplazamiento.

Paso 1: Recopilación de herramientas y componentes

Recopilación de herramientas y componentes
Recopilación de herramientas y componentes

Componentes

  • 1. Arduino Uno R3 - 1
  • 2. 74HC595 Registros de desplazamiento serie a paralelo de 8 bits. - 7
  • 3. Transistores BC 548 / 2N4401 - 8
  • 4. Resistencias de 470 ohmios - número de columnas + 8
  • 5. Pref Board 6x4 pulgadas - 4
  • 6. Cables codificados por colores: según sea necesario
  • 7. Soportes de CI - 7
  • 8. Matriz de LED monocolor de cátodo común 8x8 de 5 mm o 3 mm - 6
  • 9. Encabezados masculinos y femeninos: según sea necesario.

Herramientas necesarias

  • 1. Kit de soldadura
  • 2. Multímetro
  • 3. Pistola de pegamento
  • 4. Bomba desoldadora
  • 5. Fuente de alimentación de 5V

Paso 2: Construyendo el Circuito en Protoboard

Construyendo el Circuito en Protoboard
Construyendo el Circuito en Protoboard
Construyendo el Circuito en Protoboard
Construyendo el Circuito en Protoboard
Construyendo el Circuito en Protoboard
Construyendo el Circuito en Protoboard
Construyendo el Circuito en Protoboard
Construyendo el Circuito en Protoboard

Lo primero que debe hacer antes de construir el prototipo es obtener un diagrama de pines de su matriz de 8x8 y marcar un punto de referencia para identificar los pines en todas sus matrices. Esto podría ayudarlo a ensamblar el circuito.

He adjuntado un diagrama de pines del módulo de matriz que he usado aquí. En mi módulo, las filas eran los pines negativos. Este diagrama de pines sigue siendo el mismo para la mayoría de los módulos del mercado.

Se muestra en el circuito que se usa un solo registro de desplazamiento para controlar las 8 filas y para controlar las columnas, usamos un registro de desplazamiento para cada 8 columnas.

Construyamos una pantalla de desplazamiento simple de 8 x 8 en la placa de pruebas.

El circuito se divide en dos partes: control de fila y control de columna. Primero construyamos el control de columna.

El pin 4 de arduino está conectado al pin 14 (SER) del registro de desplazamiento. (Este es el pin de entrada de datos en serie del registro de desplazamiento. Los niveles lógicos necesarios para encender los LED se alimentan a través de este pin

El pin 3 de arduino está conectado al pin 12 (RCLK) del registro de desplazamiento. (Vamos a nombrar este pin como el pin del reloj de salida. Los datos en la memoria de los registros de desplazamiento se envían a la salida cuando se activa este reloj)

El pin 2 de arduino está conectado al pin 11 (SRCLK) del registro de desplazamiento. (Este es el pin del reloj de entrada que cambia los datos a la memoria)

VCC + 5V se le da al registro de desplazamiento a través de su Pin 16 y el mismo está conectado al Pin 10. (¿Por qué? El Pin 10 es el Pin SRCLR, que borra los datos en el registro de desplazamiento cuando se activa. Es un pin activo bajo, por lo que para mantener los datos en la memoria del registro de desplazamiento, este pin debe recibir + 5V todo el tiempo)

La tierra está conectada tanto al pin GND (pin 8 del registro de desplazamiento) como al pin OE (pin 13 del registro de desplazamiento). (¿Por qué? El pin de habilitación de salida debe activarse para dar salidas de acuerdo con la señal de reloj. Es un pin bajo activo al igual que el pin SRCLR, por lo que debe mantenerse en el estado de base todo el tiempo para habilitar el salidas.)

Los pines de la columna de la matriz están conectados al registro de desplazamiento como se muestra en el diagrama del circuito con una resistencia de 470 ohmios entre la matriz y el registro de desplazamiento

Ahora, para el circuito de control de hileras.

El pin 7 de arduino está conectado al pin 14 (SER) del registro de desplazamiento

El pin 5 de arduino está conectado al pin 11 (SRCLK) del registro de desplazamiento

El pin 6 de arduino está conectado al pin 12 (RCLK) del registro de desplazamiento

Se da VCC + 5V al Pin 16 y al Pin 10 como se describe arriba

La tierra está conectada al Pin 8 y al Pin 13

Como mencioné anteriormente, las filas eran los pines negativos en mi caso. Es mejor considerar los pines negativos de su matriz como las filas de su pantalla. La conexión a tierra debe cambiarse a estos pines negativos utilizando transistores BC548 / 2N4401 que están controlados por los niveles lógicos de salida del registro de desplazamiento. Entonces, cuantos más pines negativos, más transistores necesitamos

Proporcione las conexiones de las filas como se muestra en el diagrama del circuito

Si ha logrado hacer el prototipo de pantalla de matriz de 8 x 8, simplemente puede replicar la parte del circuito para el control de columna y extender la matriz a cualquier número de columnas. Solo necesita agregar un 74HC595 por cada 8 columnas (un módulo de 8 x 8) y conectarlo en cadena con el anterior.

Encadenamiento de los registros de turno para agregar más columnas

La conexión en cadena en ingeniería eléctrica es un esquema de cableado en el que se conectan varios dispositivos en una secuencia.

El mecanismo es simple: los pines SRCLK (reloj de entrada. Pin 11) y RCLK (reloj de salida. Pin 12) se comparten entre todos los registros de desplazamiento encadenados, mientras que cada PIN QH (Pin 9) del registro de desplazamiento anterior en el La cadena se utiliza como entrada en serie para el siguiente registro de desplazamiento a través del PIN SER (Pin 14).

En palabras simples, al encadenar los registros de desplazamiento, se pueden controlar como un registro de desplazamiento único con una memoria más grande. Por ejemplo, si conecta en cadena dos registros de desplazamiento de 8 bits, funcionarán como un solo registro de desplazamiento de 16 bits.

El código

En el código alimentamos las columnas con los respectivos niveles lógicos según la entrada mientras escaneamos a lo largo de las filas. Los caracteres de la A a la Z se definen en el código como niveles lógicos en una matriz de bytes. Cada carácter tiene 5 píxeles de ancho y 7 píxeles de alto. He dado una explicación más detallada sobre el funcionamiento del código como comentarios en el código mismo.

El código Arduino se adjunta aquí.

Paso 3: soldadura

Soldadura
Soldadura
Soldadura
Soldadura
Soldadura
Soldadura

Para que el circuito soldado sea más fácil de entender, lo hice lo más grande posible y proporcioné tableros separados para los controladores de fila y columna y los conecté entre sí usando encabezados y cables. Puede hacerlo mucho más pequeño soldando los componentes más cerca entre sí o, si es bueno en el diseño de PCB, también puede hacer un PCB personalizado más pequeño.

Asegúrese de colocar una resistencia de 470 ohmios en cada pin que conduzca a la matriz. Utilice siempre encabezados para conectar las matrices LED a la placa. Es mejor no soldarlos directamente a la placa, ya que la exposición prolongada al calor puede dañarlos permanentemente.

Como hice tableros separados para los controles de fila y columna, extendí los cables de un tablero a otro para conectar las columnas. Aquí, el tablero en la parte superior es para controlar las filas y el tablero en la parte inferior es para controlar las columnas.

solo necesita un único 74HC595 para conducir las 8 filas. Pero según el número de columnas, se deben agregar más registros de desplazamiento, no hay un límite teórico para el número de columnas que puede agregar a esta matriz. ¿Qué tan grande puedes hacerlo? ¡Avísame cuando llegues!;)

Paso 4: Prueba de la primera mitad terminada del circuito

Prueba de la primera mitad del circuito terminada
Prueba de la primera mitad del circuito terminada

Pruébelo siempre a la mitad para encontrar posibles errores como conexiones sueltas, conexión de pines incorrecta, etc. Muchas personas que me pidieron ayuda para encontrar el error en su matriz se habían equivocado con la asignación de pines fila-columna del módulo de matriz. Compruébelo dos veces antes de soldar y use cables codificados por colores para distinguir los pines fácilmente.

Paso 5: construcción de la segunda mitad

Construyendo la segunda mitad
Construyendo la segunda mitad
Construyendo la segunda mitad
Construyendo la segunda mitad
Construyendo la segunda mitad
Construyendo la segunda mitad

Extienda el mismo circuito de control de columna. Las filas están conectadas en serie con la anterior.

Los pines SRCLK y RCLK se toman en paralelo y el QH (Salida de datos en serie. Pin 9) del último registro de desplazamiento del circuito terminado se conecta al SER (Entrada de datos en serie. Pin 14) del siguiente registro de desplazamiento. La potencia VCC y GND también se comparten entre todos los circuitos integrados.

Paso 6: el resultado

Image
Image

Una vez que haya terminado de soldar, el siguiente paso es hacer un estuche para su pantalla. Siempre es mejor diseñar una carcasa personalizada con Fusion 360 o cualquier otra herramienta de diseño 3D e imprimir la carcasa en 3D. Como no tenía acceso a la impresión 3D en ese momento, hice una caja de madera con la ayuda de un amigo que es bueno en carpintería.

Espero que hayas disfrutado leyendo este instructivo. Publique las imágenes de su versión de este proyecto en la sección de comentarios a continuación y si tiene alguna pregunta, no dude en hacerla aquí o envíe un correo electrónico a [email protected]. Estaré feliz de poder ayudarte.

Recomendado: