Arduinoとリレーを使って、任意の赤外線リモコンでAC電球を制御する

Arduinoとリレーを使って、任意の赤外線リモコンでAC電球を制御する

このチュートリアルでは、赤外線リモコンを使用してArduinoとリレーモジュールを介してAC電球を操作する方法を学びます。このプロジェクトでは、リモコンからの信号をデコードし、それを使用してリレーを制御します。これにより、AC電球のオンとオフを切り替えることができます。このチュートリアルの終わりまでには、どんな赤外線リモコンでも照明器具を制御できるようになります。

リモコンからの信号をキャッチするために赤外線受信機を使用し、Arduinoがこれらの信号を解釈して特定のアクションを実行します。提供されたコードを使用すると、リモコンの種類(黒または白)や、受信機にPCBまたはベアモジュールを使用しているかどうかを選択できます。追加の詳細や説明については、関連するビデオ(ビデオの0:00で)を必ず視聴してください。

ハードウェアの説明

このプロジェクトの主なコンポーネントには、Arduinoボード、赤外線受信モジュール、およびリレーモジュールが含まれています。赤外線受信機はリモコンからの信号をキャプチャし、それをArduinoに送信する役割を果たします。リレーモジュールはスイッチとして機能し、受信した信号に基づいてAC電球のオンとオフを制御します。

5Vハイレベルトリガーリレーモジュール
5V ハイレベルトリガーリレーモジュール

赤外線受信機は通常、38 kHzの周波数で動作し、約10メートルから15メートルの距離から信号を検出できます。Arduinoが信号を受信すると、それをデコードし、リレーを使用して電球の電源を制御します。

配線指示書

IR_remote_AC_relay_wiring

赤外線受信モジュールをArduinoに接続して、配線を開始します。受信機のVCCピンはArduinoの5Vピンに接続し、グラウンドピンはGNDピンに接続します。赤外線受信機からの信号ピンはデジタルピンに接続する必要があります。11Arduino上で。

次に、リレー モジュールを接続します。リレーの制御ピンはデジタル ピンに配線する必要があります。2Arduinoに接続します。また、リレーのVCCピンとGNDピンをそれぞれArduinoの5VとGNDに接続してください。最後に、安全に動作させるために、リレーの仕様に従ってAC電球をリレーに配線してください。

コード例とウォークスルー

プログラムのセットアップフェーズでは、シリアル通信を初期化し、リレーピンを設定します。識別子RECV_PIN設定されています11赤外線受信機の信号ピンが接続されている場所です。これにより、リモコンからデータを受信することができます。

void setup() {
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
  pinMode(RELAY_PIN, OUTPUT); // define a pin for relay as OUTPUT
  digitalWrite(RELAY_PIN, HIGH); // set relay to OFF at the beginning
}

ループ関数では、リモコンからの受信信号を継続的にチェックします。信号が検出されると、その値がデコードされ、押されたキーに基づいて対応するアクションが実行されます。

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX); // Print the received value
    robojaxValidateCode(results.value); // Validate the code
    irrecv.resume(); // Receive the next value
  }
  delay(100);
}

そのrobojaxValidateCodeこの関数は、受信したコードをリモコンの既知の値と照合します。どのキーが押されたかによって、リレーを使用して対応するアクションを実行します。

void robojaxValidateCode(int cd) {
  if (type == 'W' && !PCB) {
    // Check White remote codes
    for (int i = 0; i < sizeof(whiteRemote) / sizeof(int); i++) {
      if (whiteRemote[i] == cd) {
        Serial.print("Key pressed: ");
        Serial.println(whiteRemoteKey[i]);
        relayAction(whiteRemoteKey[i]); // Take action
      }
    }
  }
}

この関数では、押されたキーが定義された配列の値に対応しているかをコードがチェックします。一致が見つかった場合、それは呼び出します。relayActionキーの押下に応じてリレーをオンまたはオフにする関数。

デモンストレーション / 期待できること

配線を完了し、コードをアップロードしたら、赤外線リモコンを使ってACバルブを制御できます。リモコンの指定されたキーを押すと、リレーはそのバルブをオンまたはオフにするはずです。各キーの反応を確認するためにテストを行うことを忘れないでください(動画の5:00で)。

ビデオのタイムスタンプ

  • 00:00 スタート
  • 00:49 イントロダクション
  • 02:00 配線と接続
  • 05:27 Arduinoのコードの説明
  • 09:51 異なるリモコンを使ったAC電球の制御デモンストレーション
  • 13:13 テレビのリモコンを使ってエアコンの電球を操作する

画像

5V LOW-LEVEL trigger relay
5V LOW-LEVEL trigger relay
5V HIGH-level trigger relay module
5V HIGH-level trigger relay module
remote
remote
IR_remote_AC_relay_wiring
IR_remote_AC_relay_wiring
138-Source for controlling an AC load using an Arduino
言語: C++
コピーしました!

必要かもしれないもの

リソースと参考文献

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

ファイル📁

ファイルは利用できません。