Nucleoで作る和音MIDIインタラプタ(バグあり)
お久しぶりです。さなたかです。
今回はNucleoを使って3和音のmidiインタラプタを作りました。(作品自体は3か月以上前からありました…)
だいぶ前にこんな記事(https://eleken.jp/archives/2411)を書きましたがそれのもっと良いやつです。
前作はFPGAをただのオシレータとして使うというかなり勿体無いことをしていたので、それを繰り返し割り込みで置き換えました。
したがってFPGAは不要となりました。これにより圧倒的な小型化、省電力化、低コスト化ができます。やったね。
またDRSSTCに繋ぐことや音楽的観点からも考え、1chあたり最大3和音という仕様にしました。
プログラムはこちらです:https://github.com/sanataka/ki_midi (アカウント削除したため入手は下記リンクより)
http://sanataka.kitunebi.com/software.html (ページ下部雑多なプログラムのki_midi.zip)
※ただし、こちらのプログラムには仕様上の問題があるので注意が必要です。
具体的には、あまり沢山のメッセージを同時に送ると音が止まらなくなったり、マイコンが出力H状態で停止したりします。
対策としては、不要なメッセージは送らない、パルス幅制限回路を設けるなどです。
普通に使っている分には問題無いと思いますが、そういう使い方をした場合に問題が出ることが確認できたので一応書いておきます。
MIDIの受信を割り込みではなくポーリングでやっていることが原因と考えられますが修正する気力が無いのでそのまま上げます。
完成品です。間に合わせで作ったのでゴリ押し感がすごい。
回路図です。シンプルですね。
VRで出力パルス幅を決定します。最大255uSです。
電源は乾電池です。カレントミラーにわざわざTrを追加してLEDを光らせてるのはそのためです。
前回も書きましたがVin端子以外から給電する場合は裏面のSB9を外す必要があります。書き込み後自動リセットがかからなくなるので手動でリセットする必要があります。