from machine import Pin
import time
# แยก 1
red1 = Pin(2, Pin.OUT)
yellow1 = Pin(0, Pin.OUT)
green1 = Pin(4, Pin.OUT)
# แยก 2
red2 = Pin(16, Pin.OUT)
yellow2 = Pin(17, Pin.OUT)
green2 = Pin(5, Pin.OUT)
# แยก 3
red3 = Pin(12, Pin.OUT)
yellow3 = Pin(14, Pin.OUT)
green3 = Pin(27, Pin.OUT)
# แยก 4
red4 = Pin(26, Pin.OUT)
yellow4 = Pin(25, Pin.OUT)
green4 = Pin(33, Pin.OUT)
# ปิดไฟทั้งหมด
def all_off():
leds = [
red1, yellow1, green1,
red2, yellow2, green2,
red3, yellow3, green3,
red4, yellow4, green4
]
for led in leds:
led.off()
# กำหนดสถานะไฟแดงทุกแยก
def all_red():
all_off()
red1.on()
red2.on()
red3.on()
red4.on()
# ทำงานทีละแยก
def traffic_light(red, yellow, green, num):
all_red()
# เขียว
red.off()
green.on()
print("แยก", num, "ไฟเขียว")
time.sleep(15)
# เหลือง
green.off()
yellow.on()
print("แยก", num, "ไฟเหลือง")
time.sleep(3)
# กลับเป็นแดง
yellow.off()
red.on()
# วนลูปตลอดเวลา
while True:
traffic_light(red1, yellow1, green1, 1)
traffic_light(red2, yellow2, green2, 2)
traffic_light(red3, yellow3, green3, 3)
traffic_light(red4, yellow4, green4, 4)