[Arduinoのすすめ][ArduinoConf][ArduinoMonitor][iArduino]

パナソニックのNaPiOnモーションセンサ(デジタル出力)を使う

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);
   }
}

Arduinoのすすめ
Copyright (c) 2013, Noriaki Mitsunaga