
音声解析特別編!ベルトさんアナライザー
今回は特別編として、TONGARISMで作成した、全てのパターンを送信可能なマスターシフトブレス、名づけて「ベルトさんアナライザー」をご紹介します。ベルトさんアナライザーは小型のため、モバイルバッテリーと接続することで、どこでも持ち出して使用することができます!
使用機器
使用機器
- SainSmart MEGA2560 互換ボード
Arduino UnoのメモリやI/Oを増量したArduino MEGA 2560の互換ボードです。
- SainSmart 1602 LCD
青発光白文字のLCDモジュールです。6つのプッシュボタンがセットになっています。Arduino UNO / R3 / MEGA2560 / MEGA1280と互換性があります。
機器の構成
この画像のように、MEGA2560互換ボードとLCDボード、赤外線LEDを接続します。
赤外線LEDは53番ピンを使用しています。
ベルトさんアナライザー
動作仕様
- 赤外線パターンの選択
パターン種別( 0 / 1 )とシフトカーパターン( 0 ~ 511 )を入力できるよう、パターン種別0をマイナス値、1をプラス値とし、シフトカーパターンと組み合わせて-511~511の数値で送信したい赤外線パターンを選択できるようにしました。
- キー入力
プログラム可能なボタンがResetを除く5つしかないため、各ボタンの役割を以下のように設定しました。
キー名 | 役割 |
---|---|
LEFT_KEY | 数値-10 |
RIGHT_KEY | 数値+10 |
UP_KEY | 数値+1 |
DOWN_KEY | 数値-1 |
SELECT_KEY | 現在の設定値で赤外線送信 |
- LCD表示
LCDには設定中の赤外線パターンの数値を表示できるようにしました。
プログラム
※作成したプログラムを全て掲載してしまうと、モノさえ揃えれば誰でも簡単に再現できてしまうため、一部のみの公開とさせていただきます。
キー入力については、こちらからダウンロードできるサンプルプログラム「keypad_1602for_1.0」をベースに作成しています。
赤外線送信については、周波数38kHzで送信するため、以下の関数を作成しています。8μs間ON, 7μs間OFFを指定μsの間繰り返すことで、ベルト側で受信可能な38kHzの波形を作り出しています。
1 2 3 4 5 6 7 8 9 10 |
void sendIR_Micro(unsigned long len) { unsigned long us = micros(); do { digitalWrite(ir_out, 1); delayMicroseconds(8); digitalWrite(ir_out, 0); delayMicroseconds(7); } while (long(us + len - micros()) > 0); } |
実演
実際にベルトさんアナライザーを使って送信してみました。
あとがき
仮面ライダードライブ変身ベルト DXドライブドライバーの音声解析はいかがでしたでしょうか?
TONGARISMでは、おもちゃに限らず今後も興味を持ったテーマに対し取り組んだ内容を紹介していきます!