3-3 红外人体感应模块(智能应用篇)
- 3-3 红外人体感应模块
- 介绍
- 红外人体感应传感器模块(HC-SR501原理)
- 电路连接
- 示例程序
- 效果演示
- 人体感应传感器模块调节控制
- (1)调节感应距离
- (2)调节感应延时
- (3)调节触发方式
- (3.1)不可重复触发方式
- (3.2)可重复触发方式
- (3.3)两种触发方式比较
- 总结
3-3 红外人体感应模块
介绍
我们可以感知arduino存在
Arduino 需要传感器才能感知外接变化
使用红外人体感应传感器模块 感知我们的到来以及离开
红外线(人眼看不到)
我们身体是有温度的,每时每刻向外散发热量,这些热量很多是以红外线的方式向外释放的
下方是以可视化的方式显示我们的热量如何释放的
使用HC-SR501可以感应到人体释放的红外线,感应到后会以数字信号的方式发送给arduino
Arduino接收到此信号就能感应到身体了
红外人体感应传感器模块(HC-SR501原理)
引脚说明
三个引脚:接地、电源正极、信号输出
传感器的罩子(上方为感应区域)
右侧详细红外感应区域(当人出现在此区域时会感应到,此感应区域可以调节后续讲)
注意此传感器感应的是区域内的红外状况变化
当有人进入时红外区域状况发生了变化就感应到有人进入了
当人在红外感应区域不动时,红外区域状况无变化,就感应不到了
只能感应到人的移动在感应区域内(人离开也能感应到,但不动时,不变化感应不到了)
当感应到区域内红外状况变化时,out引脚输出高电平(变化可以是高或者低,只要变化就能感知)
无变化就输出低电平
基本参数
高电平输出3.3V,低电平输出0
电路连接
红色接+5v
黑色接地GND
黄色直接输出信号接7号引脚
示例程序
http://www.taichi-maker.com/homepage/arduino-tutorial-index/intelligent-index/intelligent-3/
/*
* 红外人体感应模块测试程序
*
*
* www.taichi-maker.com
*
* ARDUINO - IR SENSOR
* +5V - VCC
* 7 - OUT
* GND - GND
*/
/*
* PIR sensor tester
*/
int irSensorPin = 7 ; // 连接红外传感器引脚
bool irSensorOutput; // 红外传感器输出信号
void setup() {
pinMode(irSensorPin, INPUT);
Serial.begin(9600);
Serial.println("Welcome to Taichi-Maker's IR Motion Sensor tutorial.");
}
void loop(){
irSensorOutput = digitalRead(irSensorPin); // 读取红外传感器输出
if (irSensorOutput == HIGH) { // 如果红外传感器输出高电平
Serial.println("IR Motion Sensor OUTPUT: HIGH.");
} else {
Serial.println("IR Motion Sensor OUTPUT: LOW.");
}
delay(100);
}
效果演示
输出为低电平,在其感应区域无红外状况变化
将手放到感应区域时,红外感应到变化,输出高电平,同时会延迟一段时间
人体感应传感器模块调节控制
进行自定义调节控制
在背面如下,有两个黄色的旋钮(可以使用十字锥旋转,旋钮相当于电位器)
可以通过调节电位器调节传感器的感应距离以及延时
(1)调节感应距离
调节到最大是7米,最小是3米
(2)调节感应延时
最大延时200秒,最小8秒
当感应到红外状况变化时,会输出高电平,保持高电平的输出状态延时8~200秒
(3)调节触发方式
跳线区域在生产时印刷字母L或者H,用来区分触发方式的不同
有些传感器不配备跳线,那么此时默认触发方式为可重复触发方式
(3.1)不可重复触发方式
不可重复触发方式:
传感器感应到区域内有红外状况变化,输出高电平,输出高电平会保持输出的高电平延时一段时间,在延时过程中不再检查区域内有无红外状态改变,当延时结束,输出信号由高电平自动变为低电平,变为低电平后,会再次自动检查红外状况变化
(3.2)可重复触发方式
(3.3)两种触发方式比较
跳线区域在生产时印刷字母L或者H,用来区分触发方式的不同
有些传感器不配备跳线,那么此时默认触发方式为可重复触发方式
总结
遇到其他的传感器模块如何使用(可以从商家获取相关资料和程序,或者从互联网来查找相应的传感器模块和资料)
太极创客的传感器资料比较少,只有5个好像
http://www.taichi-maker.com/homepage/reference-index/arduino-sensor-index/