Project 23.1 赤外線リモコン/Infrared Remote Control

前回はキーパッドとサーボの連携と、コードのスリム化について学びました。

非営利団体 金重総合研究所 - 知...
Project 22.2 暗証番号で開くドア/Keypad Door - 非営利団体 金重総合研究所 前回はマトリックスキーパッドの使い方を学びました。 今回はキーパッドとサーボを使って『暗証番号で開くドア』風の

今回は赤外線リモコンの使い方を学びましょう!

目次

赤外線リモコンについて

赤外線リモコンは、一定数のボタンを備えたデバイスです。異なるボタンを押すと、リモコン正面にある赤外線発光ダイオードからそれぞれ異なる指令の赤外線が送信されます。赤外線リモコン技術は、テレビやエアコンなどの電子製品に幅広く採用されており、機器から離れた場所からでもテレビ番組の切り替えやエアコンの温度調整を可能にします。キット内で使用するリモコンの写真を以下に示します

赤外線レシーバーについて

赤外線受信機は、赤外線光を受信できる部品です。この部品を使用することで、リモコンから送信された信号を検出することができます。このキットで使用している赤外線受信機は、データピンから受信した赤外線信号を出力します。

赤外線受信機は、内部にフォトダイオードと呼ばれる素子を持っています。フォトダイオードは、赤外線光が当たると電流を発生させる特性を持っています。この電流を信号に変換することで、リモコンから送信された信号を検出することができます。

赤外線リモコンを使用する際には、押したキーに応じてキーコード(キー値)が赤外線で送信されます。ESP32-S3 WROOMにプログラムを書き込むことで、特定のキーコードを受信した際にライトを点灯するなどのアクションを起こすことができます。下記に、この赤外線リモコンの各ボタンを押した際に受信されるキーコード一覧があります。

※対応するキーコード一覧は、使用する赤外線リモコンや受信側マイコンの仕様によって異なります。

回路図

接続図

ライブラリのインストール

以下のようにライブラリをインストールしましょう。
open arduino->Sketch->Include library-> Manage libraries.
ライブラリ名:IRremoteESP8266

コード

/**********************************************************************
  Filename    : Infrared Remote Control
  Description : Decode the infrared remote control and print it out through the serial port.
  Auther      : www.freenove.com
  Modification: 2022/10/26
**********************************************************************/
#include <Arduino.h>
#include <IRremoteESP8266.h>
#include <IRrecv.h>
#include <IRutils.h>

const uint16_t recvPin = 21; // Infrared receiving pin
IRrecv irrecv(recvPin);      // Create a class object used to receive class
decode_results results;       // Create a decoding results class object

void setup() {
  Serial.begin(115200);       // Initialize the serial port and set the baud rate to 115200
  irrecv.enableIRIn();        // Start the receiver
  Serial.print("IRrecvDemo is now running and waiting for IR message on Pin ");
  Serial.println(recvPin);   //print the infrared receiving pin
}

void loop() {
  if (irrecv.decode(&results)) {          // Waiting for decoding
    serialPrintUint64(results.value, HEX);// Print out the decoded results
    Serial.println("");
    irrecv.resume();                      // Release the IRremote. Receive the next value
  }
  delay(1000);
}

何の変哲もないコードですね。
ボタンを押すとシリアルモニターにキーバリューが表示されます。
ボタンを長く押したりして正しく受信できないと『FFFFFFFFFFFFFFFF』と表示されます。

次回は赤外線リモコンでLEDを操作してみましょう!

非営利団体 金重総合研究所 - 知...
Project 23.2 赤外線リモコンでLEDを操作/Control LED through Infrared Remote - 非営利団体 金重総合研... 前回は赤外線リモコンの基本について学びました。 今回は赤外線リモコンを使用してLEDを操作してみましょう! 回
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

金重総合研究所の主席研究員。
子供の頃から研究者を目指し、ライフワークとして日々様々な研究をしています。
経営・マネジメント・金融・DXあたりが本職です。
私を採用したい人、私と一緒に働きたい人、一緒に知識を肥やしていきたい人はぜひお声がけ下さい。

コメント

コメントする

目次