print('UltraSonic Sensor')
print("By: Aqil Farid")
print("Date: 22/04/24")
#import library
import Oled #oled Library
import Ultsonic #ultsonic Library
from machine import Pin, PWM ,SoftI2C ,
from utime import sleep
#pin declaration
Trig = Pin(13)
Echo = Pin(12)
oled_Pin = SoftI2C(scl=Pin(22), sda=Pin(21))
Buzz = PWM(Pin(4, Pin.OUT))
#parameter declaration
#Object name = Libabry name.class name()
screen = Oled.SSD1306_I2C(width=128, height=64, i2c=oled_Pin)
sonic = Ultsonic.HCSR04(trigger_pin = 13, echo_pin = 12, echo_timeout_us=500*2*30)
#main program
while True:
distance_in_cm = sonic.distance_cm()
distance_in_mm = sonic.distance_mm()
print("------------------")
print("Distance from an abject is", distance_in_cm, "cm")
print("Distance from an abject is", distance_in_mm, "mm")
if distance_in_cm > 200:
for i in range (3):
Buzz.init(freq=500 , duty=50)
sleep(1)
screen.fill(0)
screen.text("Inpired By Me",5,10,1)#note (row,column,colorcode)
screen.show()
Buzz.init(freq=500 , duty=0)
sleep(1)
screen.fill(0)
screen.text("Inpired By Me",5,10,1)#note (row,column,colorcode)
screen.show()
elif 50 <= distance_in_cm <= 200:
for i in range (5):
Buzz.init(freq=1000 , duty=80)
sleep(1)
screen.fill(0)
screen.text("Inpired By Me",5,10,1)#note (row,column,colorcode)
screen.show()
Buzz.init(freq=1500 , duty=0)
sleep(1)
screen.fill(0)
screen.text("Inpired By Me",5,10,1)#note (row,column,colorcode)
screen.show()
else:
for i in range (8):
Buzz.init(freq=1200 , duty=50)
sleep(0.4)
screen.fill(0)
screen.text("Inpired By Me",5,10,1)#note (row,column,colorcode)
screen.show()
Buzz.init(freq=2000 , duty=0)
sleep(0.4)
screen.fill(0)
screen.text("Inpired By Me",5,10,1)#note (row,column,colorcode)
screen.show()