将OUT信号输出接到bpi:bit的引脚脚上
(引脚对应的IO口可以查看introduce-bpi-bit)
人进入其感应范围则输出高电平。人离开感应范围则自动延时关闭高电平,输出地电平
通过判断IO口的电平高低,来点亮LED已表示感应到人体红外HC-SR501的接口比较简单,总共三根线,一个VCC,一个GND,一个数据口OUT:有感应时输出高电平,其余时候低电平:将准备材料修改代码中的红外HC-SR501驱动文件夹(infrared)拷贝到stm32f407_iot工程dev文件夹下。
在Manage Project Items添加文件夹infrared,然后添加刚才拷贝文件下的C文件。
在Options->C/C++->Include Paths添加dev下复制文件夹infrared的路径。
修改infraredh文件中对应的IO引脚,修改成自己对应的接口,应该用注释标出。每当红外被触发的时候,都会被打印出来,需要注意的时候,红外HC-SR501初始化可能需要比较长的时候,而这段时间可能会有1-2次测试输出,可以适当加一点延时滤除。在中断函数中可以加自己需要的函数 *** 作,在触发红外的时候。中断使用了上升沿和下降沿都触发,这样可以清楚的知道红外模块当前的状态。红外HC-SR501模块相对比较简单,主要用到了STM32F4的外部中断 *** 作,实际上触发红外的次数没有多大的用处,红外中断多用于触发开关,比如后面加入摄像头的时候,当每次触发红外的时候,就打开摄像头,拍下当时的照片,并上传ONENET,以达到监控的目的自动控制系统能够按照人的设计,在人不参与的情况下完成一定的任务。其关键就在于反馈的引入,反馈实际上是把系统的输出或者状态,加到系统的输入端与系统的输入共同作用于系统。系统的输出状态实际上是各种物理量,他们有的是电压,有的是流量、速度等。这些量往往与系统的输入量性质不同,并且取值的范围也不一样。所以不能与输入直接合并使用,需要测量并转化。感应器正是起这个作用,它就像是控制系统的眼睛和皮肤,感知控制系统中的各种变化,配合系统的其他部分共同完成控制任务。
人类为了从外界获得信息,必须借助于感觉器官。但是人的感觉器官并不是万能的,要想获得更为丰富的信息,进一步研究自然现象和制造劳动工具,人的感官显得很是不够了。作为一种代替人的感官的工具,感应器的历史比近代科学的出现还要古老。天平作为测重的工具在古埃及就开始使用了,一直沿用到现代。利用液体膨胀特性的温度测量在十六世纪就已经出现。以电学的基本原理为基础的感应器是在近代电磁学发展的基础上产生的,但是随着真空管和半导体等有源元件的可靠性的提高,这种类型的感应器得到了飞速发展,谈到感应器大都指有电信号输出的装置。
应用
红外智能节电开关是一种高科技产品,它的性能稳定,真正做到了既节能又环保,可以说是声光控产品的完美替代产品。它是通过人体辐射、能自动快速开启各种灯具、防盗报警器、自动门等各种设备。特别适用于中、高级宾馆、公寓、企事业单位、商场、过道、走廊等。触发方式为一次触发及连续触发。
测到人体红外光谱的变化,自动接通负载,人不离开感应范围,将持续接通;人离开后,延时自动关闭负载。人到灯亮,人离灯熄,亲切方便,安全节能,更显示出人性化关怀。红外智能节电开关由于触发的时候不需要人发出任何声音,而是人走过时身体向外界散发红外热量最终控制灯具的开启,当人离开后,经过一定时间的延时,自动熄灭。因为不同于声光控灯,不需要声音和开关控制,从而避免了声控噪音的侵扰,同时因为它是感应人体热量控制开关,所以避免了无效电能的损耗,达到节能效果。
现在的公共场所照明(比如公共走廊及楼梯间)应用最多的还是几年前出现的声光控延时灯具和开关。这种灯具和开关的出现,实现了人来灯亮,人走灯灭,已成为公共场所照明开关的主流产品。当然,这种产品在某种程度上说确实实现了节能的目的,但同时也给人们的生存环境造成了一定的破坏。由于产品本身性能的限制,这种声光控灯具和开关自动控制的实现需要(超过60分贝)声音的配合,这就给大众需要的安静环境造成一定的噪声污染。 随着社会的发展和人们对生态环境的重视,这种声光控灯具和开关已慢慢不能满足人们的需要,这就要求更加节能和环保的自动照明控制产品的出现,以满足人们对高质量生活的需求。 红外智能节电开关是以成熟的红外感应技术为平台,加入更多的高新技术元素而形成的一种具有广阔市场前景的高科技产品,它的出现弥补了声光控技术的缺陷,它的自动控制的实现不需要声音和其他会给环境造成影响的条件的配合,而是人走过时身体向外界散发红外热量最终实现它的自动控制功能。 同时,由于它融入了更多更先进的高科技元素,更节能,更环保。
人体红外模块非常简单,就是普通的三针(VCC,GND,DATA),数据为高、低电平,也就是只有两种结果:高电平为有活动人体被检测到,低电平为没有检测到活动人体。
需要注意的是模块上有几个可以设置的地方:
一、触发方式:
L不可重复,H可重复。可跳线选择,默认为H。
A不可重复触发方式:即感应输出高电平后,延时时间一结束,输出将自动从高电平变为低电平。
B可重复触发方式: 即感应输出高电平后,在延时时间段内,如果有人体在其感应范围内活动,其输出将一直保持高电平,直到人离开后才延时将高电平变为低电平(感应模块检测到人体的每一次活动后会自动顺延一个延时时间段,并且以最后一次活动的时间为延时时间的起始点)。
同时使用上定时器 跟 外中断 的红外程序,只有解码程序。而且该方式,只能解析 使用不同时间长度代表数据“0”、“1” 的波形(如数据‘1’的时间长度 2倍于数据‘0’的时间)。
解析原理:外部中断接 红外输入,当有 红外信号的时候,该引脚会有波形输入(N多下降沿),触发外部中断,通过记录 每2次中断的时间间隔,可以判断此段时间对应的数据(0/1)。一般“数据”长度为32位数据
注意点:
①初次产生外中断的时候,并无 时间记录,不需要进行时间判断;
②第二次中断与第一次中断 之间 的时间,是 红外的引导码,该时间一般多倍于数据时间(一般为ms级时间);
③第三次中断与第二次中断的时间,即为 第一个数据 的时间;
④第34次中断与第33次中断的时间间隔,即为 第32个数据的时间;
⑤后面 可能存在 停止位,是否存在,由遥控器决定;不过,一般都直接忽略该位,除非该位是由自己制作的遥控器 发出 的校验位;
⑥后面 可能存在 连发码,是否存在,由遥控器决定;
另外:一般红外数据的每个字节都是LSB在前,MSB在后的( 低位先发,高位后发)
软件要处理以下情况:
①干扰的处理,有些红外接收头不仅仅对38KHz频率光有反应,可能对人体红外、日光灯红外一样有反应,那就存在干扰。如果它只产生一次干扰,就会使系统卡在引导码接收阶段;
②引导码时间过短、过长 的处理;
③接收数据位数不足的处理;
④完成32位数据接收后,处理接收烂尾:后面不会有中断(如果需接收停止位、连发码,就增加对应数据长度),需要停止计时。
⑤进行数据校对,一般第一字节跟第二字节互为反码,第三字节跟第四字节互为反码,而且第一字节 代表 一个地址、一个密码,只有地址、密码正确,才能算合法的 *** 作。
以上就是关于hc-sr501io口发送的是什么全部的内容,包括:hc-sr501io口发送的是什么、单片机控制红外遥控编码解码中定时器和外部中断的作用是什么红外遥控编码解码的大致步骤是什么、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)