#include <SPI.h>
// Definir pines para el MAX7219
#define MAX7219_CS_PIN 22 // Pin de selección del MAX7219
// Definir comandos MAX7219
#define MAX7219_REG_NOOP 0x00
#define MAX7219_REG_DIGIT0 0x01
#define MAX7219_REG_DIGIT1 0x02
#define MAX7219_REG_DIGIT2 0x03
#define MAX7219_REG_DIGIT3 0x04
#define MAX7219_REG_DIGIT4 0x05
#define MAX7219_REG_DIGIT5 0x06
#define MAX7219_REG_DIGIT6 0x07
#define MAX7219_REG_DIGIT7 0x08
// Patrón de la letra "B" en una matriz de LEDs 8x8
byte letraB[8] = {
B00001000,
B00011000,
B00001000,
B00001000,
B00001000,
B00001000,
B00011100,
B00000000
};
// Función para enviar un comando al MAX7219
void enviarComando(byte reg, byte dato) {
digitalWrite(MAX7219_CS_PIN, LOW); // Habilitar el MAX7219
SPI.transfer(reg);
SPI.transfer(dato);
digitalWrite(MAX7219_CS_PIN, HIGH); // Deshabilitar el MAX7219
}
void setup() {
// Inicializar el bus SPI
SPI.begin();
// Configurar el pin del MAX7219 como salida
pinMode(MAX7219_CS_PIN, OUTPUT);
// Configurar el MAX7219 para activar la matriz de LEDs
enviarComando(MAX7219_REG_NOOP, 0x00); // No operation
enviarComando(MAX7219_REG_DIGIT0, letraB[0]);
enviarComando(MAX7219_REG_DIGIT1, letraB[1]);
enviarComando(MAX7219_REG_DIGIT2, letraB[2]);
enviarComando(MAX7219_REG_DIGIT3, letraB[3]);
enviarComando(MAX7219_REG_DIGIT4, letraB[4]);
enviarComando(MAX7219_REG_DIGIT5, letraB[5]);
enviarComando(MAX7219_REG_DIGIT6, letraB[6]);
enviarComando(MAX7219_REG_DIGIT7, letraB[7]);
}
void loop() {
// No hay acciones en el bucle, ya que la letra "B" se muestra en el setup y no cambia.
}