【Arduino】 IRリモート

LESSON 040

      ArduinoからIRデータを送信する

 
○ 今回はIRリモート(赤外線の送信機・リモコン)についてを説明します。
   
○ LESSON 036  037では、Arduino用のUNO R3 最終版スタータキットの中にある赤外線受信モジュールとリモコンで実験を行いましたが、今回は送信用のリモコンの代わりにIRレシーバーモジュールで実験を行います。
  

 
○ 赤外線のLEDと一般のLEDは異なります
   赤外線LEDは波長  850nm
        一般のLEDは波長  550nm  (発光が見えるの)  
 

目 次

    • 構成部品
    • 配線図
    • スケッチ
    • 結果
    • まとめ
       
構成部品

Arduino​
USBケーブル​
IRレシーバーモジュール
ブレッドボード
ジャンパー線 

      
配線図  

    GPIO 3      ⇒ DAT

      5.0V        ⇒  VCC
  GND         ⇒  GND


スケッチ《 test032》  

   
#include  <IRremote.h>   
IRsend irsend;           
void setup(){
}
void loop(){
irsend.sendNEC(0xFF16E9, 32);
delay(10000);
}

      


解説

   #include <IRremote.hpp>
   複数の種類のコントローラの赤外線信号を送受信出来るライブラリです。

    IRsend  変数;
    赤外線送信用 の変数を設定

    ※ IRデータの出力ポートはGPIO 3 になります。
    GPIO 3 で固定らしいです。

  • void loop() 内
    変数.sendNEC(IRデータ, ビット長);

    IRデータを送信する
      

フォーマット形式により関数が異なります。

変数.sendNEC(IRデータ, ビット長);
  NEC フォーマット形式  
変数.sendSony(IRデータ, ビット長);
  Sony フォーマット形式
変数sendRC5(IRデータ, ビット長);
  RC5 フォーマット形式
変数.sendRC6(IRデータ, ビット長);
  RC6 フォーマット形式 
変数.sendPanasonic(IRデータ, ビット長);
  Panasonic フォーマット形式  
変数.sendJVC(IRデータ, ビット長);
  JVC フォーマット形式 
変数sendSAMSUNG(IRデータ, ビット長);
  SAMSUNG フォーマット形式
変数.sendLG(IRデータ, ビット長);
  LG フォーマット形式 
変数.sendSharp(IRデータ, ビット長);
  Sharp フォーマット形式t 
変数.sendWHYNTER(IRデータ, ビット長);
  WHYNTER フォーマット形式 
変数.sendDENON(IRデータ, ビッフォーマット形式ト長);
  DENON フォーマット形式

  
結果

リモコンで”2”のボタンを押すとトランジスタ-TC1テスター で FF18E7 が表示されます。リモコンの代わりにIRリモートも同じ出力が得られました。 
    
     

  
LESSON 036 リモコンから送信したデータを読み取る プログラムで 今回のIRリモートから送られたIRデータを読み取ることが出来ました。
   

   

     

     

     

まとめ

〇 今回のIRリモートではarduinoを用いて独自のリモコンが作れます。今回のライブラリでは市販のコントローラのIRデータを読み取ることが出来ませんでした。
      
○ Arduino を 学ぶ上で書籍やWebpageを参考に作っていますが、私なりに噛み砕いて書いているつもりですが、判らない点がありましたら連絡下さい。

目次