#implement the micropython script for the reverse parking sensor
from machine import Pin, time_pulse_us, PWM
import time
trigger_pin = Pin(23, Pin.OUT)
echo_pin = Pin(21, Pin.IN)
buzzer_pin = Pin(12, Pin.OUT)
def measure_distance():
trigger_pin.on()
time.sleep_us(10)
trigger_pin.off()
while not echo_pin.value():
pass
pulse_start = time.ticks_us()
while echo_pin.value():
pass
pulse_end = time.ticks_us()
pulse_duration = time.ticks_diff(pulse_end, pulse_start)
distance = pulse_duration * 0.0343 / 2
return distance
def activate_buzzer():
pwm = PWM(buzzer_pin)
pwm.freq(1000)
pwm.duty(512)
def deactivate_buzzer():
buzzer_pin.off()
while True:
distance = measure_distance()
print("Distance: {} cm".format(distance))
if distance < 100:
print("Obstacle detected! Activating buzzer...")
activate_buzzer()
else:
print("No obstacle detected.")
deactivate_buzzer()
time.sleep(0.1)