火焰传感器感应有火亮灯代码_人体热释红外传感器

目录

  • GPIO输入的应用场景
  • 人体热释红外传感器HC-SR501
    • 电气参数
    • 功能特点
    • 应用范围
    • 硬件电路
    • 代码实例
  • 成果展示
  • 推荐阅读

上一个网文实现了流水灯,《利用STM32F103C8T6最小系统板点亮流水灯 》,这个主要用到了单片机的IO可以输出高低电平的特性,程序里置1即输出高电平;程序里置0即输出低电平。

当然,GPIO除了对外可以输出高低电平以外,单片机的IO还可以当做输入使用,当与单片机的某个IO引脚相连的电压为高电平的时候,程序中读取该IO的值为逻辑“1”;当输入的电压为低电平的时候,程序中读取该IO的值为逻辑“0”。

注意:
因为单片机的IO为TTL电平,所以输入的电压要注意电压范围,避免输入电压过高烧毁单片机IO引脚;
单片机的IO作为输出使用时,注意输出电流的能力是有限的,即一般只使用IO作为触发信号,而不是作为功率IO使用; 补充:
TTL电平的电压范围:
输出高电平>2.4V,输出低电平<0.4V
输入高电平≥2.0V,输入低电平≤0.8V

GPIO输入的应用场景

  • 按键读取
  • 热释红外人体感应传感器
  • 红外接收头
  • 带lm393的一些传感器模块,比如:热敏传感器、光照传感器、声音传感器等模块
这种模块上面一般都有一个电位器,用于调节阈值。
这种模块的输出引脚一般标识为DO,可以输出TTL信号,进而单片机可以得到两种状态,感应(达到)到目标,或者未感应(未达到)。
个别传感器模块还有一个模拟量输出引脚,一般标识为AO,比如MQ2烟雾传感器,通过其模拟信号输出引脚AO与AD芯片或者单片机的ADC引脚相连,可以获得强度值,这种方法可以不调节硬件的情况下,通过程序来控制响应阈值,更灵活。

人体热释红外传感器HC-SR501

dbe3051911b9706e1e8420d78f9f3205.png

电气参数

  • 工作电压范围:直流电压4.5-20V
  • 电平输出:高3.3 V /低0V
  • 触发方式:L不可重复触发/H重复触发(默认重复触发)
  • 延时时间:0.5-200S(可调)可制作范围零点几秒-几十分钟
  • 封锁时间:2.5S(默认)可制作范围零点几秒-几十秒
  • 感应角度:<100度锥角

功能特点

  • 全自动感应:人进入其感应范围则输出高电平,人离开感应范围则自动延时关闭高电平,输出低电平。
  • 光敏控制(可自己购买了安装,出厂时未设):模块预留有位置,可设置光敏控制,白天或光线强时不感应。
  • 触发方式跳线选择。
    • 不可重复触发方式:即感应输出高电平后,延时时间段一结束,输出将自动从高电平变成低电平;
    • 可重复触发方式:即感应输出高电平后,在延时时间段内,如果有人体在其感应范围活动,其输出将一直保持高电平,直到人离开后才延时将高电平变为低电平(感应模块检测到人体的每一次活动后会自动顺延一个延时时间段,并且以最后一次活动的时间为延时时间的起始点)。
  • 具有感应封锁时间(默认设置:2.5S封锁时间):感应模块在每一次感应输出后(高电平变成低电平),可以紧跟着设置一个封锁时间段,在此时间段内感应器不接受任何感应信号。此功能可以实现“感应输出时间”和“封锁时间”两者的间隔工作,可应用于间隔探测产品;同时此功能可有效抑制负载切换过程中产生的各种干扰。(此时间可设置在零点几秒—几十秒钟)。
注意:
红外线热释电传感器根据实现原理,对人体的敏感程度还和人的运动方向关系很大。红外线热释电传感器对于径向移动反应最不敏感, 而对于横切方向 (即与半径垂直的方向)移动则最为敏感。
==>所以安装不对的话,可能会出现不工作的情况,另外,根据模块实现的原理,静止的人,无法感应。
传感器只对移动或运动的人体起作用。
==>所以如果用于检测球场或者教室内是否有人的话,理论上来说,不是很准确。

应用范围

  • 安防产品
  • 人体感应玩具
  • 人体感应灯具
  • 工业自动化控制等

配合外围电路,它能自动快速开启各类白炽灯、荧光灯、蜂鸣器、自动门、电风扇、烘干机和自动洗衣机等装置。

特别适用于宾馆、商场、库房及家庭的过道、走廊等场所。

硬件电路

ea6f2081c17e6cb96828694fbfb9e486.png

8243815cc66fc680e01ff8ba4d361683.png

代码实例

实现目标:
人体红外热释感应模块OUT引脚输出高电平(检测出有人)时,板载LED(PC13)亮,反之,LED灭。

我们将SR501的OUT引脚与核心板的PA5相连,并将PA5设置为输入;详细代码见void SR501_Init(void)函数实现;

为了控制板载LED的亮灭,需要将PC13设置为输出;详细代码见void LED_Init(void)函数实现;

main.c完整代码如下:

#include 

成果展示

当手靠近人体热释红外传感器时,绿灯亮;延时一定时间以后,绿灯灭。

推荐阅读

STM32单片机最小系统详解

STM32中精确延时函数的实现

基于STM32固件库的MDK5工程建立

修改Keil工程名称并添加其他模块文件

利用STM32F103C8T6最小系统板点亮流水灯


9cd20b5541c4acc06a10b1e700c83d62.png


从六月份开始,每个月会制作一个毕业设计难度的DIY作品,
前期作品以模块组合的形式搭建,降低门槛,方便大家一起跟着做;DIY过程只在微信公众号中分享,大家没关注的,赶紧关注哈。

每个月时间大致安排:

  • 上个月25号,公布DIY作品名称;
  • 每月1日公布作品功能点及所需要的功能模块链接;
  • 每月10日前绘制完模块配合的线路板;
  • 每月15日之前硬件搭建完毕,之后按模块撰写代码,调试,随时公众号更新进展;
  • 每月月底开源整个作品的源码和PCB工程文件。

题目选取原则:

  • 公众号每个月20日发起投票,25号截止,票数最多的作为下个月的DIY内容;
  • 投票的备选项大家可以后台留言给我,我会选出五种留言最多的作为选项;
  • 每个月的DIY内容尽量与上个月分享的文章有一定的相关度,起到温故知新的作用。

有什么想法或者建议,后台留言给我哈。


喜欢请关注微信公众号:嵌入式从0到1

4d9851138b29730eafd5df6a57f67e25.png

若觉得本次分享的文章对您有帮助,随手点[点赞]并转发分享,也是对我的支持。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值