【Arduino实验08 红外传感器】

目录

一、实验目的

二、实验设备与环境

三、实验重点

四、实验难点

五、实验内容

5.1实验任务

5.2实验原理

5.3实验内容

5.4实验结果

5.5思考题


一、实验目的

        1熟悉红外传感器原理与功能;

        2熟悉红外传感器的使用;

        3编写红外感应控制程序。

二、实验设备与环境

        Arduino UNO套件、Arduino IDE、计算机、人体红外传感器、LED灯、220欧电阻等

三、实验重点

        (1)实验电路连接;(2)控制程序代码编写;(3)程序功能调试

四、实验难点

        (1)程序代码编写、调试

五、实验内容

5.1实验任务

        任务描述:红外传感器的使用;人体红外感应控制

5.2实验原理

        1.红外传感器

        人体都有恒定的体温,一般在36.5度,所以会发出特定波长10um左右的红外线,被动式红外探头就是靠探测人体发射的10um左右的红外线而进行工作。被动红外探头,其传感器包含两个互相串联或并联的热释电元。而且制成的两个电极化方向正好相反,环境背景辐射对两个热释元件几乎具有相同的作用,使其产生释电效应相互抵消,于是探测器无信号输出。一旦人侵入探测区域内,在接收到人体红外辐射温度变化时,热释元件失去电荷平衡,向外释放电荷,后续电路检测到并处理后产生报警信号。

        2.继电器

        继电器(英文名称:relay)是一种电控制器件,是当输入量(激励量)的变化达到规定要求时,在电气输出电路中使被控量发生预定阶跃变化的一种电器。它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。通常它是用小电流去控制大电流运作的一种“自动开关”,故在电路中起着自动调节、安全保护、转换电路等作用,广泛应用于遥控、遥测、通讯、自动控制、机电一体化及电力电子设备中,是最重要的控制元件之一。

5.3实验内容

        1.红外传感器使用

        步骤1:连接电路

        步骤2:程序流程图

        步骤3:程序源代码

const int sensorPin = A0;
int sensorValue = 0;
void setup() {
  Serial.begin(9600);
  pinMode(sensorPin,INPUT);
}
void loop() {
  sensorValue = analogRead(sensorPin);
  Serial.print("sensorValue =:");
  Serial.println(sensorValue);
  delay(500);
}

        步骤 4:程序上传与功能调试

        步骤 5:记录红外感应距离与输出数据,确定数值与距离的的关系

        2.人体红外感应控制

        步骤 1:连接电路

        步骤 2:程序流程图

        步骤 3:程序源代码

const int sensorPin = A0; 
const int ledPin = 8; 
int sensorValue = 0; 
void setup(){
    Serial.begin(9600);
    pinMode(sensorPin,INPUT);
    pinMode(ledPin,OUTPUT);
    digitalWrite(ledPin,LOW);
}
void loop() {
    sensorValue = analogRead(sensorPin);
    if (sensorValue > 250) { 
        digitalWrite(ledPin,HIGH);
        Serial.println(“Who are you here ?!”)
    }
    else {
        dititalWrite(ledPin,LOW);
        Serial.println(“Nobody here!”)
    }
    delay(500);
} 

        步骤 4:程序检测与功能调试

        步骤 5:调整参数,使感应距离接近约 1.5 米时 LED 灯亮,修正判断条件的值

        3.人体红外感应灯开关

        步骤 1:连接电路

        注:电路用 LED 灯替代照明灯,通过继电器实现对照明灯的控制

        步骤 2:程序流程图

        步骤 3:程序源代码

const int sensorPin = A0;
const int JPin=7;
const int ledPin=7;
int sensorValue=0;
void setup() {
  Serial.begin(9600);
  pinMode(sensorPin,INPUT);
  pinMode(JPin,OUTPUT);
  pinMode(ledPin,OUTPUT);
  digitalWrite(JPin,LOW);
  digitalWrite(ledPin,LOW); 
}
void loop() {
  sensorValue=analogRead(sensorPin);
  if(sensorValue<800&&sensorValue>700){
    digitalWrite(JPin,LOW);
    digitalWrite(ledPin,LOW);
    Serial.println("Who are you here?!");
  }
  else{
    digitalWrite(JPin,HIGH);
    digitalWrite(ledPin,HIGH);
    Serial.println("Nobody here!");
  }
  delay(500);
}

        步骤 4:程序检测与功能调试

5.4实验结果

        结论:实验1的实验结果为红外感应距离近时,数值大,红外感应距离远时,数值小。实验2的实验结果为调整参数,感应距离接近约 1.5 米时 LED 灯亮。实验3的实验结果为人体红外感应靠近时灯亮,远离时灯灭。

        反思:首先,通过本次实验,我熟悉了红外传感器原理与功能,了解熟悉红外传感器的使用并能够编写红外感应控制程序。其次,实验1的实验结果为红外感应距离近时,数值大,红外感应距离远时,数值小。实验2的实验结果为调整参数,感应距离接近约 1.5 米时 LED 灯亮。实验3的实验结果为人体红外感应靠近时灯亮,远离时灯灭。最后,希望我继续学习,,再接再厉。

        作品:

5.5思考题

1.怎样红外线传感器来判断人的行走方向?你怎样编程实现?

人体红外传感器是一种热释电传感器,通过检测人体释放的红外辐射来判断是否有人存在。常用的人体红外传感器原理是将释放的电荷经过放大器转换为电压输出。当有人靠近传感器时,输出高电压;当没有人靠近时,输出低电压。这种传感器常用于生活报警等应用。[1] 在Arduino中使用人体红外传感器,可以通过读取传感器引脚的电平来判断人体的存在。当手靠近传感器时,引脚输出高电平(1),表示有人存在;当人离开时,引脚输出低电平(0),表示没有人存在。可以通过串口打印来观察传感器的输出情况。[2] 此外,还可以通过编写代码来判断人体是否离开。可以设置一个变量c来记录人体的状态,当检测到有人存在时,将c设置为1,并延时一段时间(例如10秒),然后再次检测传感器的输出。如果此时传感器输出低电平(0),则表示人已经离开,可以通过串口打印来提示人体离开的信息。[2] 如果需要在检测到人体存在时触发警报,可以通过连接蜂鸣器来实现。可以编写代码,在检测到有人存在时,调用一个警报函数,该函数会使蜂鸣器发出警报声。[3] 总结来说,通过Arduino和人体红外传感器的组合,可以实现对人体的检测和报警功能。可以根据传感器的输出电平来判断人体的存在与否,并通过串口打印或触发蜂鸣器来进行相应的提示或警报。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张小花-Soleil

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值