from machine import Pin,SPI
import time
from rotary_irq_rp2 import RotaryIRQ
import max7219
SW = Pin(20, Pin.IN, Pin.PULL_UP)
r = RotaryIRQ(pin_num_clk=18,
pin_num_dt=19,
min_val=0,
reverse=False,
range_mode=RotaryIRQ.RANGE_UNBOUNDED)
val_old = r.value()
spi0=SPI(0,baudrate=10000000, polarity=1, phase=0, sck=Pin((2)), mosi=Pin((3)))
cs = Pin((5), Pin.OUT)
matrix = max7219.Matrix8x8(spi0, cs , 4)
while True:
try:
val_new = r.value()
if SW.value() == 0:
print("Button Pressed")
print("Selected Number is:", val_new)
while SW.value() == 0:
continue
if val_old != val_new:
val_old = val_new
print('result =', val_new)
matrix.fill(0)
matrix.show()
matrix.text((f"%4d"%val_new), 0, 0, 1)
matrix.show()
time.sleep_ms(50)
except KeyboardInterrupt:
break