人体红外传感器:

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