Paso 1: El Arduino Sketch para hacerlo funcionar.
Aquí está el código para el Arduino://********************************************/
Nombre: Matriz de LED 8 x 8 RGB SR conductor
Autor: Bob Davis
Fecha: 02 de enero de 2014
Versión: 1.0
//********************************************/
Asignar Pins para los registros de turnos y filas
int Row1 = 1;
int Row2 = 2;
int Row3 = 3;
int Row4 = 4;
int Row5 = 5;
int Row6 = 6;
int Row7 = 7;
int Row8 = 8;
int RSerial = 9;
int BSerial = 10;
int GSerial = 11;
int RCLK = 12;
int SCLK = 13;
Establecer arreglos de discos, seleccione una de estas tres cosas para mostrar
Bandera RGB
byte Bbitmap [8] = {240, 240, 240, 240, 0, 0, 0, 0};
byte Gbitmap [8] = {15, 0, 15, 0, 255, 0, 255, 0};
byte Rbitmap [8] = {0, 15, 0, 15, 0, 255, 0, 255};
Cara azul
byte Bbitmap [8] = {60, 126, 255, 219, 255, 219, 102, 60};
byte Gbitmap [8] = {60, 126, 129, 165, 129, 129, 0, 0};
byte Rbitmap [8] = {60, 126, 0, 36, 0, 36, 24, 0};
Coche rojo
byte Gbitmap [8] = {8, 0, 0, 0, 0, 0, 255, 255};
byte Bbitmap [8] = {255, 255, 255, 131, 0, 0, 0, 0};
byte Rbitmap [8] = {8, 0, 0, 124, 255, 189, 0, 0};
Configurar los pines para la salida de la matriz
void setup() {}
pinMode (Row1, salida);
pinMode (Row2, salida);
pinMode (Row3, salida);
pinMode (Row4, salida);
pinMode (Row5, salida);
pinMode (Row6, salida);
pinMode (Row7, salida);
pinMode (Row8, salida);
pinMode (BSerial, salida);
pinMode (GSerial, salida);
pinMode (RSerial, salida);
pinMode (RCLK, salida);
pinMode (SCLK, salida);
}
void loop() {}
para (int fila = 0; fila < 8; fila ++) {}
Apague todo
digitalWrite (Row1, LOW);
digitalWrite (Row2, LOW);
digitalWrite (Row3, LOW);
digitalWrite (Row4, bajo);
digitalWrite (Row5, bajo);
digitalWrite (Row6, LOW);
digitalWrite (Row7, LOW);
digitalWrite (Row8, bajo);
configurar los datos en los registros de desplazamiento
para (int shiftbit = 0; shiftbit < 8; shiftbit ++) {}
digitalWrite (BSerial, alto);
digitalWrite (GSerial, alto);
digitalWrite (RSerial, alto);
Si bitRead(Bbitmap[row],shiftbit) digitalWrite (BSerial, bajo);
Si bitRead(Gbitmap[row],shiftbit) digitalWrite (GSerial, bajo);
Si bitRead(Rbitmap[row],shiftbit) digitalWrite (RSerial, bajo);
digitalWrite (SCLK, LOW);
digitalWrite (SCLK, alto);
}
los datos de cierre
digitalWrite (RCLK, alto);
digitalWrite (RCLK, LOW);
Encienda la fila asociada
Si (fila == 0) digitalWrite (Row1, alto);
Si (fila == 1) digitalWrite (Row2, alto);
Si (fila == 2) digitalWrite (Row3, alto);
Si (fila == 3) digitalWrite (Row4, alto);
Si (fila == 4) digitalWrite (Row5, alto);
Si (fila == 5) digitalWrite (Row6, alto);
Si (fila == 6) digitalWrite (Row7, alto);
Si (fila == 7) digitalWrite (Row8, alto);
Delay(2);
} }