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