有人用过人体红外模块HC-SR501的吗?

2019-07-21 08:13发布

这个模块输出引脚我直接连接到32单片机PB13口,设置不可重复触发,也就是感应到人输出高电平,延时后从高电平变为低电平。

IO口配置为下拉输入。
     GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPD;                     //下拉输入
     GPIO_InitStructure.GPIO_Pin=GPIO_Pin_14;            
     GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
     GPIO_Init(GPIOB,&GPIO_InitStructure);   

    while(1)
    {
            if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_13)==1)
        {
            UART1_SendString("检测到人 ");
        }
}
不知为何串口一直输出检测到人,红外模块我都对着墙壁了,还会检测到IO口有高电平,为什么?
9`XB]9QQH)3R_2P0UUV%@OF.png
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
三木
1楼-- · 2019-07-22 04:18
看一下那个模块手册
梁自动
2楼-- · 2019-07-22 07:48
手册上似乎没有解决的方法
独有香如故
3楼-- · 2019-07-22 09:13
 精彩回答 2  元偷偷看……
梁自动
4楼-- · 2019-07-22 12:02
延时调到最低之后,无论对着人还是墙壁,都是输出高电平,之后低电平,之后高电平,看不出有没有人的区别
独有香如故
5楼-- · 2019-07-22 13:26
梁自动 发表于 2018-5-11 13:19
延时调到最低之后,无论对着人还是墙壁,都是输出高电平,之后低电平,之后高电平,看不出有没有人的区别

你延时很可能没调到最低,再转一下,我一开始以为调到最低,然后发现不是,还可以再调更低
梁自动
6楼-- · 2019-07-22 16:43
谢谢回答,我调到最低了还是有这种现象存在,我用定时器解决了问题,只有低电平存在一定时间才认定没人,短时间的低电平不影响结果。

一周热门 更多>