首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止PIR传感器的初始高输出

如何防止PIR传感器的初始高输出
EN

Stack Overflow用户
提问于 2020-11-19 15:34:44
回答 1查看 44关注 0票数 2

我正在arduino上测试HC-SR501 PIR传感器。我在网上尝试了一个简单的代码教程

代码语言:javascript
复制
int buzz = 13;
int pir = 2;

int value = 0;
int pirState = LOW;

void setup() {
  pinMode(buzz, OUTPUT);
  pinMode(pir, INPUT);
  Serial.begin(9600);
}

void loop() {
  delay(5000);
  value = digitalRead(pir);
  if (value == HIGH) {
    digitalWrite(buzz, HIGH);
    if (pirState == LOW) {
      Serial.println("Motion Detected!");
      pirState = HIGH;
    }
  } else {
    digitalWrite(buzz, LOW);
    if (pirState == HIGH){
      Serial.println("Motion Ended!");
      pirState = LOW;
    }
  }
}

这是可行的,但是,我正在尝试将其初始化为低输出。当我第一次打开电路板时,它最初会给我一个高输出,所以蜂鸣器会立即激活,即使我把它放在远离自己的地方。串行打印输出检测到的Motion。我试着添加一个延迟,但是之后它仍然给出了很高的输出。有人知道怎么解决这个问题吗?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2020-11-19 15:42:30

pinMode将引脚设置为输出,但默认状态为低电平,因此应该没有问题。

但是,针脚13连接到板载LED。并且板载LED也被引导加载程序用来在复位后通知它的活动。你应该检查除了13个以外的其他引脚。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64907220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档