import time
import board
import adafruit_hcsr04
import pwmio
#Inicializa el sensor HC-SR04
trig_pin = board.GP22
echo_pin = board.GP21
sonar = adafruit_hcsr04.HCSR04(trig_pin, echo_pin)
red = pwmio.PWMOut(board.GP0, frequency = 1000)
green = pwmio.PWMOut(board.GP1, frequency = 1000)
blue = pwmio.PWMOut(board.GP2, frequency = 1000)
while True:
try:
#Medir distancia
distance = sonar.distance
print("Distancia: {:.1f} cm".format(distance))
if sonar.distance < 20:
buzzer = pwmio.PWMOut(board.GP5, frequency = 5000)
porR = 100
porG = 0
porB = 0
valorR = int((porR*(65535))/100)
valorG = int((porG*(65535))/100)
valorB = int((porB*(65535))/100)
red.duty_cycle = valorR
green.duty_cycle = valorG
blue.duty_cycle = valorB
time.sleep(0.05)
buzzer.duty_cycle = 32763
elif sonar.distance >21 and sonar.distance <50:
buzzer = pwmio.PWMOut(board.GP5, frequency = 2500)
porR = 100
porG = 100
porB = 0
valorR = int((porR*(65535))/100)
valorG = int((porG*(65535))/100)
valorB = int((porB*(65535))/100)
red.duty_cycle = valorR
green.duty_cycle = valorG
blue.duty_cycle = valorB
time.sleep(0.05)
buzzer.duty_cycle = 32763
elif sonar.distance >51 and sonar.distance <100:
buzzer = pwmio.PWMOut(board.GP5, frequency = 1000)
porR = 0
porG = 100
porB = 0
valorR = int((porR*(65535))/100)
valorG = int((porG*(65535))/100)
valorB = int((porB*(65535))/100)
red.duty_cycle = valorR
green.duty_cycle = valorG
blue.duty_cycle = valorB
time.sleep(0.05)
buzzer.duty_cycle = 32763
elif sonar.distance >101:
buzzer = pwmio.PWMOut(board.GP5, frequency = 10000)
porR = 100
porG = 100
porB = 100
valorR = int((porR*(65535))/100)
valorG = int((porG*(65535))/100)
valorB = int((porB*(65535))/100)
red.duty_cycle = valorR
green.duty_cycle = valorG
blue.duty_cycle = valorB
time.sleep(0.05)
buzzer.duty_cycle = 0
time.sleep(0.1)
buzzer.deinit()
except RuntimeError:
print("Recargando...!")
pass