NaPiOnシリーズは、人や動物などの動きを検出するセンサです。 検出距離と範囲、感度の違いで、標準検出タイプ(最大5m, 100度×82度)、微動検出タイプ(最大2m, 91度×91度)、スポット検出タイプ(最大5m, 38度×22度)、10m検出タイプ(最大10m, 110度×93度)があります。ここではデジタル出力タイプを使います。
物体は温度に応じて赤外線を出しています。 NaPiOnを含む焦電型赤外線センサは、その赤外線の変化を検出します。 壁や家具、床などよりも、人や動物などの体温(表面温度)が高いので、センサの検出範囲に 人や動物が入ったり動くと赤外線が変化します。それをセンサが検出しています。 そのため、人や動物以外でも周囲より高温のものが動いたら検出しますし、 人や動物の動きが小さかったり、 冬の寒い外から入ってきたときなどは検出しないことがあります。
デジタル出力タイプのNaPiOnの電源電圧範囲は3[V]〜6[V]ですので、5[V], 3.3[V]動作のArduinoで直接使えます。 動きを検出すると出力ピンがHになります。不検出時はオープンになっているので、プルダウン抵抗(100kΩ)で不検出時にLになるようにします。 以下では 5[V]動作の Arduinoを使い、Vddピンを 5[V]へ、GNDピンを GNDへ、出力ピンをD2(2番)へ、つないでいます。出力ピンは100kΩの抵抗を通してGNDへつなぎます。
以下のスケッチは動きを検出するとArduinoのオンボードLEDを1秒間点灯します。
const int PIRpin = 2; const int LEDpin = 13; void setup() { pinMode(LEDpin, OUTPUT); } void loop() { if (digitalRead(PIRpin) == HIGH) { digitalWrite(LEDpin, HIGH); delay(1000); } else { digitalWrite(LEDpin, LOW); } }