curious4dev

色々ダメなandroidアプリを開発したい会社員 高橋が綴る、androidアプリ開発やArduinoについて

*

YMZシールドのMIDI化を検討

 

お疲れ様です。高橋です。

Arduino UNOにYMZシールドをくっつけ、さらに音階をLEDで表示させる所まで出来たので、次はMIDI化です。

うちにはKAWAIの電子ピアノがあります。奥さんが「弾く」というので買ったのですが、結局使ってるのは私だけです。

IMG_5385

こいつの演奏をMIDI OUTし、MIDI INで受け付け、YMZ294で鳴らすという流れです。

実体配線図

下記が実体配線図です。

041501

MIDIコネクタは、DIP5pinの物です。ヒロセの地下で137円。MIDI INとArduinoの間にあるICは、フォトカプラFOD817Bで、30円。抵抗は1個1円で2円。MIDIケーブルは350円。519円でMIDI化出来るのなら安いものです。

MIDI関連のフォトカプラでググるとTLP552という物が鉄板らしい記述を多く目にするのですが、秋月には無くマルツで1個440円!!!という値段で売られています。こんなの高くて買えないので、30円で妥協します。

そもそもフォトカプラも必要あるのかどうなのか。ググるとMIDI INから直接RXに接続している作例もあるのですが、とりあえず実験で使ってみます。

考えられる課題

ピン数のダイエット

YMZ294はArduinoの貴重なピンを11本使い、音階LEDは9本を使っています。既に限界ギリギリです。そこで、YMZの11本を、シフトレジスタ74HC595を使って6本に圧縮。空いた5本の内シリアル受信のRXを1本、MIDI INに使おうと思います。今これ書いてて思いつきましたが、残り4本あるとI2C LCDで2本使えるので、贅沢に文字の表示や、MIDI INから受け付けた値の出力なんかも出来そうです。

以前はんだカフェで、まりすさん(webサイト: 構想100年)という達人が作られたシフトレジスタ+YMZという組み合わせをマジマジと観察させてもらい、いじらせてもらい、裏も表も何もかも写真を撮らせてもらいました。まりすさんのこのページではLCD+シフトレジスタ74HC164の回路図がありますが、多分595でもイケるはず。ダメだったら念のため164も買ってある自分の用意周到さを褒めたい気分です。

既存のYMZライブラリの改修。

インパクトドリルさんのYMZライブラリを、使わせてもらっていますが、最終的にArduinoにビットを流し込んでいるset_registerメソッドを、シフトレジスタ用に改造する必要があります。

直感ですが、ここは多分全く問題無く実装出来る予感がします。

ピアノからのMIDI OUTを3和音で鳴らす

これが難問。

おそらく電子ピアノからのリアルタイム演奏のMIDI OUT信号は、チャンネルに1つにまとまった状態で和音が流れてきます。一方YMZ294は1チャンネル1音で3和音を実現しています。

解決策として今のところ考えているのが、常時開いているチャンネルの状態を保持しつつ、空いているチャンネルを見つけたらそこを使う、という感じのプログラムの実装。

ただこの方法だと、メロディ部、ベース部、真ん中部がごちゃ混ぜになって、折角赤と緑と青で実現したLEDの箇所が、ごちゃ混ぜになってしまう事です。

もう少し検討が必要ですが、まずは鳴らす所まで行きたいと思います。

 

 

 

以上、よろしくお願い致します。

 - 電子工作

  関連記事

Arduino nano互換機でオナラ検知デバイス

お疲れ様です。高橋です。 今日のお昼、会社の大先輩から、綺麗にケーシングした自作 …

aitendoで買った375円のバックライト付きI2C LCDで文字を表示してみた。

お疲れ様です。高橋です。 ちょっと前にaitendoで買ったバックライト付きのL …

音階LED実装 #3 – 秋葉原で買い物

お疲れ様です。高橋です。 先日、お小遣いがチャージされまして、音階LED実装に必 …

YMZ294の基板が動いた。

お疲れ様です。高橋です。 先日「ブレッドボード上のYMZ294をユニバーサル基板 …

電子オルゴール 動作試験

お疲れ様です。高橋です。 前回「電子オルゴール基板実装 #2 ~ワイヤストリッパ …

音階LED実装 #2

お疲れ様です。高橋です。 本日も昨日に引き続き半田付け。 今日の進捗 昨日の残り …

LEDドライバなる物の存在

お疲れ様です。高橋です。 本日、同僚とLED周りについて雑談していると、「LED …

Arduino Pro MiniでLチカしてみた

お疲れ様です。高橋です。 最近ずっと忙しく、平日はもちろん、土日も疲労のため何も …

EEPROM書き込みシールドの作成

お疲れ様です。高橋です。 先日成功したPCからのEEPROM書き込みですが、ジャ …

赤外線リモコンをケースに格納

お疲れ様です。高橋です。 先日作ったATtiny13Aの赤外線リモコンを、ケース …