V2とV3の違い
基本はController Boardを無くし、Connection Boardと一体化。
Control Boardの廃止
以下の理由でControl Boardを廃止する
Control Boardが無くなることで組み立てが容易になり、時間短縮になる
これ見よがしについている割には、使い方が一般客にとっては分からない
出っ張っているので、円になっている構造を毀損してしまう
Seeed XIAOを使うことで小型化可能
マイコンプログラムの修正
Seeed XIAO対応
V3 Control-Connection Board
V3では、Controller Boardを廃し、Connection Boardと一体化させる。そのBoardを製作する。以下ではV2の差分分について紹介する。
回路図作成
マイコンボードの変更
信号は3.3vベース
LED基板は5vベース
以前は、USBを繋いだだけでも動作はしたが、今回は3.3v系しか動かないので、全体を動かすには先にACアダプターで5v供給のための電源を入れておく必要がある。
マイコンボードをRP2350に
以下のマイコンボードに変更
Seeed XIAO RP2350
I2Cバス電圧変換用IC
I2Cバス電圧変換用IC
を購入
マイコンプログラムの変更
赤い丸で示した①は、書き込み時に押すSeeed XIAOのスイッチです。
チェックサムの計算
これまで、テーブルを書き込む際、テーブルに入れるチェックサムをWindowsの専用アプリ(EZ-click)で計算させていました。これが自由にデータを作る際の足枷になっていたため、別途チェックサム計算プログラムを作成しました。
LED端子の変更(NeoPixel)
User LED: GPIO25
RGB LED(NeoPixel): GPIO22
RGB LED Power(NeoPixel): GPIO23
プログラム上は GPIO25 を LED3 として追加
RP2350で、NeoPixelが動作するよう修正。初期化時に真っ白く光り、通常では以下のように光る
緑は指ひとつ
青は指二つ以上
赤は10秒以上付きっぱなしのスイッチがある
I2C変更
Wire -> Wire1 に
setSDA(6), setSCL(7) に端子を変更
GPIO/AD関係
White LED Enable: D10
LED_ERR : (20) -> no connect
Joy Stick Sw: D7
付きっぱなしのスイッチを10秒でオフ
タッチセンサの誤動作でスイッチが付きっぱなしになることがある。その対応は以前もされていたようだが、うまく動いていなかった。
コードを整備しながら、うまく動くように修正。
8×8LED表示仕様の変更
触った場所の数字を表示しないようにした
Touch AboveをTouch Me! ↓ ↓ ↓ に変更
Joystickの表示も行わないようにした
白色LED光量を上げる
触っていない時の白色LED光量を上げる
マルチコアで、USB MIDIを別コア処理
これまで2コア目を使っていなかったが、USB MIDI処理を別コアに分離。ときどき起こるハングアップ対策として、負荷分散してみた。