import board
import digitalio
import time
from simpleio import tone
# Define the pins for buttons and LEDs
button1_pin = board.GP20
button2_pin = board.GP21
led_pins = [board.GP2, board.GP3, board.GP4, board.GP5]
buzzer_pin = board.GP6
# Initialize the button pins
button1 = digitalio.DigitalInOut(button1_pin)
button1.direction = digitalio.Direction.INPUT
button1.pull = digitalio.Pull.UP
button2 = digitalio.DigitalInOut(button2_pin)
button2.direction = digitalio.Direction.INPUT
button2.pull = digitalio.Pull.UP
# Initialize the LED pins
leds = [digitalio.DigitalInOut(pin) for pin in led_pins]
for led in leds:
led.direction = digitalio.Direction.OUTPUT
# Initialize the buzzer pin
buzzer = digitalio.DigitalInOut(buzzer_pin)
buzzer.direction = digitalio.Direction.OUTPUT
def blink_leds():
for _ in range(6):
for led in leds:
led.value = True
time.sleep(0.5)
for led in leds:
led.value = False
time.sleep(0.5)
# Sound the buzzer
tone(buzzer_pin, 1000, duration=1)
def shift_leds():
for _ in range(6):
for i in range(len(leds)):
leds[i].value = True
time.sleep(0.1)
leds[i].value = False
for i in range(len(leds)-1, -1, -1):
leds[i].value = True
time.sleep(0.1)
leds[i].value = False
# Main loop
while True:
if not button1.value:
# Task 1.1
blink_leds()
elif not button2.value:
# Task 1.2
shift_leds()
else:
# Do nothing
pass