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:
  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")
#BUZZER PART
  for b in range (10):
    signal_LED.on()
    sleep(0.3)
    signal_LED.off()
    sleep(0.3)
    tone_buzzer = PWM(BUZZER_pin, freq = 8500 , duty = 50)
    sleep(0.25)
    tone_buzzer = PWM(BUZZER_pin, freq = 8500 , duty = 50)
    sleep(0.25)


  #OLED
  skrin.fill(1)
  skrin.text(str(distance_in_mm), 15, 30,0)
  skrin.show()

  sleep(2)