Moved ESP32 to main branch
This commit is contained in:
parent
86168388b8
commit
0056f09789
10 changed files with 485 additions and 61 deletions
|
|
@ -2,43 +2,57 @@
|
|||
|
||||
[中文文档在这里](README_zh-CN.md)
|
||||
|
||||

|
||||

|
||||
|
||||
# 太鼓ドラムコントローラ - Arduino/ESP32
|
||||
# Taiko Drum Controller - Arduino (ATmega32U4/ESP32)
|
||||
|
||||
オープンソースのハードウェアプログラムで、自分の「太鼓の達人」PCコントローラーを作りましょう。
|
||||
自分の太鼓の達人PCコントローラを作るためのオープンソースハードウェアプログラム。
|
||||
|
||||
## このプロジェクトについて
|
||||
|
||||
このプロジェクトは、自宅で自分の**ハードウェア太鼓**を開発するのを助けることを目的としています。
|
||||
このプロジェクトは、自宅で自分のハードウェア太鼓を開発するのを助けることを目指しています。
|
||||
|
||||
*このプログラムは個人的かつ非商用のみで使用してください。*
|
||||
**このプログラムは個人的かつ非商用のみに限ります。**
|
||||
|
||||
## 必要なもの
|
||||
|
||||
1. Arduino MicroまたはLeonardoマイクロコントローラ(他の互換ボードも動作する可能性がありますが、キーボードエミュレーションをサポートしているか確認する必要があります);
|
||||
1. Arduino Micro/Leonardo (ATmega32U4) ボードまたは Arduino Nano ESP (ESP32) ボード。
|
||||
|
||||
ほとんどのATmega32U4ボードは動作しますが、キーボードエミュレーションをサポートしているかを確認する必要があります。Arduino UnoのようなATmega328Pボードは動作しません。
|
||||
|
||||
ESP32はATmega32U4よりも格段にパワフルなため、強く推奨されます。このプロジェクトではESP32-WROOM-32ボードを使用しています。
|
||||
|
||||
チェックアウトしてください "ESP32" ブランチを使う場合はESP32ボードを使用します。ESP32はATmega32よりも大幅に高速で、Bluetoothキーボードとしてコンピュータに接続することができます。
|
||||
2. 4つの圧電センサ。
|
||||
|
||||
2. 4つの圧電センサー;
|
||||
3. 8つの100kΩ抵抗。
|
||||
|
||||
3. 必要な電子部品(ブレッドボード、抵抗器、LED、ジャンパーワイヤーなど);
|
||||
|
||||
4. 太鼓を一から作る場合は木材と切削ツール。市販の太鼓やビッグパワーLv.5ドラムを持っている場合は、それらを直接使用できます。
|
||||
4. (任意) DB107などのブリッジ整流器チップ(詳細は追加ノートセクションを参照)。
|
||||
|
||||
## コントローラーを作る手順
|
||||
|
||||
1. 太鼓を作り、4つの圧電センサーを太鼓にしっかりと接着してください。センサーの好ましい位置については、画像を参照してください。
|
||||
5. (任意) 赤と青のLEDいくつか。
|
||||
|
||||

|
||||
|
||||
2. 圧電センサーと他の部品を次のようにコントローラーに接続します(圧電センサーの極性は関係ありません);
|
||||
6. 必要な電子部品(ブレッドボード、ジャンパーワイヤーなど)。
|
||||
|
||||

|
||||
7. 木板と切削工具(自分で物理的な太鼓を一から作る必要がある場合のみ)。アフターマーケットの太鼓やBig Power Lv.5ドラムを持っている場合は、それらを直接使用できます。
|
||||
|
||||
## コントローラを作る手順
|
||||
|
||||
1. 太鼓を作り、4つの圧電センサを太鼓にしっかりと接着します。センサの好ましい位置については画像を参照してください。
|
||||
|
||||

|
||||
|
||||
2. 圧電センサと他のコンポーネントを以下の通りコントローラに接続します(圧電センサの極性は問いません);
|
||||
|
||||
以下のスキームはArduino Microボード用です。異なるボードを使用する場合は、接続についてそのドキュメンテーションを参照してください。
|
||||
|
||||

|
||||
|
||||
ブリッジ整流器を追加することを選択した場合、以下のスキームを使用してください:
|
||||
|
||||

