from ultrasonic import Ultrasonic
from machine import Pin, PWM
import time
ultrasonic_sensor = Ultrasonic(trigger_pin=12, echo_pin=14)
buzzer = Pin(32, Pin.OUT)
pwm_buzzer = PWM(buzzer)
pwm_buzzer.freq(1000)
pwm_buzzer.duty(512)
buzzer_on = False
while True:
distance = ultrasonic_sensor.distance_cm()
print("Distance: {:.2f} cm".format(distance))
if distance < 100:
if not buzzer_on:
pwm_buzzer.duty(512)
buzzer_on = True
frequency = max(500, min(2000, 2000 - int(distance * 30)))
pwm_buzzer.freq(frequency)
print(f"Obstacle detected! Buzzer frequency: {frequency} Hz")
else:
if buzzer_on:
pwm_buzzer.duty(0)
buzzer_on = False
print("No obstacle. Buzzer OFF")
time.sleep(0.1)