print("\nMiniproject")
print("Created By : MUHAMMAD ASYRAAF BIN ASRI")
print("Date: 24/5/2024\n")
#Import libraries/module
from machine import Pin, PWM
from utime import sleep
import servo_library, ultrasonic_library
#Pin declaration
Red_led = Pin(2,Pin.OUT)
Green_led = Pin(4,Pin.OUT)
servo_pin = Pin(32,Pin.OUT)
PIR_pin = Pin(12,Pin.IN)
trig = Pin(5)
echo = Pin(18)
#Parameter declaration
#Create an OBJECT name for module with library
gate = servo_library.Servo(pin=servo_pin)
sensor = ultrasonic_library.HCSR04(trigger_pin=trig, echo_pin=echo)
#main program
while True:
distance_in_cm = sensor.distance_cm()
motion_status = PIR_pin.value() # .value() to read digital value (1 or 0)
print("The motion status is", motion_status)
print("The distance is", distance_in_cm, "cm")
if motion_status == 1: # PIR sensor logic
gate.move(angle=90) # Open the gate
sleep(3) # Wait for 3 seconds
else:
gate.move(angle=0) # Close the gate
if distance_in_cm > 100:
Green_led.on()
Red_led.off()
else:
Green_led.off()
Red_led.on()
sleep(1)