【发布时间】: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