前の記事で赤外線リモコンの信号コードをArduino NANO で取得しました、そのコードを使ってどのボタンが押されているのかLCDディスプレイに表示させます。
準備と配線
パーツは、LCDディスプレイ、赤外線受信モジュール・リモコン、ブレッドボード、配線用ワイヤーです。
LCDディスプレイは以前の記事で使用したものを使いますArduinoとの接続も同様です、赤外線モジュールの信号ピンはArduino のD2に接続します。
初めてFritzingを使って回路図を作成してみました、LCDや赤外線受信モジュールなどは実際のものとは違いますが参考程度に見て下さい、右側が実際にブレッドボードを使用して配線した画像です。
スケッチの書き込みと実行
配線チェックを確認してスケッチを書き込みます。
/* * 超小型LCDキャラクタディスプレイモジュール(16×2行 白抜き) *LCDとArduino との端子接続 *Arduino[11] <-> LCD[14] *Arduino[10] <-> LCD[13] *Arduino[09] <-> LCD[12] *Arduino[08] <-> LCD[11] * *Arduino[07] <-> LCD[06] *Arduino[06] <-> LCD[05] *Arduino[05] <-> LCD[04] * *半固定抵抗10kΩ <-> LCD[03](コントラスト調整用) *Arduino[5V] <-> LCD[02] *Arduino[GND] <-> LCD[01] * *Arduino[D2] <->IR[S] * */ #include <LiquidCrystal.h> //LCDライブラリー #include <IRremote.h> //IRライブラリー LiquidCrystal lcd(5,6,7,8,9,10,11); //Arduinoピン配置 const int RECV_PIN = 2; //IRの信号を2Dに接続 IRrecv irrecv(RECV_PIN); decode_results results; unsigned long key_value = 0; void setup() { lcd.begin(16,2); //2列16文字表示 Serial.begin(9600); irrecv.enableIRIn(); irrecv.blink13(true); } void loop(){ if (irrecv.decode(&results)){ if (results.value == 0XFFFFFFFF) results.value = key_value; lcd.clear(); lcd.setCursor(1,0); lcd.print("Display Button"); lcd.setCursor(5,1); switch(results.value){ case 0xFFA25D: lcd.print("1"); break; case 0xFF629D: lcd.print("2"); break; case 0xFFE21D: lcd.print("3"); break; case 0xFF22DD: lcd.print("4"); break; case 0xFF02FD: lcd.print("5"); break ; case 0xFFC23D: lcd.print("6"); break ; case 0xFFE01F: lcd.print("7"); break ; case 0xFFA857: lcd.print("8"); break ; case 0xFF906F: lcd.print("9"); break ; case 0xFF6897: lcd.print("*"); break ; case 0xFF9867: lcd.print("0"); break ; case 0xFFB04F: lcd.print("#"); break ; case 0xFF38C7: lcd.print("OK"); break ; case 0xFF18E7: lcd.print("Up"); break ; case 0xFF5AA5: lcd.print("Right"); break ; case 0xFF4AB5: lcd.print("Down"); break ; case 0xFF10EF: lcd.print("Left"); break ; } key_value = results.value; irrecv.resume(); } }
「case」に前の記事で取得しておいたリモコンのコード、「lcd.print」に対応するボタン名が入っています、コードの頭の0xは16進数の指定です。
実際に動作させた動画です
リモコンのボタンに対応するコードも間違いがなかったので、ロボカーのパーツが揃ったらリモコンも使えるロボカーの作成に掛ります。