import machine
import time
# Pin Configuration
latch_pin = machine.Pin(17, machine.Pin.OUT) # GP16
spi = machine.SPI(0, baudrate=100000, polarity=0, phase=0, sck=machine.Pin(18), mosi=machine.Pin(19), miso=machine.Pin(16))
def read_buttons():
latch_pin.value(0)
data = spi.read(8)[0] # Read 8 bits, but we only care about the first byte
latch_pin.value(1)
# Extract button states (assuming active-low buttons)
button1_pressed = not (data & 0b00000001)
button2_pressed = not (data & 0b00000010)
button3_pressed = not (data & 0b00000100)
return button1_pressed, button2_pressed, button3_pressed
while True:
button1, button2, button3 = read_buttons()
print("Button 1:", button1)
print("Button 2:", button2)
print("Button 3:", button3)
time.sleep(1.0) # Adjust delay as needed