2015-02-05 64 views
0

月前,我在DX買了PIR傳感器(http://www.dx.com/p/ir-infrared-motion-detection-sensor-module-dc-5v-20v-139624#.VNOiqDVXa00PIR傳感器不能正常工作

這是HC-SR501模型。

我已經連接在正到5v,如在傳感器的銷說,接地到GND,並且信號管腳2

我使用以下代碼

byte ledPin = 13; 
byte motionPin = 2; 
byte senseMotion = 0; 

void setup(){ 
    pinMode(ledPin, OUTPUT); 
    pinMode(motionPin, INPUT); 
    Serial.begin(9600); 
    while (!Serial); 
    Serial.println("Serial inicializado"); 
} 

void loop(){ 
    senseMotion = digitalRead(motionPin); 
    if (senseMotion == HIGH) { 
     digitalWrite(ledPin, HIGH); 
     Serial.println("Motion detected"); 
    } else {      
     digitalWrite(ledPin, LOW); 
    } 
} 

該程序檢測如果有運動,然後打開內部arduino led(引腳13)

但是,當我將它下載到Arduino UNO時,內部led arduino每次閃爍一次,間隔爲1-2秒。我將我的手放在PIR範圍內,但沒有迴應。

我已經讀過,當程序下載到Arduino時,由於它正在校準,所以LED閃爍是正常的,但在我的情況下,LED不會停止閃爍,並且它不響應任何動作。

可能是什麼問題?

謝謝

+0

你在串口監視器上得到任何輸出嗎? – augustzf 2015-02-05 21:26:07

+0

是的,當LED開啓時,我可以看到:在串行監視器中檢測到「Motion detected」動作 – RdlP 2015-02-05 21:45:21

回答

0

傳感器壞了。我從同一頁面購買了另一個PIR傳感器,並且錯誤仍然存​​在,但後來我在其他商店購買了其他傳感器,現在使用相同的代碼和連接,它可以正常工作。