'THIS PROJECT WILL INTEGRATE BETWEEN ESP32 AND ULTRASONIC SENSOR, SERVO MOTOR, OLED'
#IMPORT THE MODULES/ LIBRARY
import hcsr04 #ultrasonic sensor library
import ssd1306 #OLED
import servo #servo
from machine import SoftI2C, Pin, PWM
from utime import sleep
#to create object called ultrasonic sensor using OOP....library.class name ()
ultrasonic_sensor = hcsr04.HCSR04(trigger_pin=5, echo_pin=18,echo_timeout_us=500*2*30)
#OLED
i2c_oleddisplay = SoftI2C(scl=Pin(22),sda=Pin(21))
oled_width=128
oled_height=64
oled=ssd1306.SSD1306_I2C(oled_width, oled_height, i2c_oleddisplay)
#servo
sg90 = PWM (Pin(15), Pin.OUT)
sg90.freq(50)
#display the information from ultrasonic
distance_in_cm =ultrasonic_sensor.distance_cm()
distance_in_mm =ultrasonic_sensor.distance_mm()
#display the range on serial monitor
print ('An object in :',distance_in_cm ,'cm')
print ('An object in :',distance_in_mm ,'mm')
#display the range on OLED
oled.fill(1)
oled.text('object detected:',3,0,0)
oled.text(str(distance_in_cm),5,20,0)
oled.text('cm', 75,20,0)
oled.show()
#condition of sensor vs distance
if distance_in_cm <50:
for i in range(200):
sg90.duty(26)
sleep (1.0)
sg90.duty(123)
sleep (1.0)
else :
sleep (1)
sleep(5)