print("\nThis Program Will Test Ultrasonic Sensor")
print("Created By : MUHAMMAD ASYRAAF BIN ASRI")
print("Date: 22/4/2024\n")
#Import libraries/modules
import ultrasonic_library, oled_library
from machine import Pin, PWM, SoftI2C
from utime import sleep
#Pin declaration
trig = Pin(13)
echo = Pin(12)
Buzzer_pin = PWM(Pin(4,Pin.OUT))
oled_pin = SoftI2C(scl=Pin(22), sda=Pin(21))
#Parameter declaration
#Create an OBJECT name for sensor with library ->Object_Name = Library modules.
sensor = ultrasonic_library.HCSR04(trigger_pin=trig, echo_pin=echo)
screen = oled_library.SSD1306_I2C(width=128, height=64, i2c=oled_pin)
#main program
while True:
distance_in_cm = sensor.distance_cm()
distance_in_mm = sensor.distance_mm()
Buzzer_pin.init(freq=1500, duty=0) #initialize
print("...........................................")
print("Distance from an object is", distance_in_cm, "cm")
print("Distance from an object is", distance_in_mm, "mm")
print("\n")
if distance_in_cm > 200:
for i in range (1):
screen.fill(0)
screen.text("sound 1", 30, 0, 1)
screen.text(str(distance_in_cm), 5, 30, 1)
screen.text("cm", 70, 30, 1)
screen.show()
Buzzer_pin.init(freq=1500 , duty=500 )
sleep(0.5)
Buzzer_pin.init(freq=1500 , duty=0 )
sleep(0.5)
elif 50 <= distance_in_cm <= 200:
for i in range (2):
screen.fill(0)
screen.text("sound 2", 30, 0, 1)
screen.text(str(distance_in_cm), 5, 30, 1)
screen.text("cm", 70, 30, 1)
screen.show()
Buzzer_pin.init(freq=1500 , duty=500 )
sleep(0.5)
Buzzer_pin.init(freq=1500 , duty=0 )
sleep(0.5)
else:
for i in range (3):
screen.fill(0)
screen.text("sound 3", 30, 0, 1)
screen.text(str(distance_in_cm), 5, 30, 1)
screen.text("cm", 70, 30, 1)
screen.show()
Buzzer_pin.init(freq=1500 , duty=500 )
sleep(0.5)
Buzzer_pin.init(freq=1500 , duty=0 )
sleep(0.5)
sleep(3)