print("Hello, ULTRASONIC")
#Import all libraries
import library_ultrasonic
from machine import Pin, PWM, SoftI2C
from utime import sleep
import library_oled
#Pin Declaration
TRIG_pin = Pin(13, Pin.IN)
ECHO_pin = Pin(14, Pin.OUT)
Buzzer_Pin = Pin(4, Pin.OUT)
pin_oled = SoftI2C(scl=Pin(22), sda=Pin(21))
#Create an object name for sensors with libraries. Object_name = LIBRARYNAME.CLASSNAME()
sonic = library_ultrasonic.HCSR04(trigger_pin=TRIG_pin, echo_pin=ECHO_pin)
skrin = library_oled.SSD1306_I2C(width=128, height=64, i2c=pin_oled)
#Main program
while True:
#ULTRASONIC PART
print("\n===== LET'S MEASURE AN INCOMING OBJECT=====\n")
jarak_in_mm = sonic.distance_mm()
print('An incoming object is within --> ', jarak_in_mm, "mm")
jarak_in_cm = sonic.distance_cm()
print('An incoming object is within --> ', jarak_in_cm, "cm")
#BUZZER PART
for b in range (5):
sound_buzzer = PWM(Buzzer_Pin, freq = 1200, duty = 50)
sleep(0.5)
sound_buzzer = PWM(Buzzer_Pin, freq = 1200, duty = 0)
sleep(1)
#OLED to DISPLAY the TEXT
skrin.fill(0)
skrin.text(str(jarak_in_mm),15,30,1)
skrin.show()
sleep(2) #In every 2sec, ultrasonic will recheck distance