赤外線 (IR) 光による「従来の」テレビ/VCR/ステレオ制御が1980年代に登場してから、まだ数十年しか経っていません。現在利用可能な最も高度なリモート コントロール方法ではありませんが、安価で、通常は機能します。そのシンプルさにより、 Arduino IRリモート コントロール プロジェクトは、受信機に約1ドル、さらに使用していない予備のリモコンがあれば実装できます。
IRリモートArduinoライブラリ: リモート コードへのアクセス
Arduinoボード または他の マイクロコントローラ ( ATtiny85 や ATtiny84など)でIRレシーバーを使用するには、まずKen ShirriffによるIRremoteライブラリをインストールします。これは、Arduinoライブラリ マネージャーで irremotelibrary を検索すると見つかります。または、 GitHubのこちら から入手できます。インストールすると、 File-Examples-IRremote の下にあるいくつかの新しい例にアクセスできるようになります。
この制御実験では、 Arduino Uno と Vishay TSOP4838 IRリモート レシーバーを使用できます。この特定の受信機は、38kHz範囲の信号で動作するように設計されており、ほとんどの自然光をフィルタリングしながら、標準的な消費者向けリモコン ユニットからの信号を復調します。TSOP4838の電源ピンはArduino 5Vに、グランドはグランドに接続され、出力ピンはArduinoピン11に接続されます。
関連商品を見る
IRrecvDemo サンプルを開いて、ボードにアップロードします。Arduinoを接続したまま、 [ツール] - [シリアル モニター] または [Ctrl+Shift+M] でシリアル モニターを開くと、有効になっているIR入力に関する最初のメッセージがいくつか表示されます。リモコン(どのリモコンでも構いません)を手に取り、TSOP4838に向けてボタンを押します。端末にIRコードが16進数で表示され、正しく読み取られていることがわかります。
Arduino IR LEDコントロール
これをもう少し楽しくするために、内蔵の LEDからのフィードバックを追加することもできます。おそらくその方法はお分かりでしょうが、Shirriffのコードに少し手を加えたこのバージョンでは、任意のボタンを押すだけで内蔵LEDにLEDフィードバックが生成されます。 これはほとんどの状況で望ましいことではありませんが、物事がうまくいっていることを証明しています。
Arduino IRリモコンを個別のコードに応答するように設定する

もちろん、このタイプのリモコンの本当の力は、チャンネル、音量、ロボットの位置などを変更できることです。次のステップは、使用するボタンを識別し、この入力を検出したときにArduinoが応答するようにすることです。前の例では、特定のリモート コードを識別し、 この拡張バージョン では、さまざまなアクションをトリガーするためのswitch caseステートメントが追加されます。
このコードには、3つのコード入力オプションと、送信された内容が認識されない場合にアクティブになるデフォルトの「不明なコード」シナリオが表示されます。これらのオプションは必要に応じてコピー、削除、変更できます。また、押されたボタンに関するフィードバックを提供するよりも興味深い出力を設定することもできます。各オプションを有効にするには、独自のリモート コードを代入します。この設定は、同じプログラムで異なるブランドやスタイルを使用しても、さまざまな種類のリモコンで機能することに注意してください。
外部からArduinoを制御する方法を習得したら 赤外線コントローラーArduino自体を使用してこれらの信号を生成することもできます。これにより、別のカスタム受信機設定を制御したり、ユニバーサルArduino IRリモコンとして機能したりできるようになります。。