print("DISTANCE SENSOR")
print("21/11/2023")
print("created by ZUNIE")

#import libraries
import UltraSonic
import OLEDLIBRARY
from machine import Pin, PWM, SoftI2C
from utime import sleep

#Pin Declaration
TRIG_pin = Pin(13, Pin.IN)
ECHO_pin = Pin(12, Pin.OUT)
signal_LED = Pin(15, Pin.OUT)
BUZZER_pin = Pin(2, Pin.OUT)
Pin_scl_sda = SoftI2C(scl=Pin(22), sda=Pin(21))


#Create an object name for sensors with libraries.
sonic = UltraSonic.HCSR04(trigger_pin = TRIG_pin , echo_pin = ECHO_pin)
skrin = OLEDLIBRARY.SSD1306_I2C(width=128, height=64, i2c=Pin_scl_sda)

#Main Program
while True:
  skrin.fill(1)  #0 - for BLACK,1 for WHITE
  skrin.text("OLED SUSAH GILER!",0, 10,0)
  skrin.text("I LOVE IOT",0 , 30,0)
  skrin.text("BY ZUNIE",0, 50,0)
  print("\n======= LET'S MEASURE AN INCOMING OBJECT========\n")
  distance_in_mm = sonic.distance_mm()
  print("An Incoming Object is Within --->" , distance_in_mm, "zzzz")
  distance_in_cm = sonic.distance_cm()
  print("An Incoming Object is Within --->" , distance_in_cm, "zzzz")
  skrin.show()
#BUZZER PART
  for b in range (5):
    signal_LED.on()
    sleep(0.3)
    signal_LED.off()
    sleep(0.3)
    tone_buzzer = PWM(BUZZER_pin, freq = 1500 , duty = 50)
    sleep(0.03)
    tone_buzzer = PWM(BUZZER_pin, freq = 1500 , duty = 50)
    sleep(0.03)

  sleep(2)