Edited at

仮面ライダードライブベルトの赤外線信号解析

More than 3 years have passed since last update.

チビが毎日遊んでいる仮面ライダードライブのベルト。腕のブレスと腰ベルト間で赤外線通信をしているようなので、チビが寝静まった夜中に信号を解析してみました。音量の調節機能が無いので深夜に鳴り響くのが微妙に辛かったです(笑。

Arduinoでやろうかと思ったのですが、手元に赤外線の送受信モジュールがなかったので、今回はIRKITを利用しました。


使用したもの


プログラム

ヘッダー ON(10T)->OFF(1T)に続いて「0」の場合はON(3T)->OFF(1T), 「1」の場合はON(1T)->OFF(3T)という感じの12bitのコマンド。必殺ボタン?を押した場合は、コマンドにつづいて装着されているシフトカーコードを送っていました。

最初は11bit+ストップビット1bitで網羅できたようなの気がしていたのですが、手元の「タイプスピードのてれびくん版」は最終bitがON(3T)で、ON(1T)の場合は別のものが発動するためよくよく調べてみると12bitのようでした。

どちらかというと最終bitが「1」の場合は一般的のもの、「0」の場合は「ウルトラ〜」のようなレアバージョンのコードが多いようですので、試してみると良いかと。

IRKITではon/off切り替え時間を送る方式なので取得したデータを元に調整してあります。おもちゃなのでそれほど厳密では無いとは思います。

さくっとcurlを呼んでいるので、コマンドラインを使いたく無い場合はnet/httpとかで書き換えると良いかと思います。

def makeIRData(code)

bit0 = "3013,1073"
bit1 = "1073,3013"
bit_start = "11529,1111"
data = bit_start
code.chars{|ch|
data += "," + bit0 if ch == '0'
data += "," + bit1 if ch == '1'
}
data
end

def sendIRData(ip, code, hissatsu = false)
if hissatsu
# 必殺!
data = makeIRData("001111111111")
cmd = "curl -s \"http://#{ip}/messages\" -d '{\"format\":\"raw\",\"freq\":38,\"data\":[#{data}]}'"
`#{cmd}`
sleep(5)
end
data = makeIRData(code)
cmd = "curl -s \"http://#{ip}/messages\" -d '{\"format\":\"raw\",\"freq\":38,\"data\":[#{data}]}'"
`#{cmd}`
end


使用例

# IRKITが192.168.1.107にあり、タイプスピードの信号を出す場合

sendIRData("192.168.1.107","001000001011",false)

# IRKITが192.168.1.107にあり、タイプスピードの必殺!信号を出す場合
sendIRData("192.168.1.107","001000001011",true)


送出コード一覧

12bitです。思ったより反響が大きく、ネタバレに関する懸念もあるため公開コードを少なくしました。ヒントとして最後は1の場合は標準のもの、0はバリエーションをつけた特別バージョンが多いようです。(1/13更新)


特殊コード

コード
種類

000000000001
シフトカー脱着

000111111111
シフトカー挿入

001111111111
ボタン押し下げ(シフトカー有)→この後シフトカーコードを送出

001100000000
ボタン押し下げ(シフトカー無)


連動

コード
種類

000000000011
ハンドル剣

000000000100
ドア銃


シフトカー

コード
種類

001000001011
タイプスピード

001000001101
タイプワイルド

001000001111
タイプテクニック

001000011011
タイプフルーツ

001000011101
タイプスペシャル


タイヤ交換

コード
種類

001000101001
マックスフレア

001000101011
ファンキースパイク

001000101101
ミッドナイトシャドー

001000101111
ジャスティスハンター

001000110001
ドリームベガス

001000110011
ディメンションキャブ

001000110101
マシンモンスター

001000110111
ダンブルダンプ

001000111001
マッドドクター

001000111011
バーニングソーラー

001000111101
カラフルコマーシャル

001000111111
フッキングレッカー

001001000001
ファイヤーブレイバー

001001000011
ローリンググラビティ

001001000101
スピンミキサー

001001000111
デコトラベラー

001001001001
ロードウィンター

001001001011
アメージングサーカス


その他?

コード
種類

001001110011
タイプスピード - テレマーカー

001001110101
メガマックスフレア - ようちえん

001001110100
ハイスピード - てれびくん 

001001110111
スペシャルカー


謎?

コード
種類

001110001011
ライダー

001110110111
クウガ―


ごにょごにょ

子供がシフトカーを集めるのも楽しみかと思うので、飽き始めた頃にこれで親の技術力をみせつけてあげると良いかと思います。「カラフルコマーシャル出して!」とか言われると結構めんどくさいので要注意です(笑。

あと、手元に無いので挙動がわからないのですがハンドル剣とかからも信号受け取るようなので、まだまだコマンドはあるかと思います。→追記しました(1/17)