LoginSignup
13
8

More than 1 year has passed since last update.

赤外線リモコンを自作する - その1データ解析編

Last updated at Posted at 2022-07-22

目次

  1. 赤外線リモコンを自作する - その1データ解析編
  2. 赤外線リモコンを自作する - その2データ送信編
  3. 赤外線リモコンを自作する - その3温度/湿度センサー編
  4. 赤外線リモコンを自作する - その4サーバサイド編
  5. 赤外線リモコンを自作する - その5クライアント編

赤外線リモコンを自作する - その1データ解析編

何番煎じかわからないが、赤外線リモコンを自作し、API経由で操作できるようにしたい。
今回はその1データ解析編として、家電の赤外線リモコンからどのような信号が送られているかを解析する。
この信号を端末から送ることで、家電を操作できるようにする。

用意するもの

機器 型番 参考価格
Arduino互換機 ESP32-DevKitC-32D 1,480円
赤外線受信モジュール PL-IRM0101 110円

手順

  1. Arduino IDE > ツール >ライブラリを管理よりIRremoteESP8266を検索し、インストールする
  2. ファイル > スケッチ例 > IRremoteESP8266 > IRrecvDumpV3を選択する

赤外線受信モジュールは、左からVout、GND、Vccとなっているので、ESP32の14pin、GND、5Vに接続する。

Runしたあと、赤外線リモコンのボタンを押すと、シリアルモニタの11520bpsに下記のような値が表示される。

シーリングライト

Protocol  : UNKNOWN
Code      : 0xCA21A230 (42 Bits)
uint16_t rawData[83] = {3486, 1722,  446, 418,  446...}

Panasonicエアコン

Protocol  : PANASONIC_AC
Code      : 0x0220E004000000060220E004003132803F00000660400080000654 (216 Bits)
Mesg Desc.: Model: 4 (JKE), Power: On, Mode: 3 (Cool), Temp: 25C, Fan: 0 (Quiet), Swing(V): 15 (Auto), Quiet: Off, Powerful: Off, Clock: 00:00, On Timer: Off, Off Timer: Off
uint16_t rawData[439] = {3496, 1724,  452, 418,  452...}

このrawDataを赤外線LEDより送信することで、家電を操作できるのでメモしておく。

補足と注意点

  • IRremoteESP8266と似たようなライブラリとして、IRremoteというのがあるが、こちらのReceiveDemoは、エアコンのように長い信号の場合、正しく値を取得できない問題があるみたいです。
  • IRrecvDumpV3は、パナソニック、三菱、東芝、ダイキン、富士通などの国内メーカーのエアコンデータを解析できます。詳しくはリポジトリを参照してください。
  • 上記メーカーのエアコンなのに、ProtocolがUNKNOWNとなる場合、kTimeoutの値を長くしてください。#define DECODE_AC trueをファイルの上の方に書くことで、プログラムで用意されている値を使用することができます。
  • IRremoteESP8266のスケッチ例として他にもTurnOnPanasonicACなどがあり、これを使うことで、rawDataを扱うことなく、信号を送信できます。
13
8
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
13
8