【Arduino入門】ワイヤレス制御できるIRレシーバー(赤外線受信モジュール)と送信機を使ってみる

Arduino Elegoo MEGA2560 R3ボードでワイヤレス制御できるIRレシーバー(赤外線受信モジュール)と送信機を使ってみます。

■用意したもの

・Arduinoバージョン1.8.13がインストールされているPC(Windows10)

・Elegoo MEGA2560 R3ボード、1個

・IRレシーバー(赤外線受信モジュール)(IR receiver module)、1個

・IRリモート(赤外線の送信機・リモコン)(IR remote)、1個

・メスからオスのデュポンワイヤーリボンケーブル(Female to Male DuPont wires)、3つ

それぞれ(ELEGOO Arduino用のMega2560スタータキット最終版)に付属しているものです。

■IR(赤外線受信モジュール・送信機・リモコン)への理解

赤外線通信は、一般的な安価で使いやすいワイヤレス通信技術です。IR光は可視光と非常によく似ているが、わずかに波長が長い点が異なっています。波長が長いということは、赤外線が人間の目には検知されないため、無線通信に最適であると言えます。

テレビのリモコンや無線などで赤外線が使われる理由は、赤外線のLEDは非常に簡単に作成でき、非常に安価で作ることができるため。リモートコントロールを用いたプロジェクトでは赤外線での制御を使用することが理想的である。また、赤外線は、特定の色を持つ通常の光で、この色は波長が約950 nmと可視スペクトルより短いため、人間には見えないのが、赤外線が使われる理由になっています。

赤外線通信の仕組みは、IRレシーバー(赤外線受信モジュール)のリモコン(送信機)でエンコーダを使用してバイナリ信号を変調し、変調された信号をIR LEDに適用させます。IR LEDからの赤外線は変調された信号に従って変調され、送信されると、空気を透過します。変調された赤外線信号が赤外線受信モジュールによって受信されます。赤外線受信モジュールが、赤外線を復調し、元のバイナリ信号に変換されるというものです。

なお、変調中、赤外線の光は「キャリア周波数」と呼ばれる特定の周波数で「オン/オフ」されます。この周波数に調整された赤外線受信モジュールのみが、変調された赤外線信号を受信できます。

赤外線の変調に使用される一般的なキャリア周波数には、30KHz、36KHz、38KHz、56KHzが存在します。赤外線の変調の一般的なキャリア周波数は38KHzで、多く使用されています。

また、赤外線が変調されるパターンは、赤外線伝送プロトコルによって定義されます。一般的なプロトコルには、Sony、JVC、NEC、RC5、RC6、RCAなどが存在しています。

■IRレシーバー(赤外線受信モジュール)とメスからオスのデュポンワイヤーを接続する

それでは、Elegoo MEGA2560 R3ボードでIRレシーバー(赤外線受信モジュール)と送信機を使用しますので、まずはIRレシーバー(赤外線受信モジュール)とメスからオスのデュポンワイヤーを接続します。

IRリモート(赤外線受信モジュール)本体のピンには、「G」、「R」、「Y」という記載があるので、これを覚えておくと良いです。

※デュポンワイヤーのオス、メスに注意する。

接続する際は、デュポンワイヤーの「メス」の方を、IRレシーバー(赤外線受信モジュール)のピンに差し込みます。

■Elegoo MEGA2560 R3ボードとデュポンワイヤーの「オス」を接続する

IRレシーバー(赤外線受信モジュール)のピンに差し込んだ後は、Elegoo MEGA2560 R3ボードとデュポンワイヤーの「オス」を接続します。

配線は上記のようになります。

■Elegoo MEGA2560 R3ボードをPC(パソコン)に接続する

接続後、Elegoo MEGA2560 R3ボードをUSBケーブルを使って、PC(パソコン)に接続する。

■コードをアップロードし、マイコンボードに書き込む

接続後、ELEGOO Arduino用のMega2560スタータキット最終版に付属したCD-ROMをパソコンで読み取ります。

CD-ROMから「日本語」をクリックする。

「code」をクリックする。

「Lesson 14 IR Receiver Module」をクリックする。

「IR_Receiver_Module」をクリックする。

「IR_Receiver_Module.ino」をクリックする。

クリックすると、「Arduino」が起動し、ウインドウ内に「IR_Receiver_Module」のコードが表示されます。

このコードをMEGA2560 R3ボードに書き込んでみたいと思いますが、このままコードを書き込んでしまうとエラーになってしまうので、ライブラリを追加する必要があります。

ライブラリを追加するには、CD-ROMの「Lesson 12 DHT11 Temperature and Humidity Sensor」の中にある「IRremote.zip」というファイルを、コピーし、Windows10のローカル上に保存します。

保存後、「Arduino」のウインドウ上部にある「スケッチ」をクリックします。プルダウンメニューが表示されますので「ライブラリをインクルード」をクリックします。さらにメニューが表示されますので、「.ZIP形式のライブラリをインストール」をクリックします。

クリックすると「インストールするライブラリを含むZIPファイルまたはフォルダを指定してください。」というウインドウが表示されますので、「IRremote.zip」を選択し、「開く」ボタンをクリックします。

クリックすると、「スケッチ」の「ライブラリをインクルード」に「提供されたライブラリ」として「IRremote」が追加されますので、こちらをクリックします。

クリックすると、コードに「IRremote」が追加された状態になります。

ライブラリが追加された状態になりますので、「Arduino」の上部にある「マイコンボードに書き込む・書込装置を使って書き込み」ボタンをクリックします。クリックする際は、接続したPC(パソコン)でMEGA2560 R3ボードが認識されているかを確認し、クリックします。

クリックすると、「ボードへの書き込みが完了しました。」と表示され、書き込みが成功しました。

書き込み後、「Arduino」のウインドウ上部にある「シリアルモニタ」ボタンをクリックします。

クリックすると、「シリアルモニタ」のウインドウが表示されますので、IRリモート(赤外線の送信機・リモコン)を使うと、送信された信号を検出し出力することができます。

■IRレシーバー(赤外線受信モジュール)と送信機は使えたのかの検証

ボードへの書き込み完了後、IRレシーバー(赤外線受信モジュール)と送信機は使えたのかの検証を行いました。

検証を行いましたが、送信機で送信した信号がIRレシーバー(赤外線受信モジュール)でキャッチされ、シリアルモニタで検出された信号を出力することができました。

コメント

タイトルとURLをコピーしました