|
||||
|
||||
3. ファームウェアをボードにフラッシュします。
|
||||
|
||||
`SAMPLE_CACHE_LENGTH`、`HIT_THRES`、`RESET_THRES`、`sensitivity`などのパラメータを微調整する必要があるかもしれません。詳細は次のセクションを参照してください。
|
||||
`SAMPLE_CACHE_LENGTH`、`HIT_THRES`、`RESET_THRES`、`sensitivity`などのパラメータを微調整する必要があるかもしれません。詳細は以下のセクションを参照してください。
|
||||
|
||||
4. 楽しんでください!
|
||||
|
||||
|
|
@ -46,20 +60,34 @@
|
|||
|
||||
1. ヒットとリセットの閾値
|
||||
|
||||
`DEBUG 1`を設定してください(これによりキーボード出力が無効になり、シリアルポートからの信号値が送信されます)、ファームウェアをフラッシュし、太鼓の4つのエリアの1つでロールし、シリアルモニターからの出力グラフを視覚化します。ヒット閾値は太鼓での最も重いヒットより小さくなければならず、リセット閾値はロールヒットの間の波底より大きくなければなりません。リセット値もヒット値より下である必要があります。
|
||||
`DEBUG 1`を設定し(これによりキーボード出力が無効になり、シリアルポートから信号値が送信されます)、ファームウェアをフラッシュし、太鼓の4つの領域のいずれかでロールして、シリアルモニターの出力からグラフを視覚化します。ヒット閾値は太鼓の最も重いヒットよりも低く、リセット閾値はロールヒットの間のトラフよりも大きくする必要があります。リセット値はまた、ヒット値よりも低くする必要があります。
|
||||
|
||||
残りの3つのエリアについてもプロセスを繰り返し、すべてに適合する最適な値を見つけてください。
|
||||
残りの3つの領域についてもプロセスを繰り返し、すべてに適合する最適なものを見つけます。
|
||||
|
||||

|
||||

|
||||
|
||||
2. サンプリング長
|
||||
|
||||
最大のランタイム速度のために、`cache.h`ライブラリは2のべき乗の`SAMPLE_CACHE_LENGTH`ウィンドウサイズで動作するように最適化されています。つまり、2、8、16、32などです。実際にはArduinoにとって16が最適な値ですが、少なくとも4000Hz以上の速度で入力をサンプリングする強力なマイクロコントローラを持っている場合は、よりスムーズ(つまり、ノイズが少ない)曲線のために値を32に変更できます。
|
||||
最大の実行時間速度のために、`cache.h`ライブラリは2のべき乗の`SAMPLE_CACHE_LENGTH`ウィンドウサイズで動作するように最適化されています。つまり2、8、16、32などです。実用的には16がArduinoにとって最適な値ですが、少なくとも4000Hz以上の速度で入力をサンプリングするパワフルなマイクロコントローラを持っている場合は、よりスムーズな(つまり、ノイズが少ない)カーブのために値を32に変更することができます。
|
||||
|
||||
3. 感度
|
||||
|
||||
すべての圧電センサーが同じではなく、設置エラーのために4つのセンサーから捉えられる信号は大きく異なる可能性があります。感度値は違いを正規化するための乗数です。次の例では、右ドンエリアが他の3つよりもはるかに高い値を生成しているため、`sensitivity`を`{1.0, 1.0, 0.5, 1.0}`に調整して問題を解消できます。
|
||||
すべての圧電センサが同じではなく、取り付けエラーにより、4つのセンサからキャプチャされる信号は大きく異なることがあります。感度値は、差異を正規化するための乗数です。以下の例では、右のドンエリアが他の3つよりもはるかに高い値を生成しているため、`sensitivity`を`{1.0, 1.0, 0.5, 1.0}`に調整して問題を解決できます。
|
||||
|
||||

|
||||

|
||||
|
||||
センサーの設置が非常に重要です。センサーが木材にしっかりと取り付けられ、適切な位置にあることを確認してください。
|
||||
センサの取り付けは非常に重要です。センサが木にしっかりと取り付けられ、適切な位置にあることを確認してください。
|
||||
|
||||
## 追加ノート
|
||||
|
||||
1. ブリッジ整流器の使用理由
|
||||
|
||||
圧電センサの電圧を偏らせない場合、その出力電圧範囲は約-5Vから+5Vです。しかし、アナログ入力のADCは正の電圧値(ESP32の場合は0-3.3V、ATmega32U4の場合は0-5V)のみを受け付けます。負の電圧を受け取ると、単に0に切り捨てられます。
|
||||
|
||||
通常の電子ドラムでは、入力エネルギーの半分を失っても、ヒットタイミングの計算には影響しませんので問題ありません。しかし、*太鼓*のドラムでは、特にATmega32U4のような遅いプロセッサを使用すると問題が発生することがあります。
|
||||
|
||||
太鼓のドラムでは、4つの振動する部分がすべて繋がっているため、左のドンを叩くと、プロセッサは左のカツ、右のドン、右のカツからも信号を受信します。左のドンの圧電センサが最初に負の電圧を生成し、ADCによって切り捨てられると、約3〜4ミリ秒のわずかな「遅延」が発生し、プロセッサはこのヒットを誤って右のドン、左のカツ、または右のカツとして処理する可能性があります。どちらかが最高の正の値を送信した場合です。
|
||||
|
||||
ブリッジ整流器を使用すると、すべての負の値が正の値に変換されます。言い換えれば、それは`abs()`関数のようなもので、負の電圧を失わないことを保証します。
|
||||
|
||||

|
||||
Loading…
Add table
Add a link
Reference in a new issue