Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Matriz de LED con desplazamiento de 48 x 8 usando Arduino.

Componentes y suministros

Arduino UNO
× 1
74HC595 Registro de cambios de serie a paralelo de 8 bits
× 7
Resistencia 475 ohm
× 56
Encabezado masculino 40 Posición 1 Fila (0.1 ")
× 2
Encabezado femenino 8 Posición 1 Fila (0.1 ")
× 21
Placa PCB de uso general de 6 "x4"
× 4
Matriz de LED 8X8
× 6
Transistor BC 548
× 1

Herramientas y máquinas necesarias

Soldador (genérico)
Pistola de pegamento caliente (genérica)
Multímetro digital Digilent Mastech MS8217 Autorange

Aplicaciones y servicios en línea

Arduino IDE

Acerca de este proyecto

¡Hola a todos!

Este proyecto trata de hacer una matriz de LED de desplazamiento programable de 48x8 utilizando un registro de desplazamiento Arduino UNO y 74HC595.

Este fue mi primer proyecto con una placa de desarrollo Arduino. Fue un desafío que me propuso mi maestro intentar construir uno. Entonces, 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. Encontré el diagrama del circuito en línea y esa fue mi única referencia para construir este proyecto. Comencé con una pequeña investigación sobre registros de desplazamiento y multiplexación en arduino.

El circuito

Recopilación de componentes

Reuní todos los componentes de diferentes fuentes. Obtuve esta pantalla de matriz LED de cátodo común de 5 mm 8x8 de un sitio web en línea.

Construyendo el prototipo

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.

Entonces, si puede hacer una matriz simple de 8x8, 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 8x8) que agregue al circuito. Teniendo eso en cuenta, hice mi prototipo de 8x8.

Etapa de soldadura

Tomé tableros de puntos separados para hacer los controles de fila y columna y cables extendidos y encabezados para conectarlos.

Una vez que haya creado con éxito una matriz de 8x8, solo necesita conectar en cadena más registros de desplazamiento con un reloj común para controlar las columnas. solo necesita un solo 74hc595 para conducir todas las filas. Entonces, según la cantidad de columnas, se pueden agregar más registros de desplazamiento, no hay límite para la cantidad de columnas que puede agregar.

Construyendo la segunda mitad

Como no tenía acceso a la impresión 3D en ese momento, me acerqué a un carpintero local para presentar un caso.

La carcasa que hizo era mucho más grande de lo que esperaba, es mejor diseñar una carcasa más pequeña con Fusion 360 o cualquier otro software de diseño e imprimir la carcasa en 3D. Se hicieron agujeros en el estuche para conectar los cables USB y de alimentación.

El código

El Código se puede encontrar en los archivos adjuntos de este proyecto.

Aquí exploraremos las filas y alimentaremos las líneas de las columnas con los niveles lógicos adecuados. El código determinará la velocidad del mensaje de desplazamiento así como el mensaje que vamos a mostrar. La dirección del desplazamiento es de derecha a izquierda por defecto en el código, pero con una pequeña modificación, también se puede implementar en otras direcciones.

El resultado

¡Gracias! :)

Código

  • Código Arduino para matriz LED 48x8
