import machine
import time
s0 = machine.Pin(27, machine.Pin.OUT)
s1 = machine.Pin(28, machine.Pin.OUT)
mux_in = machine.Pin(26, machine.Pin.IN)
button1 = machine.Pin(18, machine.Pin.IN, machine.Pin.PULL_DOWN)
button2 = machine.Pin(17, machine.Pin.IN, machine.Pin.PULL_DOWN)
button3 = machine.Pin(16, machine.Pin.IN, machine.Pin.PULL_DOWN)
led_pins = [7, 8, 9, 10, 11, 12, 13, 14, 15]
leds = [machine.Pin(pin, machine.Pin.OUT) for pin in led_pins]
passcodes = {
(button1, button1, button1): leds[0],
(button2, button2, button2): leds[1],
(button3, button3, button3): leds[2],
(button1, button2, button3): leds[3],
(button3, button2, button1): leds[4],
(button2, button3, button1): leds[5],
(button1, button3, button1): leds[6],
(button1, button2, button1): leds[7],
(button3, button1, button2): leds[8]
}
def turn_off_leds():
for led in leds:
led.off()
def check_passcode():
passcode = []
passcode_counter = 0
while passcode_counter < 3:
if button1.value():
print("Button 1 pressed")
passcode.append(button1)
time.sleep(0.2)
elif button2.value():
print("Button 2 pressed")
passcode.append(button2)
time.sleep(0.2)
elif button3.value():
print("Button 3 pressed")
passcode.append(button3)
time.sleep(0.2)
passcode_counter = len(passcode)
led = passcodes.get(tuple(passcode))
if led:
led.on()
time.sleep(5)
print("correct!")
turn_off_leds()
else:
print("Not correct")
passcode.clear()
while True:
check_passcode()