import time
import board
import digitalio
X1_PIN = board.GP13
X2_PIN = board.GP10
X3_PIN = board.GP8
x1 = digitalio.DigitalInOut(X1_PIN)
x2 = digitalio.DigitalInOut(X2_PIN)
x3 = digitalio.DigitalInOut(X3_PIN)
pins = {"X1": x1, "X2": x2, "X3": x3}
def float_pin(p):
p.direction = digitalio.Direction.INPUT
p.pull = None
def drive_high(p):
p.direction = digitalio.Direction.OUTPUT
p.value = True
def drive_low(p):
p.direction = digitalio.Direction.OUTPUT
p.value = False
def all_off():
# Minden láb lebeg
for p in pins.values():
float_pin(p)
def light_led(high_name, low_name, float_name):
all_off()
drive_high(pins[high_name])
drive_low(pins[low_name])
float_pin(pins[float_name])
sequence = [
("X1", "X2", "X3"), # LED1
("X2", "X1", "X3"), # LED2
("X2", "X3", "X1"), # LED3
("X3", "X2", "X1"), # LED4
("X1", "X3", "X2"), # LED5
("X3", "X1", "X2"), # LED6
]
all_off()
while True:
for i, (hi, lo, fl) in enumerate(sequence, start=1):
light_led(hi, lo, fl)
print(f"LED{i} ON (H={hi}, L={lo}, F={fl})")
time.sleep(1)
print()