import machine
from time import sleep
TRIG_PIN = 5
ECHO_PIN = 18
trig = machine.Pin(TRIG_PIN, machine.Pin.OUT)
echo = machine.Pin(ECHO_PIN, machine.Pin.IN)
red = machine.PWM(machine.Pin(25), freq=1000)
green = machine.PWM(machine.Pin(26), freq=1000)
blue = machine.PWM(machine.Pin(27), freq=1000)
def medir_distancia():
trig.off()
sleep(0.01)
trig.on()
sleep(0.00001)
trig.off()
duracao = machine.time_pulse_us(echo, 1, 30000)
distancia = duracao / 58
return distancia
def set_color(r, g, b):
red.duty(int(r * 4))
green.duty(int(g * 4))
blue.duty(int(b * 4))
colors = {
"vermelho": (255, 0, 0),
"verde": (0, 255, 0),
"amarelo":(255, 255, 0),
"desligado": (0, 0, 0)
}
def get_color(dis):
if(dis >= 300):
return colors["verde"]
if(dis >= 130):
return colors["amarelo"]
if(dis >= 0):
return colors["vermelho"]
return colors["desligado"]
while True:
dist = medir_distancia()
set_color(*get_color(dist))
sleep(0.1)