| 红外(IR)传感器通常用于测量距离,但它们也可用于检测物体。通过将几个红外传感器连接到Arduino开发板,您可以制作一个入侵警报器。 
 简介 红外(IR)传感器通常用于估计物体的距离,但您也可以使用它们来检测物体的存在。红外传感器由红外发射器和红外接收器组成。发射器输出红外辐射脉冲波,同时接收器检测到任何反射。如果接收器确实检测到反射,则意味着在传感器前方有一定距离的物体。如果没有反射,那么就没有物体。 
 我们在这个项目中使用的红外传感器是一个尖形的红外测距仪。这些传感器具有小型线性电荷耦合器件(CCD)阵列,可检测IR辐射返回传感器的角度。如下图所示,传感器将红外脉冲发射到场中,当传感器前面有物体时,脉冲以物体与传感器的距离成比例的角度反射回传感器。传感器的接收器检测并输出角度,通过使用此值可以计算出距离。 
  
 通过将一对红外传感器连接到Arduino开发板,我们可以制作出一款简易的入侵报警系统。我们将传感器连接到门侧柱,通过正确安装传感器,我们可以检测到是否有人通过门。当有人通过时,IR传感器的输出将发生变化,我们将通过使用Arduino连续读取IR传感器的输出来检测此变化。在本篇文章中,我们知道当IR传感器的输出值超过400时,物体正在通过门。当发生这种情况时,Arduino会将警报设置为ON。要复位警报,用户可以按下按钮。 
 需要的硬件 ●    2个红外传感器 ●    Arduino Mega2560开发板 ●    蜂鸣器 ●    按钮 ●    470欧电阻 ●    NPN晶体管 ●    连接导线 
 接线图 本篇文章的电路如下图所示。两个IR传感器的输出连接到A0和A1。另外两根导线连接到5V和GND。 12V蜂鸣器通过晶体管连接到引脚3,用于关闭警报OFF的按钮连接到引脚4。 
  
 下面的照片显示了我们如何将传感器粘贴到门侧柱进行此实验。当然,您可以采用不同的方式安装传感器,以实现更稳定的安装。 
  
 设置 1.    将Arduino开发板的5V和GND引脚连接到传感器的+ 5V和接地端子。您也可以从外部为它们供电。 2.    将传感器输出端子连接到Arduino的A0和A1引脚。 3.    通过1K电阻将Arduino引脚3连接到晶体管的基极。 4.    将12V连接到晶体管的集电极上。 5.    将12V蜂鸣器的正极连接到发射极,负极连接到地。 6.    通过按钮将Arduino引脚4连接到5V。最好将一个小电阻连接到一侧,以避免过大的电流流动。 7.    使用USB线连接Arduino,然后使用Arduino IDE软件将程序上传到Arduino开发板。 8.    使用电源、电池或USB电缆向Arduino开发板供电。
 
 代码 复制代码const int buzzer=3;     // pin 3 is the buzzer output
const int pushbutton=4; // pin 4 is the pushbutton input
void setup()
{
  pinMode(buzzer,OUTPUT);    //configure pin 4 as OUTPUT
  pinMode(pushbutton,INPUT); //configure pin 4 as INPUT
}
void loop()
{
  int sensor1_value=analogRead(A0);   //read the output of both sensors and compare to the threshold value
  int sensor2_value=analogRead(A1);
  if (sensor1_value>400||sensor2_value>400)
  {
    while(true)
    {
      digitalWrite(buzzer,HIGH);        //sets the alarm ON
      if(digitalRead(pushbutton)==HIGH)
      break;
    }
  } 
  else
  digitalWrite(buzzer,LOW); //turn off alarm 
}
 |