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

Control de matriz LED 8x8 sin controladores ni bibliotecas

Componentes y suministros

Arduino Nano R3
× 1
Pantalla LED de matriz de puntos, roja
× 1
Resistencia de orificio pasante, 330 ohmios
× 1

Acerca de este proyecto

Este video es un tutorial sobre cómo controlar la matriz de LED 8x8 de cátodo común 1088AS sin el uso de chips de controlador como MAX7219 y las bibliotecas correspondientes.

Pronto crearé el segundo tutorial para controlar la misma matriz, pero esta vez usando MAX7219 y compararé los resultados.

El tutorial completo se puede encontrar aquí:

Si le gusta este contenido y quiere ayudarme a crear videos similares, vaya a mi página web de Patreon

https://www.patreon.com/MariosIdeas

O

https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=7PD67JWZ9S3EJ&source=url

Código

  • Probando los 64 LED de la matriz de 8x8 LED
  • Visualización de la imagen del gato en una matriz de LED de 8x8 (multiplexación)
  • Desplazamiento de texto en una matriz de LED de 8x8 (multiplexación)
Prueba de los 64 LED de la matriz de LED de 8x8 Arduino
 // Ideas de Mario // Probar todos los 64 leds en una matriz de 8x8 LED iluminándolos uno por uno // Raws # definir R1 2 # definir R2 3 # definir R3 4 # definir R4 5 # definir R5 6 # definir R6 7 # definir R7 8 # definir R8 9 // Columnas # definir C1 10 # definir C2 11 # definir C3 12 # definir C4 13 # definir C5 A0 # definir C6 A1 # definir C7 A2 # definir C8 A3void setup () {pinMode ( R1, SALIDA); pinMode (R2, SALIDA); pinMode (R3, SALIDA); pinMode (R4, SALIDA); pinMode (R5, SALIDA); pinMode (R6, SALIDA); pinMode (R7, SALIDA); pinMode (R8, SALIDA); pinMode (C1, SALIDA); pinMode (C2, SALIDA); pinMode (C3, SALIDA); pinMode (C4, SALIDA); pinMode (C5, SALIDA); pinMode (C6, SALIDA); pinMode (C7, SALIDA); pinMode (C8, OUTPUT); // Apagar todos los LED al inicio del boceto digitalWrite (R1, HIGH); escritura digital (R2, ALTA); escritura digital (R3, ALTA); escritura digital (R4, ALTA); escritura digital (R5, ALTA); escritura digital (R6, ALTA); escritura digital (R7, ALTA); escritura digital (R8, ALTA); escritura digital (C1, BAJA); escritura digital (C2, BAJA); escritura digital (C3, BAJA); escritura digital (C4, BAJA); escritura digital (C5, BAJA); escritura digital (C6, BAJA); escritura digital (C7, BAJA); digitalWrite (C8, LOW);} void SelectRow (fila int) {if (fila ==1) digitalWrite (R1, LOW); más digitalWrite (R1, HIGH); if (fila ==2) digitalWrite (R2, LOW); de lo contrario digitalWrite (R2, HIGH); if (fila ==3) digitalWrite (R3, LOW); más digitalWrite (R3, HIGH); if (fila ==4) digitalWrite (R4, LOW); más digitalWrite (R4, HIGH); if (fila ==5) digitalWrite (R5, LOW); más digitalWrite (R5, HIGH); if (fila ==6) digitalWrite (R6, LOW); más digitalWrite (R6, HIGH); if (fila ==7) digitalWrite (R7, LOW); más digitalWrite (R7, HIGH); if (fila ==8) digitalWrite (R8, LOW); else digitalWrite (R8, HIGH);} void SelectColumn (int column) {if (column ==1) digitalWrite (C1, HIGH); de lo contrario, digitalWrite (C1, LOW); if (columna ==2) digitalWrite (C2, HIGH); más digitalWrite (C2, LOW); if (columna ==3) digitalWrite (C3, HIGH); de lo contrario, digitalWrite (C3, LOW); if (columna ==4) digitalWrite (C4, HIGH); más digitalWrite (C4, BAJO); if (columna ==5) digitalWrite (C5, HIGH); de lo contrario digitalWrite (C5, LOW); if (columna ==6) digitalWrite (C6, HIGH); de lo contrario, digitalWrite (C6, LOW); if (columna ==7) digitalWrite (C7, HIGH); más digitalWrite (C7, LOW); if (columna ==8) digitalWrite (C8, HIGH); else digitalWrite (C8, LOW);} void loop () {for (int i =1; i <9; i ++) {for (int j =1; j <9; j ++) {SelectRow (i); SelectColumn (j); retraso (100); }}} 
