print("Hello, ultrasonic!")
print('date:27/11/2023')
print('by: MAHS')
#import all necessary libraries
import library_ultrasonic
from machine import Pin, PWM
from utime import sleep
import servolibrary
#declare pin
trig = Pin(25, Pin.IN)
echo = Pin(27, Pin.OUT)
servo = Pin(23)
buzzer = Pin(18, Pin.OUT)
#create the object name for sensor with library --> libraryname.classname()
sensor_jarak = library_ultrasonic.HCSR04(trigger_pin=trig, echo_pin=echo)
autogate = servolibrary.Servo(pin=servo)
# main program
while True:
print('\n===== MEH CHECK INCOMING DISTANCE=====\n')
distance_in_mm = sensor_jarak.distance_mm()
print('An incoming object is at : ', distance_in_mm, 'mm')
distance_in_cm = sensor_jarak.distance_cm()
print('An incoming object is at : ', distance_in_cm, 'cm')
if distance_in_cm <= 100:
# palang buka, kete datang
autogate.move(0)
sleep(5)
autogate.move(90)
sleep(5)
autogate.move(0)
sleep(5)
# Sound the buzzer
for b in range(3):
buzz_buzzer = PWM(buzzer, freq = 1500,duty = 50)
sleep(0.3)
buzz_buzzer = PWM(buzzer, freq = 1500,duty = 0)
sleep(0.3)
break
# Turn ON the buzzer
# Buzzer ON for 2 seconds (adjust as needed)
# Turn OFF the buzzer
else:
autogate.move(0)
#servo motor part
# autogate.move(0)
# sleep(2)
# autogate.move(45)
# sleep(1)
# autogate.move(75)
# sleep(1.25)
# autogate.move(120)
# sleep(1.25)
# autogate.move(145)
# sleep(1.25)
# autogate.move(180)
sleep(1.25)
sleep(2.5) #in every 2.5 sec, ultrasonic will sense new incoming distance