リレー付きHC-SR505モーションセンサーモジュール用のArduinoコードと動画
このチュートリアルでは、HC-SR505モーションセンサーとリレーモジュールを使ってモーション検知システムを作ります。この構成により、動きを検知したときにライトやブザーなどの機器をオンにできます。リレーは高電圧機器を安全に制御するためのスイッチとして機能します。このガイドの終わりには、動きの検出に応じてさまざまな家電を作動させられる実用的なモーションセンサーのセットアップが完成します。より分かりやすくするために、関連動画(動画の0:00)を必ず確認してください。

ハードウェアの解説
このプロジェクトの主な構成要素は、HC-SR505モーションセンサー、リレーモジュール、およびArduinoボードです。HC-SR505は受動赤外線(PIR)センサーで、赤外線放射の変化を感知して動きを検出します。視野内の物体が放出する熱を測定することで動作します。動く物体が検出されると、センサーはArduinoに信号を送ります。
リレーモジュールは、電球などの高電圧機器を制御するために使用されます。電気的に作動するスイッチとして機能し、Arduinoが機器を安全にオンまたはオフに切り替えることを可能にします。リレーには主に常開(NO)と常閉(NC)の2つの構成があり、リレーが作動していないときの既定の状態を決定します。
データシートの詳細
| 製造元 | HC-SR505 |
|---|---|
| 部品番号 | HC-SR505 |
| ロジック/IO電圧 | 3.3V〜20V |
| 電源電圧 | 5V |
| 出力電流(チャンネルごと) | 20 mA |
| ピーク電流(チャンネルあたり) | 100 mA |
| PWM周波数に関する指針 | 該当なし |
| 入力論理閾値 | 0.3V(低) / 2.5V(高) |
| 電圧降下 / Rドレイン・ソース間のオン抵抗/ 彩度 | 0.2V |
| 熱限界 | +70 ℃ |
| パッケージ | モジュール |
| 備考 / バリエーション | 小型フォームファクタ;低消費電力 |
- 高電流負荷に対して適切な放熱を確保してください。
- 安定した電源供給のためにデカップリングコンデンサを使用してください。
- 高電圧の接続には十分注意し、安全を確保してください。
- リレーに接続する前に、センサーを簡単な出力でテストしてください。
- 最適な検出のためにPIRセンサーの向きを確認してください。
配線手順

HC-SR505モーションセンサーを配線するには、まず電源ピン(+と表示されている)をArduinoの5V出力に接続します。次に、グラウンドピン(-と表示されている)をArduinoのグラウンドピンのいずれかに接続します。信号ピン(中央のピン)はArduinoのデジタルピン2に接続してください。
リレーモジュールでは、VCCピンをArduinoの5V出力に、GND(グランド)ピンをArduinoのGNDに接続してください。リレーの入力ピンはArduinoのデジタルピン9に接続します。最後に、ブザーの正端子をデジタルピン8に、負端子をGNDに接続してください。リレーのコモン(COM)と通常開(NO)端子は、機器を制御できるよう適切に配線してください。
コード例とウォークスルー
このプロジェクトのコードは、センサー、ブザー、リレーのピンを初期化します。それはdigitalRead()動きをチェックしてそれに応じて反応する関数。以下は setup 関数の抜粋です:
void setup() {
Serial.begin(9600); // setup Serial Monitor
pinMode(PIR, INPUT_PULLUP); // define pin as Input for sensor
pinMode(BUZZER, OUTPUT); // define pin as OUTPUT for buzzer
pinMode(RELAY, OUTPUT); // define pin as OUTPUT for relay
}
この抜粋では、ピンは入力モードか出力モードのいずれかに設定されています。Serial.begin(9600)デバッグ用のシリアル通信を初期化します。
メインループは動きをチェックし、動きが検出されるとブザーとリレーを作動させます。以下はloop関数の該当部分の抜粋です:

void loop() {
int motion = digitalRead(PIR); // read the sensor
if(motion) {
Serial.println("Motion detected");
digitalWrite(BUZZER, HIGH); // turn the buzzer ON
digitalWrite(RELAY, LOW); // turn the relay ON
} else {
Serial.println("===nothing moves");
digitalWrite(BUZZER, LOW); // keep the buzzer OFF
digitalWrite(RELAY, HIGH); // turn the relay OFF
}
delay(500);
}
この抜粋はPIRセンサーの状態を読み取り、検出された動きに基づいてブザーとリレーを作動または停止させます。500ミリ秒の遅延により、ループがセンサーを適切な間隔でチェックすることが保証されます。
デモ/当日の流れ
動作が検出されると、リレーに接続されたライトが点灯し、ブザーが鳴ります。動作が検出されない場合は、リレーがライトを消し、ブザーは鳴りません。HC-SR505には、動作検出後に出力を短時間アクティブに保つ(最長8秒)調整できない内蔵遅延があることに注意してください(ビデオでは5:30)。
動画のタイムスタンプ
- 00:00- プロジェクトの紹介
- 01:30- 構成要素の説明
- 午前03:15- 配線手順
- 05:30- コードの解説
- 07:00- セットアップの実演
必要かもしれないもの
-
アマゾンAmazonからHS-SR505モジュールを購入するamzn.to
-
アマゾンAmazonでリレシールドを購入するamzn.to
-
アリエクスプレス5v 12v 1 2 4 6 8チャンネルリレーモジュールを購入するs.click.aliexpress.com
リソースと参考文献
まだリソースはありません。
ファイル📁
フリッツィングファイル
-
HC-SR501 ボディセンサーモジュール
HC-SR501 Body Sensor Module.fzpz0.01 MB