前回はキーパッドとサーボの連携と、コードのスリム化について学びました。
今回は赤外線リモコンの使い方を学びましょう!
赤外線リモコンについて
赤外線リモコンは、一定数のボタンを備えたデバイスです。異なるボタンを押すと、リモコン正面にある赤外線発光ダイオードからそれぞれ異なる指令の赤外線が送信されます。赤外線リモコン技術は、テレビやエアコンなどの電子製品に幅広く採用されており、機器から離れた場所からでもテレビ番組の切り替えやエアコンの温度調整を可能にします。キット内で使用するリモコンの写真を以下に示します
赤外線レシーバーについて
赤外線受信機は、赤外線光を受信できる部品です。この部品を使用することで、リモコンから送信された信号を検出することができます。このキットで使用している赤外線受信機は、データピンから受信した赤外線信号を出力します。
赤外線受信機は、内部にフォトダイオードと呼ばれる素子を持っています。フォトダイオードは、赤外線光が当たると電流を発生させる特性を持っています。この電流を信号に変換することで、リモコンから送信された信号を検出することができます。
赤外線リモコンを使用する際には、押したキーに応じてキーコード(キー値)が赤外線で送信されます。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を操作してみましょう!
コメント