紅外線動作感測器(Passive Infrared Sensor; PIR)
紅外線動作感測器 (PIR Motion Sensor) 是屬於被動式的紅外線裝置,感應器本身不會發射紅外線光束。可用來偵測人體運動、路口轉角的亮燈、警報、或機器人移動檢測。
以下使用Parallax 的 PIR 模組測試
模組的接腳圖,包含兩種模式(H、L),可接受+3.3V~+5V的電壓輸入,有一個輸出接腳(out)
Vdd : +3.3V ~ +5V
下圖是物體移動狀態(detection state)與感測輸出值sensor output)之間的變化
2.沒有任何物體被偵測到移動時,輸出為 LOW。
3.在 H 模式,當有物體被偵測到移動時,輸出為 HIGH,然後又回到 LOW。
4.在 L 模式,如果有物體不斷的移動,輸出就會變成 HIGH LOW 不停變換,而不是維持在 HIGH 喔。
實驗線路圖
以下程式偵測 PIR 是否有產生 high 的訊號(代表偵測到生物移動),若有則點亮 Netduino 控制板上的 LED
範例程式
using System;
using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;
using SecretLabs.NETMF.Hardware;
using SecretLabs.NETMF.Hardware.Netduino;
namespace PIR_test
{
public class Program
{
public static void Main()
{
// write your code here
OutputPort led = new OutputPort(Pins.ONBOARD_LED, false);
InputPort PIR = new InputPort(Pins.GPIO_PIN_D3, false, Port.ResistorMode.Disabled);
bool PIRState = false, preState = false;
while (true)
{
PIRState = PIR.Read(); //取得PIR讀取的值 H:偵測到物體移動 L:物體靜止
if (PIRState != preState)
{
led.Write(PIRState);
preState = PIRState;
Debug.Print(PIRState.ToString());
}
Thread.Sleep(100);
}
}
}
}
沒有留言:
張貼留言