Visualización de la imagen del gato en una matriz de LED de 8x8 (multiplexación) Arduino
 // Ideas de Mario // Visualización de la imagen del gato en una matriz LED de 8x8 (multiplexación) // Raws #define R1 2 # define R2 3 # define R3 4 # define R4 5 # define R5 6 # define R6 7 # define R7 8 # definir R8 9 // Columnas # definir C1 10 # definir C2 11 # definir C3 12 # definir C4 13 # definir C5 A0 # definir C6 A1 # definir C7 A2 # definir C8 A3int pause =300; int Cat [8] [8] ={{1,0,0,0,1,0,0,0}, {1,1,1,1,1,0,0,0}, {1,0 , 1,0,1,0,0,0}, {0,1,1,1,0,0,0,1}, {0,0,1,0,0,0,0,1}, {0,1,1,1,1,0,0,1}, {0,1,1,1,1,1,0,1}, {1,0,1,1,1,1,1 , 0},}; configuración vacía () {pinMode (R1, SALIDA); pinMode (R2, SALIDA); pinMode (R3, SALIDA); pinMode (R4, SALIDA); pinMode (R5, SALIDA); pinMode (R6, SALIDA); pinMode (R7, SALIDA); pinMode (R8, SALIDA); pinMode (C1, SALIDA); pinMode (C2, SALIDA); pinMode (C3, SALIDA); pinMode (C4, SALIDA); pinMode (C5, SALIDA); pinMode (C6, SALIDA); pinMode (C7, SALIDA); pinMode (C8, SALIDA); escritura digital (R1, ALTA); escritura digital (R2, ALTA); escritura digital (R3, ALTA); escritura digital (R4, ALTA); escritura digital (R5, ALTA); escritura digital (R6, ALTA); escritura digital (R7, ALTA); escritura digital (R8, ALTA); escritura digital (C1, BAJA); escritura digital (C2, BAJA); escritura digital (C3, BAJA); escritura digital (C4, BAJA); escritura digital (C5, BAJA); escritura digital (C6, BAJA); escritura digital (C7, BAJA); digitalWrite (C8, LOW);} void SelectRow (fila int) {if (fila ==1) digitalWrite (R1, LOW); más digitalWrite (R1, HIGH); if (fila ==2) digitalWrite (R2, LOW); de lo contrario digitalWrite (R2, HIGH); if (fila ==3) digitalWrite (R3, LOW); más digitalWrite (R3, HIGH); if (fila ==4) digitalWrite (R4, LOW); más digitalWrite (R4, HIGH); if (fila ==5) digitalWrite (R5, LOW); más digitalWrite (R5, HIGH); if (fila ==6) digitalWrite (R6, LOW); más digitalWrite (R6, HIGH); if (fila ==7) digitalWrite (R7, LOW); más digitalWrite (R7, HIGH); if (fila ==8) digitalWrite (R8, LOW); else digitalWrite (R8, HIGH);} void Set_LED_in_Active_Row (int columna, int estado) {if (columna ==1) digitalWrite (C1, estado); if (columna ==2) digitalWrite (C2, estado); if (columna ==3) digitalWrite (C3, estado); if (columna ==4) digitalWrite (C4, estado); if (columna ==5) digitalWrite (C5, estado); if (columna ==6) digitalWrite (C6, estado); if (columna ==7) digitalWrite (C7, estado); if (columna ==8) digitalWrite (C8, estado); } bucle vacío () {for (int j =0; j <8; j ++) {SelectRow (j + 1); para (int i =0; i <8; i ++) {Set_LED_in_Active_Row (i + 1, Cat [j] [i]); } retraso (2 + pausa); } if (pause! =0 y pause> 100) pause =pause-100; if (pause! =0 and pause <=100) pause =pause-10;} 
