# import library
import ultrasonic
from machine import Pin, PWM, SoftI2C
from utime import sleep
# pin declaration
TRIG_pin = Pin(12)
ECHO_pin = Pin(2)
red_led = Pin(13, Pin.OUT)
BUZZER_Pin = Pin(14, Pin.OUT)
# OLED Pin declaration
PinSclSda = SoftI2C(scl=Pin(33), sda=Pin(32))
# create an object for the sensor with the library
aish_the_sonic = ultrasonic.HCSR04(trigger_pin=TRIG_pin, echo_pin=ECHO_pin)
# main program
while True:
print("\n====== LET'S MEASURE AN INCOMING OBJECT ======\n")
# Measure distance in millimeters and centimeters
distance_in_mm = aish_the_sonic.distance_mm()
distance_in_cm = aish_the_sonic.distance_cm()
print('An incoming object is within -->', distance_in_mm, "mm")
print('An incoming object is within -->', distance_in_cm, "cm")
#BUZZER PART
tone_buzzer = PWM(BUZZER_Pin, freq = 400, duty = 50)
sleep(0.5)
tone_buzzer = PWM(BUZZER_Pin, freq = 500, duty = 50)
sleep(0.5)
tone_buzzer = PWM(BUZZER_Pin, freq = 400, duty = 50)
sleep(1.5)
tone_buzzer = PWM(BUZZER_Pin, freq = 700, duty = 50)
sleep(2)
tone_buzzer = PWM(BUZZER_Pin, freq = 400, duty = 50)
sleep(0.7)
tone_buzzer = PWM(BUZZER_Pin, freq = 500, duty = 50)
sleep(0.7)
tone_buzzer = PWM(BUZZER_Pin, freq = 300, duty = 50)
sleep(0.7)
tone_buzzer = PWM(BUZZER_Pin, freq = 400, duty = 50)
sleep(0.7)
tone_buzzer = PWM(BUZZER_Pin, freq = 500, duty = 50)
sleep(0.7)
tone_buzzer = PWM(BUZZER_Pin, freq = 700, duty = 0)
sleep(1.5)
# Check if the distance is 2500mm
if distance_in_mm > 2500:
# Desired distance is overlimit
print("distance is overlimit")
# Blink the red LED 5 times
for blink_count in range(5):
red_led.on()
sleep(0.5)
red_led.off()
sleep(0.3)
else:
#below 2500mm
# Desired distance is overlimit
print("distance is overlimit")
# Blink the red LED 5 times
for blink_count in range(5):
red_led.on()
sleep(0.5)
red_led.off()
sleep(0.3)
# Add a sleep after the loop to avoid continuous measurements
sleep(1)