「Arduinoの基礎 - PIRモーションセンサ」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「== 概要 == ここでは、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
としてプルアップする。
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 );
}
}
}