目录

Arduino - PIR传感器( PIR Sensor)

PIR传感器可让您感知运动。 它们用于检测人是否已移入或移出传感器的范围。 它们常见于家庭或企业使用的家用电器和小工具中。 它们通常被称为PIR,“被动红外”,“热电”或“IR运动”传感器。

以下是PIR传感器的优点 -

  • 体积小
  • Wide lens range
  • Easy to interface
  • Inexpensive
  • Low-power
  • 使用方便
  • Do not wear out
PIR传感器

PIR由热释电传感器制成,圆形金属罐中心有一个矩形晶体,可以检测红外辐射水平。 一切都发出低水平的辐射,更热的东西是,辐射越多。 运动检测器中的传感器分成两半。 这是为了检测运动(变化)而不是平均IR水平。 连接两半使它们相互抵消。 如果有一半看到的IR辐射比另一半更多或更少,则输出会高或低。

PIR

PIR具有可调节的设置,并在3针接地/输出/电源垫中安装了接头。

PIR可调节设置

对于许多需要检测人员何时离开或进入该区域的基本项目或产品,PIR传感器非常棒。 请注意,PIR不会告诉您周围的人数或他们与传感器的接近程度。 镜头通常固定在一定距离的一定扫描范围内,有时它们被房子里的宠物引起。

组件的要求 (Components Required)

您将需要以下组件 -

  • 1 × Breadboard
  • 1×Arduino Uno R3
  • 1×PIR传感器(MQ3)

过程 (Procedure)

按照电路图进行连接,如下图所示。

PIR传感器电路连接

草图 (Sketch)

在您的计算机上打开Arduino IDE软件。 用Arduino语言编码将控制你的电路。 单击“新建”打开新的草图文件。

草图

Arduino代码 (Arduino Code)

#define pirPin 2
int calibrationTime = 30;
long unsigned int lowIn;
long unsigned int pause = 5000;
boolean lockLow = true;
boolean takeLowTime;
int PIRValue = 0;
void setup() {
   Serial.begin(9600);
   pinMode(pirPin, INPUT);
}
void loop() {
   PIRSensor();
}
void PIRSensor() {
   if(digitalRead(pirPin) == HIGH) {
      if(lockLow) {
         PIRValue = 1;
         lockLow = false;
         Serial.println("Motion detected.");
         delay(50);
      }
      takeLowTime = true;
   }
   if(digitalRead(pirPin) == LOW) {
      if(takeLowTime){
         lowIn = millis();takeLowTime = false;
      }
      if(!lockLow && millis() - lowIn > pause) {
         PIRValue = 0;
         lockLow = true;
         Serial.println("Motion ended.");
         delay(50);
      }
   }
}

Code to Note

PIR传感器有三个端子--V cc ,OUT和GND。 按如下方式连接传感器 -

  • 在Arduino板上连接+ V cc至+ 5v。
  • 将OUT连接到Arduino板上的数字引脚2。
  • 在Arduino上连接GND和GND。

您可以通过位于传感器板底部的两个可变电阻来调整传感器灵敏度和延迟时间。

延迟时间调整

一旦传感器检测到任何动作,Arduino将通过串行端口发送消息,表示检测到动作。 PIR感应运动将延迟一定时间以检查是否存在新动作。 如果没有检测到动作,Arduino将发送一条新消息,说明动作已经结束。

结果 (Result)

如果检测到动作,您将在串行端口上看到一条消息,当动作停止时,您将看到另一条消息。

↑回到顶部↑
WIKI教程 @2018