from machine import Pin, ADC, SPI
import time
import max7219
# -------------------------
# MATRIZ MAX7219
# -------------------------
spi = SPI(0, baudrate=10000000, polarity=0, phase=0,
sck=Pin(2), mosi=Pin(3))
cs = Pin(5, Pin.OUT)
display = max7219.Matrix8x8(spi, cs, 4)
display.brightness(5)
# -------------------------
# SENSOR LDR
# -------------------------
ldr = ADC(26)
# -------------------------
# MOSTRAR TEXTO VERTICAL
# -------------------------
def mostrar_vertical(msg):
display.fill(0)
for i, letra in enumerate(msg):
x = (len(msg) - 1 - i) * 8 # invierte el orden
display.text(letra, x, 0, 1)
display.show()
# -------------------------
# CLASIFICACIÓN
# -------------------------
def clasificar(valor):
if valor > 45000:
return "ALTO"
elif valor > 20000:
return "HALF"
else:
return "BAJO"
# -------------------------
# LOOP
# -------------------------
ultimo = ""
while True:
valor = ldr.read_u16()
mensaje = clasificar(valor)
print(valor, mensaje)
if mensaje != ultimo:
ultimo = mensaje
mostrar_vertical(mensaje)
time.sleep(0.3)