print("this program integrate ESP32 + Ultrasonic")
#import all related module/library
import ultrasonic_lib
import oled_lib
from utime import sleep
from machine import Pin, SoftI2C, PWM
#Declare pin connection for ultrasonic
#Create an object for ultrasonic using OOP (Object Oriented Programming)
#Format OOP --> Library name.class name()
bobo = ultrasonic_lib.HCSR04(trigger_pin=18, echo_pin=19, echo_timeout_us=500*2*30)
i2c_oledisplay = SoftI2C(scl=Pin(22), sda=Pin(21))
oled_width = 128
oled_height = 64
oled = oled_lib.SSD1306_I2C(oled_width, oled_height,i2c_oledisplay)
buzzer = PWM(Pin(23), Pin.OUT)
while True:
# Test bobo!!!
distance_in_cm = ultrass.distance_cm()
#Display the distance value in cm
print('The distance from an object in cm is : ', distance_in_cm)
print('---------------------------------------------------------')
print('\n')
if distance_in_cm < 100 :
#Making servo motor move
for i in range (3) :
servo.init(freq=123, duty=516)
sleep(1)
servo.init(freq=1, duty=0)
sleep(0.5)
elif 100 <= distance_in_cm < 150:
for i in range (3) :
servo.init(freq=400, duty=326)
sleep(1)
servo.init(freq=1, duty=0)
sleep(0.5)
else:
servo.init(freq=1, duty=0)
sleep(5)