print("\n\nThis program will test PIR Sensor")
print("Created by: mnafan")
print("Date: 1/4/2024\n\n")
#Import libraries/modules
from utime import sleep
from machine import Pin, PWM
from machine import Pin, SoftI2C
import library_oled
#Pin declaration
PIR_sensor = Pin(13,Pin.IN)
red_led = Pin(4,Pin.OUT)
green_led = Pin(2,Pin.OUT)
buzzer = PWM(Pin(18,Pin.OUT))
oled_pin = SoftI2C(scl=Pin(22), sda=Pin(21))
#Parameter declaration
#Create an object name for component with library
#Object name = libraryname.class_name()
display = library_oled.SSD1306_I2C(width=128, height=64, i2c=oled_pin, external_vcc=False)
#Main program
while True:
green_led.off() #To initialize
red_led.off()
buzzer.init(freq=1 ,duty=0)
motion_status = PIR_sensor.value() #To read the digital value of the sensor (0 or 1)
print("The value of PIR sensor is ",motion_status) #optional
if motion_status == True:
for red in range(5):
red_led.on()
buzzer.init(freq=2500 ,duty=200)
sleep(0.2)
red_led.off()
buzzer.init(freq=1047 ,duty=0)
sleep(0.2)
display.fill(1)
display.text("Warning", x=10, y=10, col=0)
display.show()
green_led.off()
else:
red_led.off()
green_led.on()
display.fill(1)
display.text("Save", x=5, y=10, col=0)
display.show()
motion_status = 0
sleep(2) #For system delayLoading
esp32-devkit-v1
esp32-devkit-v1