Desplazamiento de texto en matriz de LED de 8x8 (multiplexación) Arduino
 // Ideas de Mario // Desplazamiento de texto en matriz LED de 8x8 (multiplexación) // Raws #define R1 2 # define R2 3 # define R3 4 # define R4 5 # define R5 6 # define R6 7 # define R7 8 # definir R8 9 // Columnas # definir C1 10 # definir C2 11 # definir C3 12 # definir C4 13 # definir C5 A0 # definir C6 A1 # definir C7 A2 # definir C8 A3int posición =0; int Marios_ideas [8] [54] ={{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 , 0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0}, {0,1,0,0,0,1,0,0,1,1,0,0,1,1,1 , 0,0,0,0,0,1,1,0,1,0,1,1,0,0,0,0,0,0,1,1,1,0,0,1,1 , 1,0,0,1,1,0,0,0,1,1,0,0,0,0}, {0,1,1,0,1,1,0,1,0,0 , 1,0,1,0,0,1,0,1,0,1,0,0,1,0,1,0,0,1,0,0,0,1,0,1,0 , 0,1,0,1,0,0,0,1,0,0,1,0,1,0,0,1,0,0,0}, {0,1,0,1,0 , 1,0,1,0,0,1,0,1,0,0,1,0,1,0,1,0,0,1,0,1,0,0,0,0,0 , 0,1,0,1,0,0,1,0,1,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0}, {0,1,0,0,0,1,0,1,1,1,1,0,1,1,1,0,0,1,0,1,0,0,1,0,0 , 1,1,0,0,0,0,1,0,1,0,0,1,0,1,1,1,0,1,1,1,1,0,0,1,1 , 0,0,0,0}, {0,1,0,0,0,1,0,1,0,0,1,0,1,0,0,1,0,1,0,1 , 0,0,1,0,0,0,0,1,0,0,0,1,0,1,0,0,1,0,1,0,0,0,1,0,0 , 1,0,0,0,0,1,0,0,0}, {0,1,0,0,0,1,0,1,0,0,1,0,1,0,0 , 1,0,1,0,0,1,1,0,0,1,0,0, 1,0,0,0,1,0,1,1,1,0,0,1,0 , 0,0,1,0,0,1,0,1,0,0,1,0,0,0}, {0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0 , 0,0,0,1,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0}}; void setup () {pinMode (R1, PRODUCCIÓN); pinMode (R2, SALIDA); pinMode (R3, SALIDA); pinMode (R4, SALIDA); pinMode (R5, SALIDA); pinMode (R6, SALIDA); pinMode (R7, SALIDA); pinMode (R8, SALIDA); pinMode (C1, SALIDA); pinMode (C2, SALIDA); pinMode (C3, SALIDA); pinMode (C4, SALIDA); pinMode (C5, SALIDA); pinMode (C6, SALIDA); pinMode (C7, SALIDA); pinMode (C8, SALIDA); escritura digital (R1, ALTA); escritura digital (R2, ALTA); escritura digital (R3, ALTA); escritura digital (R4, ALTA); escritura digital (R5, ALTA); escritura digital (R6, ALTA); escritura digital (R7, ALTA); escritura digital (R8, ALTA); escritura digital (C1, BAJA); escritura digital (C2, BAJA); escritura digital (C3, BAJA); escritura digital (C4, BAJA); escritura digital (C5, BAJA); escritura digital (C6, BAJA); escritura digital (C7, BAJA); digitalWrite (C8, LOW);} void SelectRow (fila int) {if (fila ==1) digitalWrite (R1, LOW); más digitalWrite (R1, HIGH); if (fila ==2) digitalWrite (R2, LOW); de lo contrario digitalWrite (R2, HIGH); if (fila ==3) digitalWrite (R3, LOW); más digitalWrite (R3, HIGH); if (fila ==4) digitalWrite (R4, LOW); más digitalWrite (R4, HIGH); if (fila ==5) digitalWrite (R5, LOW); más digitalWrite (R5, HIGH); if (fila ==6) digitalWrite (R6, LOW); más digitalWrite (R6, HIGH); if (fila ==7) digitalWrite (R7, LOW); más digitalWrite (R7, HIGH); if (fila ==8) digitalWrite (R8, LOW); else digitalWrite (R8, HIGH);} void Set_LED_in_Active_Row (int columna, int estado) {if (columna ==1) digitalWrite (C1, estado); if (columna ==2) digitalWrite (C2, estado); if (columna ==3) digitalWrite (C3, estado); if (columna ==4) digitalWrite (C4, estado); if (columna ==5) digitalWrite (C5, estado); if (columna ==6) digitalWrite (C6, estado); if (columna ==7) digitalWrite (C7, estado); if (columna ==8) digitalWrite (C8, estado); } bucle vacío () {for (int x =0; x <5; x ++) {for (int j =0; j <8; j ++) {SelectRow (j + 1); para (int i =0; i <8; i ++) {Set_LED_in_Active_Row (i + 1, Marios_ideas [j] [(i + posición) -abs ((i + posición) / 54) * 54]); } retraso (2); }} posición =posición + 1;} 

Piezas y carcasas personalizadas

Esquemas


Proceso de manufactura

  1. Diodo emisor de luz (LED)
  2. Los controladores LED compactos de Maxim brindan alta eficiencia y baja EMI
  3. Melodía de baile del ataúd
  4. Juego Arduino Pong en Matrix 24x16 con MAX7219
  5. Matriz LED + Pantalla de puerta con sensor de movimiento [Arduino Holiday]
  6. Iluminación LED de 8x por sonido
  7. Arduino Cuadrúpedo
  8. Lámpara de matriz LED Hot Glue
  9. Control del brillo del LED usando Bolt y Arduino
  10. Control de matriz LED 8x8 sin controladores ni bibliotecas
  11. Reloj Flip Arduino de matriz de un solo LED