print("Hello, ULTRASONIC!")
#Import all libraries
import library_ultrasonic
import library_oled_ultrasonic
from machine import Pin, PWM, SoftI2C
from utime import sleep
Pin_scl_sda = SoftI2C(scl = Pin(5), sda = Pin(18))
#Pin declaration
TRIG_pin = Pin(14,Pin.IN)
ECHO_pin = Pin(27,Pin.OUT)
WARNING_pin = Pin(2,Pin.OUT)
BUZZER_pin = Pin(26,Pin.OUT)
#Create an object name for sensor with libraries. Object name = Libraryname.Classname()
sonic = library_ultrasonic.HCSR04(trigger_pin = TRIG_pin , echo_pin = ECHO_pin)
skrin = library_oled_ultrasonic.SSD1306_I2C(width=128, height=64, i2c=Pin_scl_sda)
#Main program
while True:
#Ultrasonic part
jarak = ECHO_pin.value
print("\n === LET'S MEASURE INCOMING OBJECT ===\n")
distance_in_mm = sonic.distance_mm()
print("An incoming object is within --> ", distance_in_mm, "mm")
distance_in_cm = sonic.distance_cm()
print("An incoming object is within -->", distance_in_cm, "cm")
#For Buzzer and LED part
if distance_in_cm <100:
for A in range(10):
print("DON'T COME CLOSER!!!!!")
WARNING_pin.on()
irama_buzzer = PWM(BUZZER_pin, freq = 1200, duty = 50)
sleep(0.5)
WARNING_pin.off()
irama_buzzer = PWM(BUZZER_pin, freq = 1200, duty = 0)
sleep(0.5)
skrin.fill(1) # 0 = black, 1 = white
skrin.text(str(distance_in_cm), 0, 10, 0)
skrin.text("DON'T COME CLOSER",0, 30, 0)
skrin.show() # this mark is a must
sleep(5)