ESP32 Micropython编程(Thonny):利用人体感应模块实现智能化

本人持续分享更多关于嵌入式和单片机的知识,如果大家喜欢,别忘点个赞加个关注哦,让我们一起共同进步

最近使用到人体感应模块HC-SR501,这个模块使用十分简单,看下面代码就可以看出了,而且应用广泛,在家里厕所搞一个感应灯的不二之选。

目录

  • 1. 使用代码
  • 2. HC-SR501
  • 3. 两种触发模式
  • 4. 两个调节引脚说明
  • 存在一个小问题:
  • 1. 使用代码

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

    原理:当检测到人体移动时会使得信号引脚输出高电平,此时有个上升沿的越变,检测此越变即可判断是否有人体在移动。

    2. HC-SR501

  • HC-SR501 是一款基于热释电效应的人体热释运动传感器,能检测到人体或者动物上发出的红外线。

  • 注意检测的是是否运动

  • 检测范围

    通过物理旋钮可以调节感应范围

  • 背面位置

    3. 两种触发模式

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

  • 不可重复触发方式:即感应输出高电平后,延时时间段一结束,输出将自动从高电平变成低电平

  • 可重复触发方式:即感应输出高电平后,在延时时间段内,如果有人体在其感应范围活动,其输出将一直保持高电平,直到人离开后才延时将高电平变为低电平

  • 4. 两个调节引脚说明

  • 灵敏度:用于调节检测范围,可调节范围 3米 ~ 7米
  • 时间延迟调节:用于调节在检测到移动后,维持高电平输出的时间长短,可以调节范围(0.5-200S)
  • 存在一个小问题:

    如果通过此模块检测人体是否一直存在,该如何实现?此模块虽然能检测到人体,但是每当人体移动都会触发高电平。

    本人持续分享更多关于嵌入式和单片机的知识,如果大家喜欢,别忘点个赞加个关注哦,让我们一起共同进步

    物联沃分享整理
    物联沃-IOTWORD物联网 » ESP32 Micropython编程(Thonny):利用人体感应模块实现智能化

    发表评论