リレー付きHC-SR505モーションセンサーモジュール用のArduinoコードと動画

リレー付きHC-SR505モーションセンサーモジュール用のArduinoコードと動画

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

HC-SR505 motion sensor

ハードウェアの解説

このプロジェクトの主な構成要素は、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センサーの向きを確認してください。

配線手順

Arduino wiring for  HC-SR505 motion sensor
Arduino wiring for HC-SR505 motion sensor

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関数の該当部分の抜粋です:

Wirig relay module to AC load

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- セットアップの実演

画像

Wirig relay module to AC load
Wirig relay module to AC load
HC-SR505 motion sensor
HC-SR505 motion sensor
HC-SR505 motion sensor
HC-SR505 motion sensor
HC-SR505 motion sensor
HC-SR505 motion sensor
HC-SR505 motion sensor
HC-SR505 motion sensor
HC-SR505 motion sensor
HC-SR505 motion sensor
Arduino wiring for  HC-SR505 motion sensor
Arduino wiring for HC-SR505 motion sensor
74-This is the Arduino code for the HC-SR505 motion sensor (small) with relay.
言語: C++
コピーしました!

必要かもしれないもの

リソースと参考文献

まだリソースはありません。

ファイル📁

フリッツィングファイル