from machine import Pin, ADC
from time import sleep
from tm1637 import TM1637
# LED diode
led_red = Pin(2, Pin.OUT)
led_yellow = Pin(3, Pin.OUT)
led_green = Pin(4, Pin.OUT)
# Taster
button = Pin(5, Pin.IN, Pin.PULL_UP)
while True:
if button.value() == 1:
print("Dugme pritisnuto!")
sleep(0.1)
# PIR senzor
pir = Pin(6, Pin.IN)
# Buzzer
buzzer = Pin(7, Pin.OUT)
# TM1637 display
tm = TM1637(clk=Pin(8), dio=Pin(9))
# Potenciometar (na GP10)
pot = ADC(Pin(26))
def buzzer_beep(times=2):
for _ in range(times):
buzzer.value(1)
sleep(0.2)
buzzer.value(0)
sleep(0.2)
def show_countdown(seconds):
for i in range(seconds, 0, -1):
tm.number(i)
sleep(1)
tm.number(0)
while True:
if button.value() == 1:
print("Dugme pritisnuto. Čeka se pokret...")
while pir.value() == 0:
sleep(0.1)
# Izmerimo koliko traje zeleno svetlo (od potenciometra)
pot_value = pot.read_u16()
green_time = int(1 + (pot_value / 65535) * 9) # od 1 do 10 sekundi
print("Zeleno svetlo traje:", green_time, "sekundi")
# Zelena LED za pešake
led_green.value(1)
show_countdown(green_time)
led_green.value(0)
# Žuta LED
led_yellow.value(1)
sleep(2)
led_yellow.value(0)
# Crvena LED + zvučni signal
led_red.value(1)
buzzer_beep()
sleep(3)
led_red.value(0)
# Pauza pre ponovnog čekanja
sleep(1)