PIC24Fボードを作ったよ!という続き。
前々から作ろうと思っていたMIDI-IFです。
ADK出た時から考えていたけど、延び延びにしていたうちに・・・
kshojiさんのUSB-MIDI-DriverでMIDI-INテスト
https://init0.net/wp/archives/444
USBのMIDI-IF繋げればいいじゃん!でモチベーション消火されてました(´・ω・`)
けどやはりキッカケがあると、やれることやろう!やりたいだけだし!
って吹っ切れますネ
シリアル(UART)のTX(送信)をMIDIケーブルと繋いで見るテスト。まさかのワニ口クリップw
コネクタ実はMIDI用じゃない(ピン多い)けどちゃんと繋がります(^^;
MPLAB Xでマイコンの処理を作成(C言語)。
・UARTを31250bpsで初期化
→PCでは使わない31250という変態通信速度(PCで使われるのは19200の次は38400)
・0x90,0x3c,0x7fを送信
→9はnote ON(音出す) 、0は楽器の演奏チャネル(全部で16chある)
→3c(10進数で60)は、真ん中変のオクターブのCの音。ド。
→7f(10進数で127)は音の強さ。最大に強く弾いた感じで127。
・0x80,0x3c,0x00を送信
→8はnote OFF(音消す) 、0はNote ON同様
→3c(10進数で60)は、Note ON同様
→00(10進数で0)は音の強さだけど音消すので関係なし。
これで音が出て、音が消えることを確認。
MIDI-OUTできたー!
MIDIコネクタへの結線がワニ口とか、不安定そうだしあんまりなので、
PICのライバル(?)Arduino用のMIDIシールドを千石で買ってきて流用。
MIDI-INの線はシリアル(UART)のRX(受信)に繋ぐ。
MIDI対応鍵盤(シンセ)のMIDI-OUTにこのボードのMIDI-INに繋ぐ。
ドの鍵を強く押すと、0x90,0x3c,0x7fの受信を確認。
無事MIDI-INも完成ヽ(゚∀゚)ノ