Trellis で beat machine をつくる(完成編)
Trellisの制御 とControlPanelができた。
midi 制御も過去にやった。
全部組み合わせて高機能なメトロノーム、beat machine もどきをつくる。
配線
- sda … GP0
- scl …GP1
- play_btn_pin … GP2
- sel_btn_pin …GP4(BPM変更)
I2Cのアドレスは、以下の通り。
- 0x70 ... 8x8 3色LED Matrix
- 0x77, 0x72, 0x73, 0x71 ... Trellis
プログラム
ControlPanel のinstall
前回つくった ControlPanelを利用する。
実際には、 control_panel.py をRPi Pico の CIRCUITPY Volumeのlibフォルダに copyしておく。
downloadして、Macならこんな感じでcopy。
cp control_panel.py /Volume/CIRCUITPY/lib
制御
- 初期化
- MIDI 初期化
- I2C 初期化
- Trellis 初期化
- ControlPanel 初期化
- 8x8 3色Matrix に初期BPMの数値を表示
- 主制御 ... BPMの1拍を1/8づつ刻んで、そのタイミングで操作や表示処理を実行
- 現在時刻を取得
- ControlPanel操作を検知
play
event なら演奏開始stop
event なら演奏停止sel
event ならBPMの数値を変更(50,55,60,100,110,120 をloop)
- 1拍の1/8毎に、Trellis ON/OFF を検知して、MIDI データを送信
souce code
demo
GarageBandのPianoRoll もこの通り。そこそこ正確なリズムになってる。
エンクロージャー
とりあえず、つくったけど、ControlPanel を収容するところまでそのうちに。