基于Arduino UNO的楼道人体感应灯
前言
生活中经常看到一些自动化设备,例如感应水龙头、自动开关门等。这些设备都通过传感器来检测来环境进而实现的,当环境要求满足是时候,便启动执行程序开始工作。
提示:以下是本篇文章正文内容,下面案例可供参考
一、认识人体热释电红外传感器
人体热释电红外传感器是一种对人体辐射出的红外线敏感的传感器。当无人在其检测范围内运动时,模块保持输出低电平;当有人在其检测范围内运动时,模块输出一个高电平脉冲信号。
二、模块连接图及程序
1.setup()初始化程序
代码如下(示例):
#define por 2
#define jd 3
void setup(){
Serial.begin(9600); //配置串口波特率
pinMode(PIRpin,INPUT); //人体热释电红外传感器端口
pinMode(REALYpin,OUTPUT); //继电器连接小灯端口
}
2.loop()主函数
代码如下(示例):
void loop(){
while(!digitalRead(PIRpin)){} //默认为无人通过
Serial.println("turn on"); //向端口发送 turn on
digitalWrite(REALYpin,HIGH); //当有人通过时,发送高电平
delay(10000); //延时一段时间
digitalWrite(REALYpin,LOW); //人走过后,发送低电平
Serial.println("turn off"); //向端口发送turn off
}
本例没有连接小灯,可通过观察串口来观察人体热释电红外传感器的工作情况;当串口出现 turn on 时,说明传感器开始工作;当串口出现 turn off时,说明传感器没有检测到人体。
总结
本次小项目用到了继电器和人体热释电红外传感器,通过Arduino UNO的2、3端口来控制。这样便完成了一个获取外部数据,再根据外部数据作出不同动作的小项目。