from machine import Pin
import time
# Определение пинов
RED_PIN = 1
YELLOW_PIN = 2
GREEN_PIN = 3
BUTTON_PIN = 10
# Инициализация пинов
red = Pin(RED_PIN, Pin.OUT)
yellow = Pin(YELLOW_PIN, Pin.OUT)
green = Pin(GREEN_PIN, Pin.OUT)
button = Pin(BUTTON_PIN, Pin.IN, Pin.PULL_UP)
def turn_on(color):
"""Включает указанный цвет светофора."""
if color == 'red':
red.on()
yellow.off()
green.off()
elif color == 'yellow':
red.off()
yellow.on()
green.off()
elif color == 'green':
red.off()
yellow.off()
green.on()
def traffic_light_cycle():
"""Выполняет цикл работы светофора."""
while True:
if button.value() == 0: # Если кнопка нажата
print("Кнопка нажата")
time.sleep(0.1)
for _ in range(3): # Помигаем оранжевым три раза
turn_on('yellow')
time.sleep(0.5)
red.off()
yellow.off()
time.sleep(0.5)
# Включаем зеленый свет
turn_on('green')
# Даем время для прохода пешеходов
time.sleep(5)
else:
print("Кнопка не нажата")
# Включаем обычный цикл работы светофора
turn_on('red')
time.sleep(3)
turn_on('yellow')
time.sleep(1)
turn_on('green')
time.sleep(2)
# Запуск цикла работы светофора
traffic_light_cycle()