import machine
import utime
import max7219
# Configuración de los pines de la matriz de puntos
clk_pin = machine.Pin(18, machine.Pin.OUT) # Pin D5 como salida para el reloj
data_pin = machine.Pin(15, machine.Pin.OUT) # Pin D4 como salida para los datos
# Definición de la matriz de puntos
dot_matrix = [
[0x00, 0x00, 0x00, 0x00], # Espacio en blanco
[0x01, 0x02, 0x04, 0x08], # Carácter "T"
[0x10, 0x20, 0x40, 0x80], # Carácter "D"
[0x01, 0x02, 0x04, 0x08], # Carácter "4"
[0x10, 0x20, 0x40, 0x80], # Carácter "R"
[0x01, 0x02, 0x04, 0x08], # Carácter "U"
[0x10, 0x20, 0x40, 0x80], # Carácter "L"
[0x01, 0x02, 0x04, 0x08], # Carácter "E"
[0x10, 0x20, 0x40, 0x80], # Carácter "S"
]
# Función para enviar un byte a la matriz de puntos
def send_byte(byte):
for i in range(8):
data_pin.value((byte >> i) & 1)
clk_pin.value(1)
utime.sleep_us(10)
clk_pin.value(0)
utime.sleep_us(10)
# Función para imprimir un carácter en la matriz de puntos
def print_char(char_index):
for i in range(4):
send_byte(dot_matrix[char_index][i])
# Imprimir "TD4 Rules"
print_char(1) # T
utime.sleep_ms(500)
print_char(2) # D
utime.sleep_ms(500)
print_char(3) # 4
utime.sleep_ms(500)
print_char(4) # R
utime.sleep_ms(500)
print_char(5) # U
utime.sleep_ms(500)
print_char(6) # L
utime.sleep_ms(500)
print_char(7) # E
utime.sleep_ms(500)
print_char(8) # S