8.4 KiB
#Sanro - Arduino 太鼓三郎(仮)用のハードウェア(タタコン)
##プログラムについて
東アジアの音ゲーマーならほどんどみんなが「太鼓の達人」というバンダイナムコエンターテインメントが開発した有名なゲームを知っていると思います。
このオープンソースプログラムの目的は家でアーケード感覚で使える「太鼓の達人」のハードウェア(つまりタタコン、以下タタコンと呼ぶ)を作ることです。
*******このプログラムは私用なげなためのものです、商業/営業用などの使用は厳禁******** *******自分で設計し作ったタタコンを市場に流通させないでください*********
##特徴/出来ること
- PCゲーム「太鼓さん次郎」に完全対応正確に、キーボードさえ使っていればどんなアプリケーション、ゲーム、エミュレーターでも使用可能。
- 圧力感知式 今は「太鼓三郎」というオープンソースのゲームを開発中、これに対応しています。
- 高密度の入力に対応、ローリングなど(ダブルストロークとも)
* 一言でいうと、完全アーケード感覚で太鼓を叩ける、調整さえよく出来れば! :D*
##予備知識
DIYプロジェクトなため、以下の知識が必要
- 電子に関する基本な知識、
- ジャンパー線とブレッドボードとマイクロプロセッサの繋ぎ方。
- はんだ付けに関する知識、必須ではないが
##作業開始
タタコンの組み立てと調整は数日かかるかもしれない。 マイクロプロセッサチップは高くないので、好きな所で購入してください。
###準備する物
ほどんどは代替出来ます、ここで私が使った物をリスト
- Arduino Micro モジュール/基盤 x 1
- KEYES K-036 マイクロフォンモモジュール/基盤 x 4 (以下、フォンモジュール)
- ブレードボード x 1
- ジャンパー線 多数
- Micro USB ケーブル x 1
- Arduino IDE
その他諸々、たとえば
- 木版、出来れば形はこう
- 木版の下敷きになるスポンジ (元文:Foamed plastics)
- 接着剤
- スクリュードライバーやマルチメーターなどの電子用具
注意すべきこと:
1.ATmega32u4を使用したarduino基盤もしくはarduino Dueとarduino Zero基盤には対応しています、Arduino Microは一番安いですが.
2.ブレードボードは安いですが、一番いい/安定している選択ではない、はんだ付け用のPCBの図面は提供してあります、詳細は下の「PCB製作」をご覧ください.
3.マイクロフォンモモジュールは自作でもOK、arduino基盤との繋ぎ方が分かれば.
4.厚い/無垢板/密度高い/重い木版が一番、これと逆に、合板/プラ版/中密度繊維板(MDF)は外縁部分が脆くて壊れやすい。いい感覚を得るため、木版の形はこうであるべき、切断工具がないなら、普通の形の木版も問題ない.
パーツの繋ぎ方
回路はすごくシンプルです、抵抗もキャパシタも要らない、要るのはジャンパー線だけ
ひとつのフォンモジュールには四つのピンがあり、使用するのはその中ほ三つだけ(A0
, +
, と G
)、それぞれ(四つ)のA0
(analog outの略)のoutput端子をArduino MicroのA0
からA3
input端子に接続。あとはそれぞれの+
ピンを全部Arduino Microの5V
ピンに、それぞれG
ピンはArduino MicroのGND
ピンに。下の写真を見て、間違っていないかを確認しましょう。
(写真は後でアップロードるす)
###(非必須)PCB製作
PCBは自作もしくはPCB製作業者に任せることが出来ます。 自作なら、以下の物が必要 (訳者:確信ないので、英語は保留している)
- 2.2 x 1.6 inches Empty PCB x 1 空のPCB板
- Thermal transfer paper x 1 熱転写紙
- Laser printer x 1 レーザープリンター
- Standard 4-pin header x 4 スタンダード4ピン端子
- Thermal transfer machine (or clothes iron) 熱転写機(アイロンもオッケー)
- Etchant エッチング剤
- Soldering tools はんだ付け用の工具
PCB自作の工程は完全別の話になりますので、この動画を見て参考になってください。
製作に使うファイルはEagle/sanro-arduino
フォルダーのsanro.eps
にまとめています。
図面をダウンロードして編集もできます、その時はEagle Softwareを使ってください。
###プログラムをarduino基盤にアップロード
- Arduino IDEをダウンロードし、インストール。
- 新規フォルダーを作って、ソースファイル(
sanro.ino
andcache.h
)をそこに入れます - usbケーブルを使って、Arduino Microをパソコンに接続、デバイスドライバは自動的にインストールされているはず(Arduino IDEインストールした時)、なにか問題があった場合、このオフィシャルガイドを見てください
- Arduino IDEで
sanro
projectを開く. - メニューで"Board" - "Arduino/Genuino Micro" を選択.
- コンパイルしてアップロード.
##コンフィギュレーション
** 警告:フォンモジュールと木板の状況に個人差は激しいので、ハードウェアとプログラムのパラメーターの調整には大量な時間がかかります、どうか耐えてください、この先には多くの試行錯誤が待っています。**
###ハードウェア やることは二つだけ
- フォンモジュールを木板に接着する(訳者:ねじを使う方がいい気がする)
- 木版をスポンジに固定
でもどうやるかは問題です、基本的に以下コツがあります
- フォンモジュールは出来るだけ木版に近い、かつ固く固定すること
- マイクロフォンを外部の音から遮断すること
- 木版をお互い接触させないこと
これらを実現するにひとつの方法は、フォンモジュールの受信機(元文:receiver)(わたしが使ったのを含め、受信機は大体円柱状です)のフルター(円柱の上にある黒い布)を撤去、この面を木板にくっつく、接着(元文:seal)。こうやって木板から発する音は直接マイクロフォンに伝わる、ラウド・アンド・クリア。同時に隣接の木板の音を最小限に減らせるができます。
(<28>ここからの部分は専門用語多いので、間違うと訳出来ないところが多い)
あと注意すべきこと、このKEYESモジュールにはポテンショメータがひとつあります、このポテンショメータはマイクロフォンのquiescent operating point (Q-point)を調整用に使うものですが、私はアルゴリズムを使って、各マイクロフォンのQ-pointの違いによって出来たバイアスを消去することができた。手動でこのポテンショメータを調整、Q-pointを同じぐらいにすののがいいどうやるかは提供会社に尋ねてください。
###プログラム中のパラメーター
フォンの状況によってLIGHT_THRES
とHEAVY_THRES
の数値をかえてください。
コードは短い、説明はいらない、理解したい方は「アルゴリズムについて」の部分を見てください。
##アルゴリズムについて このプラグラムのアルゴリズムはシンプル、でもまだ改善する余地はあります、pull requestを歓迎しています。
簡単に言うと、アナログ信号を受けた後は以下四つの演算をする (専門用語わからないので日本語訳はこれでおわり、)