はじめに

IR(赤外線)通信は、一般的で高価ではなく、使いやすい無線通信技術です。赤外線は可視光線とよく似ているが、波長がやや長い。つまり、赤外線は人間の目には検出されず、無線通信に最適なのです。例えば、テレビのリモコンのボタンを押すと、赤外線が1秒間に38,000回の周波数で点灯・消灯を繰り返し、テレビの赤外線フォトセンサーに情報(音量やチャンネルの制御など)を送信しています。

このチュートリアルでは、まず、一般的な赤外線通信プロトコルの内部働き説明します。次に、マイクロビットとIRコントローラーを使って、RGBモジュールを制御する方法を紹介します。

次のパーツが必要になります。

赤外線について

赤外線はなんですか

赤外線とは、特定の色を持つ通常の光のことです。赤外線の波長は約950nmで、可視光線よりも波長が短いため、私たち人間にはこの色が見えません。赤外線がリモコンに採用されている理由のひとつは、「使いたいけど、見られたくない」ということです。もうひとつの理由は、赤外線LEDは簡単に作ることができ、非常に安価であるため、私たちホビーユーザーが自分のプロジェクトに赤外線制御を利用するのに適しているからです。しかし、赤外線の光源は他にいろいろあることを知っておく必要があります。太陽は最も明るい光源ですが、電球、ロウソク、暖房システム、そして私たちの体からも赤外線が放射されています。

赤外線通信の一般的な変調方式は、38kHz変調と呼ばれるものです。自然界には38kHzのような規則性のある信号はほとんど存在しないため、この周波数でデータを送信する赤外線送信機は、赤外線の周囲の中でも目立つ存在となります。38kHz変調の赤外線データが最も一般的です、もちろん他の周波数も使用できます。

リモコンのキーを押すと、赤外線LEDが数分の1秒の速さで点滅し、エンコードされたデータが機器に送信される。

テレビのリモコンのIR LEDにオシロスコープを接続すると、上の図のような信号が表示されます。この変調された信号は、まさに受信システムが見ているものなのです。受信装置のポイントは、この信号を復調して、マイコンが読めるようなバイナリの波形を出力することです。上の波をVS1838BのOUT端子で読むと、2番目のようになります。

変調

熱を発するものはすべて、赤外線も発する。そのため、赤外線メッセージを間違いなく受信機に届けるためには、いくつかの注意を払う必要があります。信号をノイズから浮かび上がらせるには、信号をキャリア周波数で変調する必要があります。変調とは、特定の周波数で赤外線光源を点滅させることです。IRレシーバーは、その周波数に合わせて調整されているので、他のものを無視することができます。下の写真では、変調された信号が左側の送信機のIR LEDを操作しているのがわかります。

検出された信号は、反対側の受信機から出ています。

                                                                    (Thanks to SBProjects.com for the gif and excellent IR resource!)

赤外線レシーバー「VS1838B」の技術的詳細

vs1838b IRレシーバーはピンアウトです。

仕様

このモジュールは1838 IRレシーバー、1kΩ抵抗、LEDで構成されています。IRトランスミッターモジュールと一緒に動作します(ここではIRコントローラを使用しています)。

Micro bit、Arduino、Raspberry Pi、ESP8266などの一般的な電子プラットフォームと互換性があります。

Operating Voltage 2.7 to 5.5V
動作電流 0.4 to 1.5mA
受信距離 18m
受信角度 ±45º
キャリア周波数 38KHz
ローレベル電圧 0.4V
ハイレベル電圧 4.5V
環境光フィルター 500LUXまで

赤外線リモコンについて

赤外線リモコンは、デバイスをワイヤレスで制御する最も安価な方法です。私たちは、小さく、非常にシンプルで、低コストのリモコンを設計しました。赤外線リモコンには様々な種類があります。これらのリモコンは、エンコード方法や物理的なボタンの数が異なり、ボタンが押されたときに受信するコードも異なります。

Example

配線図

IRレシーバーの接続

IR receiver Micro bit
    VCC 3.3V
     – GND
     S P8

RBGモジュールとマイクロビットを以下のように接続します

RGB Module Micro bit
GND GND
R P0
G P1
B P2

スクリプトの実行

コードを作るのに慣れていない方もご安心ください。まず、このリンクを入力してください: https://makecode.microbit.org/reference マイクロビットブロックのリファレンスから取得します。

このプロジェクトでは、拡張URLは https://github.com/osoyoo/OSOYOO_IR です。

Micro: bit V2.0.をお使いの方は、この拡張子のURLを入れてください。

https://github.com/osoyoo/OSOYOO_IR_V2.0

以下のコードをコピー&ペーストするか、エディタウィンドウの右上にあるオープンアイコンをクリックして、ご自分のMake Codeエディタで編集してください。 また、コードウィンドウの右下にあるダウンロードボタンをクリックして、このサンプルをダウンロードすることもできます。

v1-v1.5:

https://makecode.microbit.org/_KtKCrkR1eLJ1

V2 :

https://makecode.microbit.org/_HDACU3b3fXwP

テストの結果

ダウンロードが完了した数秒後に、リモコンの「CH-」ボタンを押すと、RGB LEDが赤に変わり、リモコンの「CH」ボタンを押すと、RGB LEDが緑に変わり、リモコンの「CH+」ボタンを押すと、RGB LEDが青に変わります。