0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

IR Remoteを用いてArduinoから赤外線入力を確認するプログラム

Posted at

概要

https://amzn.to/3TRIMEB
Arduinoのキットなどによく入っている、上のリンクのリモコンの、各ボタンのコード込みで動作確認できるコードがなかったので、自分用に書きました。せっかくなので以下に貼り付けます。

バージョンなど

Arduino IDE 1.8.13
IRremote 2.8.0

コード

remoteControl.ino
#include <IRremote.h>        // ライブラリのインクルード
const int ReceiverPin = 11;  // 赤外線受信モジュール接続ピンをD2に

IRrecv irrecv(ReceiverPin);  // IR受信オブジェクトの生成(使用ピンを指定)
decode_results results;      // 受信情報の格納先(メーカー名/受信したデータ&ビット数など)

void setup() {

  Serial.begin(115200);       // シリアルポートを初期化
  irrecv.enableIRIn();        // 赤外線(IR)受信モジュールを有効に

  delay(500);

}

void loop() {
  
  if (irrecv.decode(&results)){            // 赤外線受信モジュールからデータを受信したかの確認
    if (results.value== 0xFF6897){
     Serial.println("0キーON"); //0が押された
    }
    else if( results.value == 0xFF30CF ){       // "1"が押された時
      Serial.println("1キーON");
    }
    else if( results.value == 0xFF18E7 ){       // "2"が押された時
      Serial.println("2キーON");
    }
    else if( results.value == 0xFF7A85 ){       // "3"が押された時
      Serial.println("3キーON");
    }
    else if( results.value == 0xFF10EF ){  // "4"が押された時
      Serial.println("4キーON");
    }
    else if( results.value == 0xFF38C7 ){  // "5"が押された時
      Serial.println("5キーON");
    }
    else if( results.value == 0xFF5AA5 ){       // "6"が押された時
      Serial.println("6キーON");
    }
    else if( results.value == 0xFF42BD ){       // "7"が押された時
      Serial.println("7キーON");
    }
    else if( results.value == 0xFF4AB5 ){  // "8"が押された時
      Serial.println("8キーON");
    }
    else if( results.value == 0xFF52AD ){       // "9"が押された時
      Serial.println("9キーON");
    }
    else if( results.value == 0xFF9867 ){       // "100+"が押された時
      Serial.println("100+キーON");
    }
    else if( results.value == 0xFFB04F ){       // "200+"が押された時
      Serial.println("200+キーON");
    }
    else if( results.value == 0xFFA25D ){       // "CH-"が押された時
      Serial.println("CH-キーON");
    }    
    else if( results.value == 0xFF629D ){       // "CH"が押された時
      Serial.println("CHキーON");
    }
    else if( results.value == 0xFFE21D ){       // "CH+"が押された時
      Serial.println("CH+キーON");
    }
    else if( results.value == 0xFF22DD ){       // "|<<"が押された時
      Serial.println("|<<キーON");
    }
     else if( results.value == 0xFF02FD ){       // "|>>"が押された時
      Serial.println("|>>キーON");
    }
     else if( results.value == 0xFFC23D ){       // ">||"が押された時
      Serial.println(">||キーON");
    }
    else if( results.value == 0xFFE01F ){       // "-"が押された時
      Serial.println("-キーON");
    }
    else if( results.value == 0xFFA857 ){       // "+"が押された時
      Serial.println("+キーON");
    }   
    else if( results.value == 0xFF906F ){       // "EQ"が押された時
      Serial.println("EQキーON");
    }  
    else Serial.println("未割り当てのキー");   // 未割り当てのキーが押された時

    Serial.print("IRコード: "); 
    Serial.print(results.value, HEX);       // 16進数で受信値を出力
    Serial.print(",  ビット: ");
    Serial.println(results.bits);           // ビット数(受信値長)を出力
    Serial.println("");
   
    irrecv.resume();                        // 次の値を受け取る
    
  }
  delay(500);
}

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?