入侵检测报警器


项目介绍

上一课实验中我们学习了使用避障传感器检测障碍物进行报警提醒。在这一实验课程中我们将人体红外热释传感器、紫色LED模块和有源蜂鸣器模块组合实验,实现人体红外热释传感器检测到附近有人经过时有源蜂鸣器响起,紫色LED快速闪烁的效果。

实验组件

ESP32 Plus主板
ESP32 Plus主板 x1
Keyes 人体红外热释传感器
Keyes 人体红外热释传感器 x1
Keyes 有源蜂鸣器模块
Keyes 有源蜂鸣器模块 x1
Keyes 紫色LED模块
Keyes 紫色LED模块 x1
XH2.54-3P 转杜邦线母单线
XH2.54-3P 转杜邦线母单线 x3
USB线
USB线 x1

模块接线图

入侵检测报警器接线图

在线运行代码

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
# 导入引脚和时间模块
from machine import Pin 
import time 

# 定义人体红外传感器,led和主动蜂鸣器的引脚
sensor_pir = Pin(12, Pin.IN)
led = Pin(5, Pin.OUT)
buzzer = Pin(13, Pin.OUT)

while True: 
    if sensor_pir.value():
        print("Warning! Intrusion detected!")
        buzzer.value(1)
        led.value(1)
        time.sleep(0.2)
        buzzer.value(0)
        led.value(0)
        time.sleep(0.2)         
    else:
        buzzer.value(0)
        led.value(0)

实验结果

按照接线图正确接好模块,用USB线连接到计算机上电,单击 运行按钮 来执行程序代码。代码开始执行,当人体红外热释传感器检测到附近有人经过时,人体红外热释传感器上的红灯灭,有源蜂鸣器发出警报,紫色LED灯快速闪烁,"Shell"窗口打印出"Warning! Intrusion detected!"。

单击 停止按钮 或按Ctrl+C退出程序。

代码说明

代码说明
sensor_pir = Pin(12, Pin.IN)创建人体红外传感器对象,设置引脚12为输入模式。
led = Pin(5, Pin.OUT)创建LED对象,设置引脚5为输出模式。
buzzer = Pin(13, Pin.OUT)创建蜂鸣器对象,设置引脚13为输出模式。
sensor_pir.value()检测人体红外传感器状态,有人时返回高电平。
time.sleep(0.2)延时200毫秒,控制LED闪烁和蜂鸣器响应的频率。