print("Hello, ULTRASONIC!")
print('Date: 27/11/2023')
print('By: Raziq')

#Import all necessary libraries
import ultrasonic_library
from machine import Pin, PWM
from utime import sleep
import library_servo

#Declare Pin
TRIG = Pin(27, Pin.IN)
ECHO = Pin(26, Pin.OUT)
Servo_pin = Pin(13, Pin.OUT)

#Create the object name for sensor with library --> LIBRARYNAME.CLASSNAME()
super_sonic = ultrasonic_library.HCSR04(trigger_pin=TRIG, echo_pin=ECHO)
palang_gate = library_servo.Servo(pin=Servo_pin)

#Main program
while True:

  #Ultrasonic part
  print('\n===JOM CHECK INCOMING DISTANCE===\n')
  distance_in_mm = super_sonic.distance_mm()
  print('An incoming object is at : ', distance_in_mm, 'mm')
  distance_in_cm = super_sonic.distance_cm()
  print('An incoming object is at : ', distance_in_cm, 'cm')

  if distance_in_cm < 100:
    #Palang buka, axia datang
    palang_gate.move(0)
    sleep(0.2)
    palang_gate.move(90)
    sleep(5)
    palang_gate.move(0)
    sleep(1)
  else:
    palang_gate.move(0)


  #Servo motor part
    # palang_gate.move(0)
    # sleep(0.1)
    # palang_gate.move(90)
    # sleep(5)
    # palang_gate.move(0)
    # sleep(1)
 
  sleep(2) #In every 2 sec, ultrasonic will sense new coming distance