「Arduinoの基礎 - PIRモーションセンサ」の版間の差分

提供:MochiuWiki - SUSE, Electronic Circuit, PCB
ナビゲーションに移動 検索に移動
(ページの作成:「== 概要 == ここでは、ArduinoでPIR(Passive Infrared)センサを使用する方法を記載する。<br> <br> 実際に、PIRセンサで人の動きを検出し…」)
(相違点なし)

2020年7月29日 (水) 16:36時点における版

概要

ここでは、ArduinoでPIR(Passive Infrared)センサを使用する方法を記載する。

実際に、PIRセンサで人の動きを検出して、モーションを検出した場合にLEDを点滅させる。

使用するセンサは、PIR Motion Sensor(JST)(Sparkfun ID : SEN-13285)である。
このセンサは、電源投入後、約2秒ほど周囲の状況のスナップショットを取得した後、赤外線の動きによって何かの動作を検出した時に、アラームピンをLowにセットする。
このセンサの動作電圧は5[V]〜12[V]まで可能で、ピン配置は、赤がパワー、白がグラウンド、黒がアラームである。

アラームピンはオープンコレクタなので、プルアップ抵抗が必要である。
Arduinoにはビルトインのプルアップ抵抗を持っており、ピンの設定時にINPUT_PULLUPを指定すれば、それを利用することができる。
具体的には、pinMode関数を使用して、PIRモーションセンサからの入力ピンはINPUT_PULLUPとしてプルアップする。

Arduino PIR 1.png


 const int PIN_PIR_SIG = 5;
 const int PIN_LED = 10;
 
 void setup()
 {
    pinMode( PIN_PIR_SIG, INPUT_PULLUP );
    pinMode( PIN_LED, OUTPUT );
 }
 
 void loop()
 {
    int i = digitalRead( PIN_PIR_SIG );
    if( i == LOW )
    {
       for( int j = 0; j < 5; j++ )
       {
          digitalWrite( PIN_LED, HIGH );
          delay( 50 );
          digitalWrite( PIN_LED, LOW );
          delay( 50 );
       }
    }
 }