Arduino で PIR モーションセンサーを利用する
ここでは Arduino で PIR センサーを利用する方法を示します。
PIR (Passive Infrared) センサーで人の動きを検出し、モーションを検出した場合に LED を点滅させます。
今回使用したセンサーは PIR Motion Sensor (JST) (Sparkfun ID: SEN-13285) です。
このセンサーは電源投入後約 2 秒ほど周囲の状況のスナップショットを取得して、その後赤外線の動きによって何かの動作を検出したときに、 アラームピンを LOW にセットします。
アラームピンはオープンコレクタですので、プルアップ抵抗が必要です。 Arduino にはビルトインのプルアップ抵抗があり、ピンの設定時に INPUT_PULLUP を指定すれば、それを利用することが可能です。
動作電圧は 5V から 12V。ワイヤーは赤がパワー、白がグラウンド、黒がアラームです。
LED の点灯について不安がある場合は、「LED を点灯させる」をみてください。
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 );
}
}
}
pinMode で PIR モーションセンサーからの入力ピンは INPUT_PULLUP として、 プルアップしていることに注意してください。
以上、ここでは PIR モーションセンサーを利用して、動作を検出した際に LED を点滅させる例を紹介しました。