airGuitarを作る
airGuitarを作る
Monakaから派生したアプリケーションとしてairGuitarを作りました。
airGuitarはギター風の入力装置です。タクトスイッチでコードを選択して、弦を弾くように感覚でトリガを入れると、MIDIを出力します。
iPad, MacOSX, Windowsからは特別なドライバソフトのインストール不要で使えます。
1. しくみ
airGuitarはタクトスイッチでコードを押さえ、距離センサでトリガを入力し、対応したMIDIコードをUSBで出力します。
基本はギターなので、ディフォルトで和音を出すようにしています。
回路的にはMonakaで作ったものを簡略化しています。Monakaで外部回路を使っていた部分をソフトウエア処理に変えました。
Monakaでは汎用性を重視して、外部に回路を設けて距離センサのアナログ出力を処理しています。
具体的には、外部ロジックで次の処理をしていました。
(1) 距離センサの出力をしきい値で切って入力あり/なしの信号にする
(2) 信号がばたつかないように、ワンショットマルチで一定時間のトリガをかける
専用のファームウエア内で、全てソフトウエアで処理するようにしました。また、パーツを減らすため以下の変更をしています。
(1) Tiny861の内部CR発振を使う。これによってクリスタルが不要になった。
これはPepperと同様の手法です。
(2) 割り切って、入力キーを減らす。
回路図を以下に示します。
2. 組み立て
専用基板を利用すれば組み立ては簡単です。自分で組み立てる場合には、キーの配置を工夫すると良いと思います。
パーツリストを以下に示します。
名称 | 型番 | 数量 | 備考 |
CPU | Tiny861 | 1 | 専用プログラムの書き込みが必要 |
ICソケット | 20PIN | 1 | |
距離センサ | GP2Y0A21YK0F | 1 | 取り付けに工夫が必要 |
USB Bコネクタ | 基板取り付け用 | 1 | |
タクトスイッチ | 6mm x 6mm | 10 | |
LED | 赤、緑 | 2 | 色は自由 |
抵抗 | 1Kオーム 1/6W | 2 | LEDによって明るさを調整(820Ωなど) |
抵抗 | 75オーム 1/6W | 2 | |
抵抗 | 1.5Kオーム 1/6W | 1 | |
抵抗 | 10Kオーム 1/6W | 1 | |
積層セラミックコンデンサ | 0.1uF | 1 | |
電解コンデンサ | 100uF / 16V | 2 | |
ツェナーダイオード | 3.6V | 2 | |
ポリスイッチ | 500mA | 1 | 省略可能 |
基板 | 専用基板 | 1 | ユニバーサル基板でも作成可能 |
なお、基板単体で試す場合には、このページの最初の写真のように距離センサを基板の穴に仮止めすると便利です。
3. 使い方
iPadやパソコンにつなぐだけで、USB-MIDIデバイスとして認識されます。
そのままDTMソフトから使えます。
距離センサの感度(感知する距離)などはMIDI経由で制御可能です。専用ソフトを作成予定。
4. ダウンロード
ファームウエアはこちら (2012/8/28更新)
自分でファームウエアを書く場合には、HEXという名称のフォルダに入っているファイルを書き込んだ上で、ヒューズビットを以下のように設定して下さい。
FUSEH = 0xcd
FUSEL = 0xe1
(了)