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

Controlar matriz LED 8x8 con Arduino Nano – Sin drivers ni librerías

Componentes y suministros

ComponenteCantidad
Arduino Nano R31
Matriz LED de puntos 8x8 (Cátodo común 1088AS)1
Resistencia 330 Ω (agujero pasante)1

Sobre este proyecto

Este tutorial muestra cómo controlar una matriz LED 8x8 1088AS de cátodo común sin usar chips controladores como MAX7219 ni librerías correspondientes. Pronto crearé un segundo tutorial usando MAX7219 para comparar resultados.

Tutorial completo en: Patreon | PayPal

Código

1. Test de todos los 64 LEDs

Enciende cada LED uno a uno para verificar conexiones.

// Filas (ánodos) - Pines 2-9
#define R1 2 #define R2 3 #define R3 4 #define R4 5
#define R5 6 #define R6 7 #define R7 8 #define R8 9

// Columnas (cátodos) - Pines 10-13, A0-A3
#define C1 10 #define C2 11 #define C3 12 #define C4 13
#define C5 A0 #define C6 A1 #define C7 A2 #define C8 A3

void setup() {
  // Configurar todos los pines como salida
  for(int i=2; i<=13; i++) pinMode(i, OUTPUT);
  for(int i=A0; i<=A3; i++) pinMode(i, OUTPUT);
  
  // Apagar todo al inicio (cátodo común: filas HIGH, columnas LOW)
  for(int i=2; i<=9; i++) digitalWrite(i, HIGH);
  for(int i=10; i<=13; i++) digitalWrite(i, LOW);
  for(int i=A0; i<=A3; i++) digitalWrite(i, LOW);
}

void SelectRow(int row) {
  // Activar fila (LOW) y desactivar otras (HIGH)
  for(int i=1; i<=8; i++) {
    digitalWrite(i+1, (i==row) ? LOW : HIGH);
  }
}

void SelectColumn(int column) {
  // Activar columna (HIGH) y desactivar otras (LOW)
  int pins[8] = {10,11,12,13,A0,A1,A2,A3};
  for(int i=0; i<8; i++) {
    digitalWrite(pins[i], (i+1==column) ? HIGH : LOW);
  }
}

void loop() {
  for(int i=1; i<=8; i++) {
    for(int j=1; j<=8; j++) {
      SelectRow(i);
      SelectColumn(j);
      delay(100);
    }
  }
}

2. Mostrar imagen de gato (Multiplexado)


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}
};

void loop() {
  for(int j=0; j<8; j++) {
    SelectRow(j+1);
    for(int i=0; i<8; i++) {
      Set_LED_in_Active_Row(i+1, Cat[j][i]);
    }
    delay(2); // Persistencia de visión
  }
}

void Set_LED_in_Active_Row(int column, int state) {
  int pins[8] = {10,11,12,13,A0,A1,A2,A3};
  digitalWrite(pins[column-1], state);
}

3. Texto desplazante (Scrolling)


int Marios_ideas[8][54] = { /* matriz 8x54 con patrón de texto */ };
int position = 0;

void loop() {
  for(int x=0; x<5; x++) { // Repetir para estabilidad
    for(int j=0; j<8; j++) {
      SelectRow(j+1);
      for(int i=0; i<8; i++) {
        int col = (i + position) % 54;
        Set_LED_in_Active_Row(i+1, Marios_ideas[j][col]);
      }
      delay(2);
    }
  }
  position = (position + 1) % 54;
}

Esquemáticos

Matriz 1088AS cátodo común: 8 filas (ánodos) → pines 2-9 con resistencias 330Ω. 8 columnas (cátodos) → pines 10-13, A0-A3 directos. Multiplexado por filas: activar fila (LOW), poner columnas (HIGH=encendido), delay 2ms, siguiente fila.

Proceso de manufactura

  1. Diodos Emisores de Luz (LED): Desde sus Inicios a Vidas de 100 Años
  2. Proyecto Arduino Melodía Coffin Dance: Construya y Reproduzca el Viral Tune
  3. Construye una consola Pong 24×16 LED con Arduino Nano y MAX7219
  4. Pantalla LED Matricial Interactiva en Puerta con Sensor PIR - Saludo Navideño Arduino
  5. Pantalla de 8 LED activada por sonido con Arduino
  6. Construye un Robot Cuadrúpedo Inteligente con Arduino: Guía Paso a Paso
  7. Lámpara Matriz LED con Pistola de Pegamento Caliente – Construye tu Propia Pantalla Colorida
  8. Control de brillo LED sin interrupciones con Bolt IoT y Arduino UNO
  9. Controlar matriz LED 8x8 con Arduino Nano – Sin drivers ni librerías
  10. Reloj flip Arduino con matriz LED 8×8: proyecto DIY de reloj en tiempo real
  11. Drivers LED MAX25610A/B de Maxim: compactos, alta eficiencia y optimizados para EMI en iluminación automotriz e industrial