人体红外传感器:
BOM表
Arduino Uno *1
人体红外传感器(HC_SR051) *1
跳线(公对母)若干
接线方式
Arduino Uno HC_SR051
5V <---> VCC
A5 <---> OUT
GND <---> GND
具体操作详情:
1、Arduino Uno开发版通过USB连接电脑,打开Arduino的文件LS_HCSR051.ino,上传烧录;烧录完成后断开USB连接,断电状态下进行后面的接线操作;
Arduino IDE下载安装参考链接:
http://www.yahboom.com/build.html?id=343&cid=53
Arduino IDE使用参考链接:
http://www.yahboom.com/build.html?id=345&cid=53
2、用杜邦线(公对母) 按上面接线方式连接好Arduino Uno和 HC_SR051人体红外传感器;(如果没有公对母线,可以用面包板做转接)
3、为了减少等待时间和干扰,逆时针调节传感器的延时和距离电位器到最小;(电位初始位置在中位)
4、接好线后,再用USB连接电脑和Arduino Uno;观察LED灯L状态;
有人,高电平,灯亮:
人离开,低电平,灯灭:
5、打开电脑上的Arduino IDE,查看实时状态;
没检测到人时,为0:
检测到人时,实时反馈数据:
参考代码:https://pan.baidu.com/s/1gQehAmBCYB3zEqQfpu_cmw
int PIR_sensor = A5; //指定PIR模拟端口 A5
int LED = 13; //指定LED端口 13
int val = 0; //存储获取到的PIR数值
void setup()
{
pinMode(PIR_sensor, INPUT); //设置PIR模拟端口为输入模式
pinMode(LED, OUTPUT); //设置端口2为输出模式
Serial.begin(9600); //设置串口波特率为9600
}
void loop()
{
val = analogRead(PIR_sensor); //读取A0口的电压值并赋值到val
Serial.println(val); //串口发送val值
if (val > 150)//判断PIR数值是否大于150,
{
digitalWrite(LED,HIGH); //大于表示感应到有人
}
else
{
digitalWrite(LED,LOW); //小于表示无感应到有人
}
}
教程参考链接:
Arduino Uno 使用 人体红外传感器(HC_SR051)实现 人体感应灯
https://blog.csdn.net/ling3ye/article/details/53764151
完整版HC-SR501人体感应模块
https://wenku.baidu.com/view/26ef5a9c49649b6648d747b2.html
Arduino 使用人体红外感应模块 HC-SR501
https://blog.csdn.net/weixin_37272286/article/details/78060337