以前、赤外線信号を使用してArduinoボードを制御する方法について説明しましたが、Arduino IRリモコンとして他のデバイスを制御することもできますか? 簡単に答えると「はい」ですが、興味深い電子工学技術の場合と同様に、さらにいくつかの詳細があります。
Arduino IRセンサーチュートリアル
まだインストールしていない場合は、Arduino IDEに IRremotelibrary をインストールし (前回のIR制御の投稿で説明したとおり)、サンプルを開きます。いくつかの例では、 IR信号の送信を参照していることに注意してください。これらはArduinoピン番号3を使用します。これは、PWM信号を使用して、ほとんどの電気デバイスに実装されている適切な38 kHzキャリア周波数でパルスを送信できます。
Arduino IRセンサーチュートリアル
必要に応じて、適切な 抵抗 とともに、 IR LEDをArduinoのピン3とアースに接続します。IRエミッターの 出力によっては、制御用に トランジスタ を実装する必要がある場合がありますが、実験中に送信される短いIR信号バーストでは問題が発生する可能性は低いでしょう。
IRリモートライブラリ
セットアップをテストする方法は、制御するハードウェアによって異なります。標準の IRtest デモは、5秒ごとにSonyデバイスのオン/オフを切り替える信号を送信します。JVCPanasonicSendDemo は、同様の方法でPanasonicおよびJVCデバイスの電源信号を送信します。必要かどうかは別として、Arduino UnoとIR LEDを使用してPanasonic TVのオン/オフを正常に実行する前に、JVC制御ラインをコメント アウトしました。他にもさまざまなデバイス用のサンプルが用意されており、 IRtest2 コードを使用すると、1つのArduinoで別のArduinoを制御できます。
Arduino IRコードを読む
これらの例では、特定のリモート値が保存される場合と保存されない場合があることに注意してください。IRレシーバーを使用すると、リモコンからコードを読み取り、コードに複製することができます。これらのコードを入手すれば、ニーズに完全に適応したカスタムIRリモコンを作成して、デバイスと次々にインターフェースすることができます。
もっと一般的に言えば、エミッターが実際に何か動作しているかどうかを知りたい場合は、それを目に見えるLEDに置き換えて、信号が点滅するかどうかを確認できます。あるいは、赤外線フィルターのないカメラもあります。 Raspberry PiのNoIR V2 赤外線を観察できるようになります。最後に、受信機とオシロスコープをお持ちの場合は、それらを接続して、画面上で受信信号を確認できます。これには少し注意点があり、IRエミッターをオンにするだけでは、必ずしも受信機が同様に応答するとは限りません。
Raspberry Piでのテスト Analog Discovery 2オシロスコープのセットアップ。
搬送周波数と光周波数
確かに一部の人にとっては明白ですが、赤外線は300 GHzから430 THzの間で放射され、IR信号で使用される38 kHzの搬送周波数をはるかに上回ります。IR受信機は通常、IRよりも高い周波数の可視光を遮断するための暗いカバーを備えていますが、搬送周波数はどちらよりも桁違いに遅いことに注意してください。適切なIR光源と適切なエミッター/レシーバーが選択されると、光のギガヘルツおよびテラヘルツ範囲の振動についてはほとんど忘れることができます。
専用の受信機のような ビシェイTSOP4838 また、常に点灯している光や、指定された搬送周波数よりも遅く切り替わる信号も除去します。したがって、単にスイッチを入れて一定の光線を生成することでIR信号をテストしようとすると、不正確な結果 (ある場合) が得られます。
IR受信機が正常に動作しない場合は、テレビのリモコンで信号を送って何が起こるか確認してください。あるいは、標準のIR フォトトランジスタ または フォトダイオード は、搬送周波数に関係なく、IR光の適切な「色」を感知します。これは、トラブルシューティング時に役立つ可能性があります。
今日と明日のためのIRコントロール
IR信号には制限がありますが、実装コストが安く、問題なく動作する傾向があります。BluetoothやWiFiなどの新しいテクノロジーは多くのアプリケーションに最適ですが、今後数年間はIRが依然として「制御可能」であるはずです。Arduinoやその他の同様の開発ボードを使用すると、必要に応じてIR信号を使用でき、テクノロジ間の橋渡しも行えます。