OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5750|回复: 14

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

[复制链接]

24

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
143
金钱
143
注册时间
2018-4-9
在线时间
25 小时
发表于 2018-5-6 10:25:27 | 显示全部楼层 |阅读模式
1金钱
这个模块输出引脚我直接连接到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("检测到人\r\n");
        }
}
不知为何串口一直输出检测到人,红外模块我都对着墙壁了,还会检测到IO口有高电平,为什么?
9`XB]9QQH)3R_2P0UUV%@OF.png

最佳答案

查看完整内容[请看2#楼]

调一下灵敏度 用示波器看看
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

62

主题

903

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3566
金钱
3566
注册时间
2016-1-8
在线时间
544 小时
发表于 2018-5-6 10:25:28 | 显示全部楼层
调一下灵敏度  用示波器看看
回复

使用道具 举报

1

主题

11

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2018-5-9
在线时间
4 小时
发表于 2018-5-9 21:20:02 | 显示全部楼层
请问问题怎么解决,我刚开始修改了一下,之后无法恢复了,改变灵敏度也没有用,始终输出高电平,求指教
回复

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
发表于 2018-5-9 22:49:37 | 显示全部楼层
梁自动 发表于 2018-5-9 21:20
请问问题怎么解决,我刚开始修改了一下,之后无法恢复了,改变灵敏度也没有用,始终输出高电平,求指教

把透镜去了试试,透镜的角度大,对着墙可能也能检测到
回复

使用道具 举报

1

主题

11

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2018-5-9
在线时间
4 小时
发表于 2018-5-10 09:03:51 | 显示全部楼层
275891381 发表于 2018-5-9 22:49
把透镜去了试试,透镜的角度大,对着墙可能也能检测到

去了透镜情况还是一样
回复

使用道具 举报

1

主题

11

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2018-5-9
在线时间
4 小时
发表于 2018-5-10 09:09:54 | 显示全部楼层
梁自动 发表于 2018-5-10 09:03
去了透镜情况还是一样

是不是输出口直接连接单片机IO口的问题?需要另外接电路吗
回复

使用道具 举报

1

主题

11

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2018-5-9
在线时间
4 小时
发表于 2018-5-10 10:23:54 | 显示全部楼层
现在可以输出低电平了,之前把模式设置成可重复触发,但是对着墙壁还是会自动输出高电平,只有在不可重复触发模式才有很短暂的低电平
回复

使用道具 举报

2

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
73
金钱
73
注册时间
2018-3-26
在线时间
14 小时
发表于 2018-5-10 11:58:14 | 显示全部楼层
看一下那个模块手册
回复

使用道具 举报

1

主题

11

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2018-5-9
在线时间
4 小时
发表于 2018-5-10 17:11:40 | 显示全部楼层
手册上似乎没有解决的方法
回复

使用道具 举报

24

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
143
金钱
143
注册时间
2018-4-9
在线时间
25 小时
 楼主| 发表于 2018-5-10 20:58:41 | 显示全部楼层
梁自动 发表于 2018-5-9 21:20
请问问题怎么解决,我刚开始修改了一下,之后无法恢复了,改变灵敏度也没有用,始终输出高电平,求指教

把延时的电位器调好就行了,逆时针调到尽头,这时候延时最小
回复

使用道具 举报

1

主题

11

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2018-5-9
在线时间
4 小时
发表于 2018-5-11 13:19:26 | 显示全部楼层
延时调到最低之后,无论对着人还是墙壁,都是输出高电平,之后低电平,之后高电平,看不出有没有人的区别
回复

使用道具 举报

24

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
143
金钱
143
注册时间
2018-4-9
在线时间
25 小时
 楼主| 发表于 2018-5-11 20:59:16 | 显示全部楼层
梁自动 发表于 2018-5-11 13:19
延时调到最低之后,无论对着人还是墙壁,都是输出高电平,之后低电平,之后高电平,看不出有没有人的区别

你延时很可能没调到最低,再转一下,我一开始以为调到最低,然后发现不是,还可以再调更低
回复

使用道具 举报

1

主题

11

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2018-5-9
在线时间
4 小时
发表于 2018-5-12 10:13:40 | 显示全部楼层
谢谢回答,我调到最低了还是有这种现象存在,我用定时器解决了问题,只有低电平存在一定时间才认定没人,短时间的低电平不影响结果。
回复

使用道具 举报

29

主题

132

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
313
金钱
313
注册时间
2017-12-12
在线时间
26 小时
发表于 2018-11-6 15:00:49 | 显示全部楼层
梁自动 发表于 2018-5-12 10:13
谢谢回答,我调到最低了还是有这种现象存在,我用定时器解决了问题,只有低电平存在一定时间才认定没人,短 ...

你好 有HC-SR501 的程序吗?
回复

使用道具 举报

29

主题

132

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
313
金钱
313
注册时间
2017-12-12
在线时间
26 小时
发表于 2018-11-6 15:01:24 | 显示全部楼层
楼主把你写好的程序发一下呗 谢谢了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-21 13:42

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表