【问题标题】:PIR Motion SensorPIR 运动传感器
【发布时间】:2020-10-17 06:27:11
【问题描述】:

我有 Arduino-UNO。我的代码如下。每当我运行程序时,PIR 传感器都会触发假高点。但是,当传感器和跳线固定在一点不动时,它的读数就完美了。

int led = 13;
int pin = 2;

int value = 0;
int pirState = LOW;

void setup() {
 pinMode(led, OUTPUT);
 pinMode(pin, INPUT);
 Serial.begin(9600);
}

void loop() {

  value = digitalRead(pin);

  if (value == HIGH) {
    digitalWrite(led, HIGH);

  if (pirState == LOW) {
    Serial.println("Motion Detected!");
    pirState = HIGH;
    }
  }else{
    digitalWrite(led, LOW);

if(pirState == HIGH){
  Serial.println("Motion Ended!");
  pirState = LOW;
  }
 }
}

这是我的电路:

【问题讨论】:

  • 除了给出的答案外,我建议始终将一个 100 Ω 电阻器与 LED 串联,以进一步限制从芯片输出获取的通过 LED 的电流。我想主要的风险是通过过热破坏芯片或 LED。

标签: arduino sensors arduino-uno arduino-ide


【解决方案1】:

听起来您在 Arduino 和传感器模块之间的接线中某处连接不良。

检查接线,或使用不同的电线,以确保接线在所有连接处都能正确接触。

【讨论】:

  • 我已经看到跳线给出了假高,但是为什么它在保持静止时仍然有效?
  • 更好的接触,因为握住电线时稍微弯曲一下。要么这样,要么只是拿着它们来解决问题,但在这种情况下,会发生其他事情。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多