前回は温湿度センサーの値をLCDディスプレイに表示してみました。
今回は人感センサーを使用してみましょう。
目次
人感センサーについて
以下に赤外線モーションセンサーの図を示します
製品説明
- 動作電圧: 5v-20v(DC)
- 静止電流: 65uA
- 自動トリガー: 生物体が検知範囲内に入ると、モジュールはハイレベル(3.3V)を出力します。生物体が検知範囲から離れると、ハイレベルをT時間保持した後、ローレベル(0V)を出力します。遅延時間TはポテンショメータR1で調整できます。
- ジャンパピンによるモード選択: 繰り返しトリガーモードまたは非繰り返しトリガーモードのいずれかを選択することができます。
- 非繰り返しトリガーモード (L): 生物体の検知後、モジュールはハイレベルを出力し、設定した遅延時間が経過するとローレベルを出力します。ハイレベル状態中は、モジュールは新しい検知を行いません。
- 繰り返しトリガーモード (H): Lモードと異なるのは、ハイレベル状態の間に生物体を検知し続けることができるという点です。ハイレベル状態終了後に遅延時間が経過すると、モジュールはローレベルを出力します。
- 感度調整時間: ハイレベルまたはローレベルを出力した後、再検知までの間隔(遅延時間より短い時間)です。
- 初期化時間: 電源が投入されてから約1分間は、モジュールが初期化を行います。この期間中は、ハイレベルとローレベルを交互に出力します。
- センサーの特性: このセンサーの特性のひとつに、生物体が検知範囲の端で接近または離れる場合に、モジュールは高い感度で動作するというものがあります。生物体が検知範囲に対して垂直方向に接近または離れる場合には、モジュールは良好な検知精度を示さない可能性があります(この点にご注意ください)。注: 検知範囲はポテンショメータによって調整できます。
回路図
接続図
コード
このプロジェクトでは、赤外線モーションセンサーを使ってLEDを点灯させます。つまり、赤外線モーションセンサーを動作感知スイッチとして機能させます。そのため、コードは、以前のプロジェクト「プッシュボタン式スイッチとLED」とよく似ています。違いは、赤外線モーションセンサーが動きを検知するとハイレベルを出力し、ボタンが押されるとローレベルを出力することです。センサーからハイレベルが出力されるとLEDが点灯し、ハイレベル信号が無くなるとLEDが消灯します。
/**********************************************************************
Filename : Infrared Motion Sensor
Description : LED lamp is controlled by Infrared Motion Sensor
Auther : www.freenove.com
Modification: 2022/10/26
**********************************************************************/
int sensorPin = 13; // the number of the infrared motion sensor pin
int ledPin = 14; // the number of the LED pin
void setup() {
pinMode(sensorPin, INPUT); // initialize the sensor pin as input
pinMode(ledPin, OUTPUT); // initialize the LED pin as output
}
void loop() {
// Turn on or off LED according to Infrared Motion Sensor
digitalWrite(ledPin, digitalRead(sensorPin));
delay(1000); // wait for a second
}
コードを検証してマイコンにアップロードし、センサーを動かない台などの上に約1分間置いてください。その後、赤外線モーションセンサーから離れたり近づいたりして、LEDが自動で点灯・消灯することを確認してください。3m程度の範囲で検知するため、机の上で試しているとすぐ反応してしまうかもしれません。その場合はじっと動かないようにしてみましょう。
センサーに付いているポテンショメータを回して検知効果を調整したり、ジャンパピンの位置を変えて異なるモードを試すことができます。
次回は3軸ジャイロセンサーの使い方を学びましょう!
コメント