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

秋月電子の焦電型赤外線センサユニット(SE-10)を使う

秋月電子の焦電型赤外線センサユニット(SE-10)は、人や動物などの動きを検出するセンサです。 検出距離は約2[m]、範囲は約120度です。

物体は温度に応じて赤外線を出しています。 焦電型赤外線ユニットは、その赤外線の変化を検出します。 壁や家具、床などよりも、人や動物などの体温(表面温度)が高いので、センサの検出範囲に 人や動物が入ったり動くと赤外線が変化し、センサが検出します。 そのため、人や動物以外でも周囲より高温のものが動いたら検出しますし、 人や動物の動きが小さかったり、 冬の寒い外から入ってきたときなどは検出しないことがあります。

このセンサユニットの電源は5[V]〜12[V]ですので、5[V]動作のArduinoで使うのに向いています。 動きを検出するとALARM信号がLになります。オープンコレクタ出力なので、不検出時の電圧は プルアップ抵抗で決まります。基板から出ている電線の色は以下のようになっています:

番号電線の色名称備考
1赤/赤VDD5[V]〜12[V]
2茶/白GND(power shutdown) 
3黒/黒ALARMセンサ出力(オープンコレクタ)
以下では 5[V]動作の Arduinoを使い、1)赤を 5[V]へ、2)茶を GNDへ、3)黒をD2(2番)へ、つないでいます。D2は10kΩ程度の抵抗でプルアップ(5[V]へつなぐ)します。

注意

ロットにより電線の色が変わることがあります。

スケッチ

以下のスケッチは動きを検出するとArduinoのオンボードLEDを0.1秒間点灯します。 電源投入直後は動きがなくても検出します。 意外と広範囲で検出するようで、 センサを紙箱などで隠しても隠した隙間で検出してLEDが点灯することがありました。 検出範囲を絞りたいときには、NaPiOnの方がよいかもしれません。

const int LEDpin = 13;
const int PIRpin = 2;

void setup()
{
  pinMode(LEDpin, OUTPUT);
}

void loop()
{
  if (digitalRead(PIRpin) == LOW) {
    digitalWrite(LEDpin, HIGH);
    delay(100);
  } else
    digitalWrite(LEDpin, LOW);
}


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