ArduinoでHC-SR501 PIRモーションセンサーの使用方法

How to Use the HC-SR501 PIR Motion Sensor with Arduino

HC-SR501は、周囲の赤外線の変化を測定することにより動きを検出する人気のあるパッシブ赤外線(PIR)モーションセンサーモジュールです。一般的に、動きの活性化照明、セキュリティシステム、およびIoTプロジェクトで使用されています。このチュートリアルでは、HC-SR501をArduinoでセットアップして使用することをガイドします。


あなたが必要とするもの

  1. HC-SR501 PIRモーションセンサーモジュール
  2. Arduino委員会(例:UNO、MEGA、NANO)
  3. ブレッドボードとジャンパーワイヤ
  4. Arduino IDEがインストールされたコンピューター

ステップ1:HC-SR501センサーの理解

HC-SR501モジュールは、調整可能な感度と遅延時間設定を備えているため、さまざまな動き検出アプリケーションに汎用性があります。 5V電力で動作し、動きが検出されると高い信号を出力します。

HC-SR501ピンアウト

ピン 関数
VCC 電源(5V)
デジタル出力信号
GND 地面

調整可能な設定

  1. 感度: 検出範囲(最大7メートル)を調整します。
  2. 遅延時間: 動きが検出された後の高信号の持続時間を調整します(約5秒から5分)。

ステップ2:HC-SR501をArduinoに配線します

HC-SR501をArduino UNOに接続する方法は次のとおりです。

HC-SR501ピン Arduino Pin
VCC 5V
ピン2
GND GND

ステップ3:コードをアップロードします

モーション検出を監視し、シリアルモニターにステータスを表示するためのスケッチの例を示します。

const int pirPin = 2; // Connect HC-SR501 OUT to pin 2

void setup() {
  pinMode(pirPin, INPUT);
  Serial.begin(9600);
  Serial.println("HC-SR501 PIR Motion Sensor Test");
}

void loop() {
  int motionStatus = digitalRead(pirPin); // Read the sensor output

  if (motionStatus == HIGH) {
    Serial.println("Motion detected!");
  } else {
    Serial.println("No motion detected.");
  }

  delay(500); // Update every 500ms
}

ステップ4:セットアップをテストします

  1. USBを介してArduinoをコンピューターに接続します。
  2. Arduino IDEを開き、正しいものを選択します ボード そして ポート の下 ツール メニュー。
  3. クリックしてコードをアップロードします アップロード.
  4. シリアルモニターを開きます(ツール > シリアルモニター)そして、ボーレートをに設定します 9600.
  5. センサーの範囲内を移動し、シリアルモニターに印刷されたモーションステータスを観察します。

オプション:モーション付きLEDを制御します

モーションが検出されたときに、コードを変更してLEDをオンにすることができます。

LEDの配線

LEDピン Arduino Pin
アノード(+) ピン13
カソード( - ) GND

変更されたコード

const int pirPin = 2; // Connect HC-SR501 OUT to pin 2
const int ledPin = 13; // Connect LED to pin 13

void setup() {
  pinMode(pirPin, INPUT);
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
  Serial.println("HC-SR501 PIR Motion Sensor Test");
}

void loop() {
  int motionStatus = digitalRead(pirPin); // Read the sensor output

  if (motionStatus == HIGH) {
    digitalWrite(ledPin, HIGH); // Turn on LED
    Serial.println("Motion detected!");
  } else {
    digitalWrite(ledPin, LOW); // Turn off LED
    Serial.println("No motion detected.");
  }

  delay(500); // Update every 500ms
}

HC-SR501のアプリケーション

  1. モーション活性化照明
  2. 侵入者アラーム
  3. スマートホームオートメーション
  4. 近接トリガーIoTデバイス

トラブルシューティング

  • モーションは検出されません: センサーが正しく駆動され、感度が適切に調整されていることを確認してください。
  • 虚偽のトリガー: 環境騒音(たとえば、熱源)を減らし、直射日光にさらされるのを避けます。
  • 不安定な測定値: 適切な接地と安定した電源を確認してください。

結論

HC-SR501 PIRモーションセンサーとArduinoをインターフェースすることに成功しました。この汎用性の高いセンサーは、さまざまなプロジェクトでのモーション検出に最適です。高度なモーションベースのシステムを作成するために、感度の調整やそれを他のコンポーネントと統合するなどの追加機能を試してください!

コメントを残す

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.