Código Arduino para matriz LED 48x8 C / C ++
Código Aduino para Matriz LED 48x8. Las conexiones y el código se explican como comentarios en el código mismo.
 / * ///////////////////////////////// /////////////////////////////////////////////////// * Código Arduino para mostrar caracteres de desplazamiento en 6 o más matrices LED de 8x8. * * El no:de matrices se puede aumentar con un pequeño cambio de código. * * Los comentarios se dan en cada declaración para su edición. * * Codificado por Prasanth KS * * Contacto:[email protected] * / * ////////////////////////////////// ////////////////////////////////////////////////// char msg [] ="WELCOME WIZ"; // Cambia el texto aquí.int scrollspeed =5; // Establece la velocidad de desplazamiento (inferior =más rápido) int x; int y; // Columnsint clockPin1 =2; // Pin Arduino conectado al Pin 11 del reloj de 74HC595int latchPin1 =3; // Pin de Arduino conectado al Latch Pin 12 de 74HC595int dataPin1 =4; // Pin de Arduino conectado al Pin de datos 14 de 74HC595 // Rowsint clockPin2 =5; // Pin Arduino conectado al Pin 11 del reloj de 74HC595int latchPin2 =6; // Pin de Arduino conectado a Latch Pin 12 de 74HC595int dataPin2 =7; // Pin de Arduino conectado al Pin de datos 14 de 74HC595 // BITMAP // Los bits de esta matriz representan un LED de la matriz // 8 es el número de filas, 6 es el número de matrices de LED bitmap [8] [7]; int numZones =tamaño de (mapa de bits) / 8; // Una Zona se refiere a una Matriz de 8 x 8 (Grupo de 8 columnas) int maxZoneIndex =numZones-1; int numCols =numZones * 8; // DEFENICIÓN DE FUENTESbyte alphabets [] [8] ={{0,0,0, 0,0}, // @ como ESPACIO // {8,28,54,99,65}, // <<{31, 36, 68, 36, 31}, // A {127, 73, 73, 73, 54}, // B {62, 65, 65, 65, 34}, // C {127, 65, 65, 34, 28}, // D {127, 73, 73, 65, 65}, // E {127, 72, 72, 72, 64}, // F {62, 65, 65, 69, 38}, // G {127, 8, 8, 8, 127}, // H {0 , 65, 127, 65, 0}, // I {2, 1, 1, 1, 126}, // J {127, 8, 20, 34, 65}, // K {127, 1, 1, 1, 1}, // L {127, 32, 16, 32, 127}, // M {127, 32, 16, 8, 127}, // N {62, 65, 65, 65, 62}, // O {127, 72, 72, 72, 48}, // P {62, 65, 69, 66, 61}, // Q {127, 72, 76, 74, 49}, // R {50 , 73, 73, 73, 38}, // S {64, 64, 127, 64, 64}, // T {126, 1, 1, 1, 126}, // U {124, 2, 1, 2, 124}, // V {126, 1, 6, 1, 126}, // W {99, 20, 8, 20, 99}, // X {96, 16, 15, 16, 96}, // Y {67, 69, 73, 81, 97}, // Z}; configuración vacía () {pinMode (latchPin1, OUTPUT); pinMode (clockPin1, SALIDA); pinMode (dataPin1, SALIDA); pinMode (latchPin2, SALIDA); pinMode (clockPin2, SALIDA); pinMode (dataPin2, SALIDA); // Limpiar mapa de bits para (int fila =0; fila <8; fila ++) {para (int zona =0; zona <=maxZoneIndex; zona ++) {mapa de bits [fila] [zona] =0; }}} // FUNCIONES // Muestra la matriz de mapa de bits en el matrixvoid RefreshDisplay () {for (int fila =0; fila <8; fila ++) {int rowbit =1 < =0; zone--) {shiftOut (dataPin1, clockPin1, MSBFIRST, mapa de bits [fila] [zona]); } // voltea ambos pestillos a la vez para eliminar el parpadeo digitalWrite (latchPin1, HIGH); // Devuelve el pin de pestillo 1 alto al chip de señal digitalWrite (latchPin2, HIGH); // Devuelve el pin de pestillo 2 alto al chip de señal // Espera delayMicroseconds (300); }} // Convierte fila y columna en bitmap y lo desactiva / onvoid Plot (int col, int row, bool isOn) {int zone =col / 8; int colBitIndex =x% 8; byte colBit =1 <> 1; // Cambia el bit más bajo de la siguiente zona como el bit más alto de esta zona. if (zona   

Esquemas

Solo para fines de referencia. Para las conexiones de clavijas, consulte los comentarios en el código.

Proceso de manufactura

  1. Hacer Monitor Ambilight usando Arduino
  2. ¡Arduino con Bluetooth para controlar un LED!
  3. Matriz LED + Pantalla de puerta con sensor de movimiento [Arduino Holiday]
  4. Arduino Cuadrúpedo
  5. Control del brillo del LED usando Bolt y Arduino
  6. Reloj Flip Arduino de matriz de un solo LED
  7. Mezclador de colores Arduino RGB
  8. Controlar una matriz de LED con Arduino Uno
  9. Radio FM usando Arduino y RDA8057M
  10. DMX RGB LED para exteriores
  11. Juego de ruleta LED