天天看點

Arduino 的紅外傳感器(PIR)的簡單使用

人體紅外傳感器

人體紅外傳感器子產品是十分簡單,隻有三個引腳需要你連接配接

Arduino 的紅外傳感器(PIR)的簡單使用
Arduino 的紅外傳感器(PIR)的簡單使用

從左到右依次為地線(接GND);輸出引腳(接數字引腳);和VCC(接5V)。

然後是引腳正對面有兩個旋鈕可以調節傳感器的靈敏度和接收距離。(該人體紅外線傳感器能接收到運動的人或動物,但是我的傳感器可能舊了,靈敏度有所下降,并不能連續切換有人和沒人的狀态)

連線方式就是直接将左邊的連接配接到GND,中間的連接配接到數字引腳其中一個,右邊的連接配接5V就可以。

然後就是Arduino的編碼

int ledpin = 2;//我這裡接2引腳,可以接别的引腳

void setup()
{
  pinMode(ledpin, INPUT);//初始化
  Serial.begin(9600);  // 打開序列槽,設定波特率為9600 bps
}

void loop()//Arduino的循環語句
{
  int value = digitalRead(ledpin); //定義傳感器檢測到的值為value
  if(value==HIGH)//如果它的值為高電平,即檢測到有人通過
    {
      Serial.println("Someone!");//輸出有人
    }
    else
    {
      Serial.println("Nobody");//輸出沒人
    }
  delay(1000);    
} 
           

關于最後這個延遲,不知道是我傳感器舊了還是其他原因。我設定的延遲不能太小,否則不管又沒人經過,電平會在0或1之前毫無規律的跳動。

最後可以在此基礎上加入别的元素,如加入一個發光二極管,當電平為1時二極管發光,電平為0時二極管不發光。

if(value==HIGH)
{
digitalWrite(LED,HIGH);
delay(500);
}
else
{
digitalWrite(LED,LOW);
delay(500);
}
           

當然這之前要在開始定義你的二極管的引腳和在void setup()中初始化。

也可以吧發光二極管替換成蜂鳴器。相似的效果和程式。

繼續閱讀