HC-SR501人感センサーをArduinoで設定する方法
By Kunkune | Published: 2026-10-13
Category: ハウツーガイド
HC-SR501 PIRモジュールをArduinoに配線し、感度と遅延のポットを調整し、誤動作を明確なステップバイステップの手順でデバッグします。
クイックアンサー
HC-SR501のVCCを5Vに、GNDをGNDに、OUTをデジタルピンに配線し、レンズを覆ってから30〜60秒待ってウォームアップが完了してから測定値を信頼してください。まず両方のポテンショメータをだいたい中間の位置に設定し、簡単なdigitalReadスケッチをアップロードしてから、シリアルモニタを見ながら感度と遅延時間を調整してください。
HC-SR501のピンの実際の役割
このモジュールにはVCC、OUT、GNDの3つのピンがあります。OUTは動きを検出するとHIGHになるデジタル信号で、どのArduinoデジタル入力でも使用できます。カタログには出力電圧が3.3Vと記載されており、これはモジュールがOUTに出力するロジックレベルです。これは、信号を5Vのみのロジック入力や3.3Vのボードに供給する場合に重要です。3.3VのHIGHは通常、ESP32やRaspberry Piなどの3.3V MCUでは正しく読み取られますが、クラシックな5VのArduino Unoでは約3V以上をHIGHとみなすため、これでも動作します。不明な場合は、推測せずにトリガー中にマルチメータでOUTを測定してください。
HC-SR501には、2つのポテンショメータと1つのジャンパーもあります。一方のポットは感度(検出範囲)を設定し、もう一方は遅延時間(動きが止まった後にOUTがHIGHを維持する時間)を設定します。ジャンパーは、繰り返しトリガーモードと非繰り返しトリガーモードを選択します。モジュールは電源投入後にウォームアップ期間が必要です。この間、OUTはHIGHのままだったりトグルしたりすることがあるため、安定するまでセンサーを判断しないでください。
ノイズを防ぐ電源供給と配線の選択
HC-SR501は安定した5V電源で最も安定して動作します。Arduinoの5Vピンから電源を供給するのはモジュール1つの場合には問題ありませんが、リレー、モーター、長い配線を追加する場合は、別の安定化された5V電源を使用し、グランドを共通にしてください。電源が弱い、またはノイズが多いと、ランダムなトリガーの最も一般的な原因の1つになります。
信号線は短く保ち、モーターや主電源の配線から離して配線してください。長いケーブルを使用する必要がある場合は、OUTとGNDのワイヤをより合わせるか、シールドケーブルを使用してください。恒久的な設置の場合は、緩んだジャンパーワイヤではなく、はんだ付けまたはネジ端子を使用して接続してください。
動きを確認するための最小限のArduinoスケッチ
最も簡単なテストから始めましょう。デジタルピンを読み取り、その状態を出力します。OUTをピン2に接続し、ピン2をINPUTに設定し、digitalRead(2)を9600ボーでシリアルモニタに出力するスケッチをアップロードします。レンズの前で手を振って、値が変わるのを確認してください。これにより、ロジックを追加する前に配線が確認できます。
生の読み取りが機能したら、短いデバウンスまたは状態変化チェックを追加して、1つの動きイベントでシリアル出力がスパムされないようにします。たとえば、読み取りがLOWからHIGHに変わったときだけ出力します。これにより、遅延ポットの動作がはるかに観察しやすくなります。
誤トリガーを追いかけずに感度と遅延を調整する
まず両方のポテンショメータを完全に反時計回りに回し、必要なエリアをセンサーがカバーするまで感度をゆっくり上げてください。感度が高いほど良いわけではありません。熱源、空気の流れ、ペットも拾ってしまいます。遅延ポットは、最後の動きの後にOUTがHIGHを維持する時間を制御します。イベントカウントには短く、照明やアラームの保持時間には長く設定してください。
一度に1つの変更を行い、モジュールが安定するのを待ちます。出力が常にHIGHのままの場合は、感度を下げ、レンズが窓、ヒーター、動くカーテンに向いていないか確認してください。トリガーしない場合は、ジャンパーモードを確認し、ウォームアップ期間が経過していることを確認してください。
HC-SR501 Arduinoセットアップのステップバイステップ
- ステップ1:ピン配置を確認し、ジャンパーを設定します。 レンズを手前にして、ピンは通常左からVCC、OUT、GNDの順ですが、ボードのマーキングで確認してください。シンプルなオン/オフ検出にはジャンパーを非繰り返しモード(H)に、動きが続いている間OUTをHIGHに保つには繰り返しモード(L)に設定します。 チェックポイント:マーキングが不明瞭な場合は、電源を接続する前にマルチメータでテストしてください。
- ステップ2:電源と信号を配線します。 VCCを5Vに、GNDをGNDに、OUTをArduinoデジタルピン2に接続します。信号線は短く保ち、モーターや主電源の配線から離してください。外部電源を使用する場合は、そのグランドをArduinoのグランドに接続してください。 よくある間違い:別の5V電源を使用する際に、共通グランドを忘れること。
- ステップ3:ウォームアップを待ちます。 モジュールに電源を入れ、その前で動かずに30〜60秒待ちます。この期間中、出力がトグルすることがありますが、これは正常です。モジュールが安定するまでポットを調整しないでください。 チェックポイント:2分経ってもOUTが不安定な場合は、電源の安定性と配線を確認してください。
- ステップ4:最小限の読み取りスケッチをアップロードします。 ピン2をINPUTに設定し、digitalRead(2)を9600ボーでシリアルモニタに出力します。手を振って値が変わることを確認してください。遷移のみが出力されるように状態変化チェックを追加します。 よくある間違い:INPUT_PULLUPを使用するとモジュール出力と競合します。特定のモジュールで特に必要がない限り、通常のINPUTを使用してください。
- ステップ5:感度と遅延を調整します。 両方のポットを完全に反時計回りに回してから始めます。センサーがターゲットエリアを確実にカバーするまで感度を上げ、そこで止めます。遅延はプロジェクトに適した最短の保持時間に設定します。 チェックポイント:誤トリガーが続く場合は、感度を下げ、視野から熱源や空気の動きの原因を取り除いてください。
- ステップ6:最終的な動作を実際の場所でテストします。 センサーを使用する高さと角度に取り付け、検出ゾーンを数回歩いてください。OUTが期待どおりにHIGHになり、遅延後にLOWになることを確認します。 次のステップ:よりクリーンなイベントカウントが必要な場合は、コードにデバウンスまたはホールドタイマーを追加します。
製品情報
- HC-SR501 モーションセンサーモジュール検出器 PIR 調整可能: HC-SR501 モーションセンサーモジュール検出器 PIR 調整可能、出力電圧3.3V。3.3VのロジックHIGHは3.3Vのボードと互換性があり、ほとんどの5V Arduino入力でもHIGHとして読み取られるため、一般的なセットアップではレベルシフタなしでどちらでも使用できます。
- DC-DC 昇圧降圧コンバータ 4-35V から 1.25-25V LM2596S XL6019E1 3A: DC-DC 昇圧降圧コンバータ 4-35V から 1.25-25V LM2596S XL6019E1 3A、出力調整可能。プロジェクトがバッテリーやより高い電圧レールで動作し、ノイズの多いArduinoレールからではなく、PIRモジュール用にクリーンで調整可能な5V電源が必要な場合に便利です。

