LoginSignup
2
2

More than 5 years have passed since last update.

赤外線リモコンのデータ

Last updated at Posted at 2018-02-21

I2C赤外線リモコンmruby-remoconはビットトレードワンさんのUSB赤外線リモコンの仕様を一部変更したデータ形式となっています。

1バイト目は同じデータですが、2バイト目以降のデータはビットの並びを反転してます。USB赤外線リモコンは最下位ビット(Least Significant Bit:LSB)からの送信でI2C赤外線リモコンは最上位ビット(Most Significant Bit:MSB)からの送信となります。

IRBIT.png

これまで赤外線リモコンのデータでLSBからのパータンは見た事がなく、以前から作っていた、アルマジロのお使いなどと共通としたかったからです。ちなみに普通のシリアル通信はLSBから送られます。

アルマジロのお使いではFUTABA WEBさんのリモコン・データーベース形式(MSBから送信)を使っています。

この形式からI2C赤外線リモコンのデータ形式にするには以下のように変換します。

ソニーPlayStation2の○を例にします。

データは0xBAB5B0となって20ビットのデーターです。

1バイト目はビット長を4で割った物が上位4ビットで下位4ビットは信号のタイプになります。タイプは家電協会が1でNECが2でSONYが3となります。

((20 / 4) << 4) | 3 = 0x53

となります。後は0xBA,0xB5,0xB0が続き4バイトでデータが出上がります。

mruby-remoconの受信機能でデータを取得する事もできます。

$ mirb 
mirb - Embeddable Interactive Ruby Shell

> t = Remocon.new()
 => #<Remocon:0x101056fe0>
> p t.recieve
[83, 186, 181, 176]
 => [83, 186, 181, 176]

NECタイプのAppleRemoteの再生ボタンは[130, 119, 225, 32, 00]になります。この信号を調べているサイトではビットの並びが逆なページもあるようなのでNECタイプのビットは逆なのかもしれませんが、混乱するので並びは統一します。

自分のテストケース

タイプ 対象 備考
SONY CD,PS2
NEC AppleRemote
家電協会 シーリング シーリングは認識率低いです

貴重なデータを提供されているFUTABA WEBさんに感謝しております。

2
2
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
2
2