Arduino PIR传感器


当前第2页 返回上一页

草图

在计算机上打开Arduino IDE软件。使用Arduino语言进行编码控制你的电路。通过单击“New”打开一个新的草图文件。

Arduino代码

#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);
      }
   }
}

代码说明

PIR传感器有三个端子:Vcc,OUT和GND。按如下所示连接传感器: 

  • 将+Vcc连接到Arduino板上的+5v。
  • 将OUT连接到Arduino板上的数字引脚2。
  • 将GND连接到Arduino上的GND。

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

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

结果

如果检测到运动,你将在串口上看到一条消息,并在运动停止时看到另一条消息。



标签:Arduino

返回前面的内容

相关阅读 >>

Arduino 键盘消息

Arduino 随机数

Arduino 网络通信

Arduino 伺服电机

Arduino io函数

Arduino 鼠标按钮控制

Arduino 循环

Arduino 超声波传感器

Arduino 内部集成电路

Arduino 读取模拟电压

更多相关阅读请进入《Arduino》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...