from machine import Pin
import utime
# Pin setup for traffic lights
red_pin = Pin(17, Pin.OUT)
yellow_pin = Pin(27, Pin.OUT)
green_pin = Pin(22, Pin.OUT)
def turn_on_red():
red_pin.value(1)
yellow_pin.value(0)
green_pin.value(0)
def turn_off_red():
red_pin.value(0)
def blink_yellow(duration, interval):
end_time = utime.ticks_add(utime.ticks_ms(), duration * 1000)
while utime.ticks_diff(end_time, utime.ticks_ms()) > 0:
yellow_pin.value(1)
utime.sleep(interval)
yellow_pin.value(0)
utime.sleep(interval)
def turn_on_green():
red_pin.value(0)
yellow_pin.value(0)
green_pin.value(1)
while True:
turn_on_red()
utime.sleep(2) # Lampu merah menyala selama 2 detik
turn_off_red() # Matikan lampu merah
blink_yellow(5, 0.5) # Lampu kuning berkedip selama 5 detik
turn_on_green()
utime.sleep(2) # Lampu hijau menyala selama 2 detik