PIRモーションセンサーのご紹介(HC-SR501)
PIR モーション センサーとしても知られています。 P 積極的な 私 赤外線 S センサーは、特定の範囲内の人や動物の存在を検出するために一般的に使用される電子デバイスの一種です。 HC-SR501は信頼性と使いやすさで知られるPIRモーションセンサーの人気モデルです。
パッシブ赤外線検出器を使用して、人や動物の動きによって引き起こされる可能性のある温度の変化を感知します。物体の動きが検出されると、セキュリティ システムや照明コントロール パネルなどのデバイスに信号が送信されます。 PIR モーション センサーは、ホーム セキュリティ システム、自動照明システム、および人や動物の存在を検出することが重要なその他のアプリケーションでよく使用されます。
PIRモーションセンサー(HC-SR501)の働き
の HC-SR501 PIRモーションセンサーは、パッシブ赤外線検出器を使用して温度の変化を感知します。これは、特定の範囲内 (通常は最大約 8 メートル (26 フィート)) にいる人間または動物の存在を検出するように設計されています。
センサーがアイドル状態のとき、センサーは常に視野内の温度を監視しています。センサーが人や動物の動きなどによる温度変化を検出すると、接続されたデバイスに信号を送信します。この信号を使用して、ライトをオンにしたり、アラームを起動したりするなどの応答を生成できます。
PIR モーション センサーには 2 つのポテンショメータが搭載されており、これを使用してモーション センサーを調整できます。 感度 と 遅延 センサーの。
- 感度 PIRセンサーをトリガーするために必要な温度変化の量を決定します。マウスや葉の動きなど、検出する必要がある動きに応じて設定できます。
- 遅延 温度の変化を検出した後、センサーがアクティブな状態を維持する時間を決定します。
ピン配列 HC-SR501
PIRセンサーピンには以下が含まれます:
- VCC : PIRセンサーの電源端子です。 5V電源に接続してください。
- アース : グランドピンです。電源の GND またはマイナス端子に接続します。
- アウト : 出力端子です。センサーが動きを検出すると、接続されたデバイスにデジタル信号を送信します。
- 遅延の調整 :感度調整ピンです。このセンサーの感度を使用して調整することができます。
- 感度を調整する : 時間遅延調整ピンです。温度の変化を検出した後、センサーがアクティブなままになる時間の長さを調整するために使用できます。
PIR HC-SR501 には 3 つの出力ピンがあります。 VCC と GND の 2 つのピンは電源ピンで、中央または 3 番目のピンは出力デジタル トリガー信号用です。
PIRモーションセンサー(HC-SR501)とArduino Nanoのインターフェース
HC-SR501 などの PIR モーション センサーを Arduino Nano マイクロコントローラーと接続することは、ほんの数個のコンポーネントで実現できる簡単なプロセスです。まず、PIR センサーの VCC と GND ピンを Arduino Nano の 5V/VIN と GND ピンにそれぞれ接続します。次に、PIR センサーの OUT ピンを Arduino Nano の任意のデジタル入力ピンに接続します。
これらの接続が確立されると、Arduino Nano を使用して PIR センサーのデジタル出力を読み取り、LED の点灯や通知の送信などの目的のアクションを実行できます。 PIR モーション センサーが正しく機能するためには、少量のキャリブレーションが必要になる場合があることに注意してください。これは通常、オンボードのポテンショメータを使用して感度と遅延時間の設定を調整することで実行できます。
必要なコンポーネントは次のとおりです。
- Arduinoナノ
- PIRモーションセンサー(HC-SR501)
- 導いた
- 220オームの抵抗
- 接続線
- ブレッドボード
回路図
与えられた画像は、Arduino Nano ボードを使用した PIR センサーの配線図を示しています。
コード
開ける 行く (統合開発環境)。 Nano board を選択し、以下のコードを記述した後、アップロード ボタンをクリックします。
int PIR_Sensor_Pin = 5 ; /* ピン にとって PIRセンサー */
int pirState = 真実 ; /* 動きが検出されないと仮定する */
整数値 = 0 ; /* ピンの状態を格納する変数 */
int maximummSecsLowForInactive = 2000年 ; /* 動きが検出されないと仮定する もしも アクティビティは検出されません にとって 2 秒 */
long unsigned int timeLow;
ブール値の takeLowTime;
int 校正時間 = 10 ; /* 時間 にとって データシートに基づくセンサーのキャリブレーション */
ボイド設定 ( ) {
pinMode ( LED_PIN、出力 ) ; /* LED宣言 なので 出力 */
pinMode ( PIR_Sensor_Pin、入力 ) ; /* センサーピンが検出されました なので 入力 */
Serial.begin ( 9600 ) ;
シリアルプリント ( 「キャリブレーションセンサー」 ) ;
にとって ( 整数 i = 0 ; i minimummSecsLowForInactive ) {
pirState = 真実 ;
Serial.println ( 「モーション終了!」 ) ;
遅れ ( 50 ) ;
}
}
}
コードは、PIR センサーの入力ピンと LED の出力ピンを定義することから始まります。 int 変数 値 が定義されています。この変数は、PIR 出力ピンの状態を格納します。
次に、 pinMode LED とセンサー ピンは、それぞれ出力と入力として定義されます。 if 条件が使用されています。 Arduino Nano がセンサーから HIGH 入力を受信すると、LED が点灯します。同様に、モーションが検出されない場合、LOW 信号が Arduino に送信され、LED がオフになります。
出力
PIR センサーによってモーションが検出されると、以下の出力が表示されます。最初のセンサーは、モーションを検出できるようになった後、それ自体を調整します。
ハードウェア
モーションが検出されないため、LED はオフです。
これで車が移動し、モーションが検出されると LED が点灯します。
結論
Arduino Nano は、PIR などのさまざまなセンサーと接続できます。このセンサーを使用すると、あらゆる物体の動きを検出できます。 Arduino を使用した PIR センサーには、ホーム セキュリティ システムや街灯などの複数のアプリケーションがあります。この記事では、オブジェクトの動きを検出するための完全な Arduino コードと手順について説明します。