锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

ESP32开发之旅——人体感应传感器HC-SR501

时间:2022-09-08 19:30:00 061感应传感器

ESP32开发之旅-人体感应传感器HC-SR501

前言

  • 你将在本文中学习HC-SR501人体感应传感器ESP本文提供了学习参考的简单示例。
  • 需要注意的是,本文中ESP32是使用Micro Python(同时ESP8266也可以根据本文开发)。
  • 对HC-SR熟悉501模块的朋友可以直接跳到文本部分

HC-SR501介绍

img

电气参数

功能
工作电压范围 直流电压4.5~20V(在3.3V也可以使用,但不稳定)
电平输出 移动时未检测到低电平(0V),检测到高电平的移动输出(3).3V)
时间延迟调整 用于调整检测到移动后高电平输出的时间长度(0.5-200S)
调整感应距离 用于调整检测范围 3米 ~ 7米
检测模式条件 可选择单次检测模式和连续检测模式
感应范围 锥角小于120度,锥角小于7米

时间延迟、距离调节方法

时间延迟调整

将菲涅尔透镜向上,左旋钮调整延迟,顺时针增加延迟,逆时针减少延迟。

距离调节

将菲涅尔透镜朝上,右边旋钮调节感应距离长短,顺时针方向减少距离,逆时针方向增加距离。

两种触发方法(可跳线选择)

触发方法不能重复

也就是说,感应输出高电平后,延迟时间段一结束,输出就会自动从高电平变为低电平;

可重复触发

也就是说,在感应输出高电平后,在延迟期间,如果人体在其感应范围内移动,其输出将始终保持高电平,直到人离开后才将高电平延迟至低电平(感应模块检测到人体的每一项活动后,将自动延迟一个延迟期,并将最后一项活动的时间作为延迟期的起点)

正文

所需材料

  • ESP32开发板(已刷入MicroPython固件,不刷的朋友可以参考我之前的教程)
  • 人体传感器HC-SR501
  • Thonny(其他支持MicroPython开发的IDE皆可)

连接说明

在HC-SR501只有三个引脚,引脚对应表如下:

HC-SR501 VCC OUT GND
ESP32/ESP8266 5V P22 GND

在安信可的ESP32上,板载LED相应的引脚是——P2

核心代码

from machine import I2C,Pin import time  Human=Pin(22,Pin.IN,Pin.PULL_UP) #构建人体红外对象 led=Pin(2,Pin.OUT) #构建 led 对象, GPIO2,输出  def fun(Human): #当检测到人时,板载LED灯亮起     print("1")     led.on()     time.sleep_ms(500)     led.off()      Human.irq(fun,Pin.IRQ_RISING) #定义中断,上升沿触发  

现象

成功写入代码ESP当硬件连接正确时,可以看到以下现象:

  • 当HC-SR当501检测到人体时,ESP32板载LED灯亮起。
  • 当人体离开HC-SR501检测范围后,ESP32板载LED灯熄灭。

参考资料

  • 《MicroPython从0到1》
  • henrysbench.capnfatz.com
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章