首页 » 技术分享 » Arduino Uno 使用 人体红外传感器(HC_SR051)实现 人体感应灯

Arduino Uno 使用 人体红外传感器(HC_SR051)实现 人体感应灯

 

 

 

 

“登”,亮了.,

每当我游走在图书馆书架之间就会有这样的一个情景。

 

这次实验使用的模块是人体红外传感器(HC_SR051),配上Arduino Uno 实现人体感应灯的实现。

 

先看看这模块(点击查看大图)

 

实验效果

开始灯还没有亮,手伸过去LED灯就亮了。

模块自带延时,在人离开后,会有5秒的延时。

即使感应到有人,也要活动才能保持一直亮着,只要一停止不动5秒LED一样会关掉。

 

(不知道为什么我调节到最低还是有5秒,求大神指导)

(点击查看大图)

 

打开串口可以看到以下数据:

 

BOM表

Arduino Uno                                        *1

人体红外传感器(HC_SR051)      *1

跳线(公对母)若干

 

接线方式

Arduino Uno                   HC_SR051

5V                    <--->              VCC

A5                    <--->              OUT

GND                <--->              GND

PS:模块跳线使用可重复触发方式

         延时调节距离调节分别 以逆时针调到最小

 

开源程序

程序打包下载:https://u16460183.ctfile.com/fs/16460183-296053404

 

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)实现 人体感应灯,转载请注明来源!

0