M5Stack + MIDIモジュール + MycroPython + ライフゲーム + テノリオン
気がつけば3か月も放置していた。
ひとまず、M5Stack + MIDIモジュール + MycroPython + ライフゲーム +テノリオンの報告まとめです。
1月6日から着手して、ようやく完成したのが3月19日。長かった。
完成形。
M5Stack + MIDIモジュール + MicroPython + テノリオン + lifegame。できた。https://t.co/AHkH7vMXlA#M5Stack #テノリオン #tenorion pic.twitter.com/AGCu5z87gp
— pj-hack-tenorion (@hack_tnr) 2019年3月19日
2-3月ダイジェスト
- M5Stack MIDI モジュールが到着。
- MicroPythonでMIDI信号がうまく出せない。
=>MIDI system exclusiveのサンプルを色々探すが音が鳴らない。。
- Twitterで話題になっていた1000円ロジアナ購入
=>ドライバの問題なのか、家のMacで動かない。
- 中古でちょっとお高いロジアナ購入。
=>またエラーで進まず。Mojaveの既知バグらしく対応版のドライバを海外サポートからもらって解決。
- ロジアナでUARTの信号を読む。一瞬データが取れて、途中から何も読めない状態が続く。
=> 8bit送信後にsleepを入れないと信号がひとかたまりになる、MIDI信号と認識されないのが原因。解決。
MicroPythonハマったところ
- ライブラリの定義
OK) from machine import UART
NG) from pyb import UART
- => pybは古いバージョンなので、M5Stackでは使えなかった
- UARTのボーレート
=>MIDIは31250が正解
- uart.writeで書き込むデータの形式
=>リストをbytes()で変換することが必要
- 8bit送信ごとにスリーブが必要
=>time.sleep_ms(100)が適正値かは不明。もう少し短くても動くかも。
完成コード
- UARTでMIDI system exclusiveを出力するサンプル
- 上記動画で動いているコード
MIDIモジュール取扱店
日本)necobit公式、秋葉原ラジオデパート、スイッチサイエンス
海外)tindie
さて、そろそろMaker Faire Tokyo 2019の出展申し込みをしなければ。