FEZ CerbuinoNet で ヤマハNSX-1チップを制御する

昨年、ヤマハさんから、アナログ音源とボーカロイド音源が入ったチップ、NSX-1(https://jp.yamaha.com/news_release/2013/13102301.html )が発売され、スイッチサイエンスさんから、NSX-1のArduino用シールド付のこのデバイスが売り出されました。https://www.switch-science.com/catalog/1490/

でね、こういうデバイスを見ると、.NET Gadgeteerの FEZ Cerbuinoシリーズ https://www.ghielectronics.com/catalog/category/265 という、ArduinoシールドをマウントできるGadgeteerボードで、制御してみたくなるわけですよ。幸い、NSX-1は3.3Vで制御できるみたいだし。

そういうわけで、知り合いの力を借りて、やってみました。ボードは、FEZ Cerbuino Net( https://www.ghielectronics.com/catalog/product/473 )を使っています。

FEZ Cerbuino Net にeVY1シールドをぷすっと指します。eVY1シールドのピンが数本余りますが、Gadgeteerのソケット3つある側のArduino用ソケットの端を合わせます。注意ですが、そのまま挿すとCerbuino側のEthernetコネクタとeVY1シールドが干渉してショートしてしまうので、絶縁テープをCerbuino側の当たりそうなところに貼ってくださいね。

Cerbuino NetのArduino用ピンとGadgeteerソケットは、Arduino側の標準的な種別とGadgeteerソケットの結線の種別がつながっています。NSX-1チップにシリアル通信でデータを送るために、Visual StudioでGadgeteerプロジェクトを作成して

のように、RS232モジュールを追加します。2番ソケットと、Arduinoシールドのシリアル通信用ピンがつながっているので、アプリ上は、このRS232モジュールにMIDIデータを送信すれば、NSX-1にデータを送ることができます。

以上は、Arduino向けシールドを通じてコントロールしていますが、ブレッドボードでつなぐ場合は、以下の様に、接続すればOK。

CN5の2:MIDI RX →D1

CN2の3:RESET →RESET

CN2の5:3.3V  →5V

CN2の6、7:GND → GND

 

Arduino向けシールドが無いeVY1モジュールを直接つなぐことも可能で、以下のピン接続で制御可能です。

J1の3 :3.3V    →3V3

J1の5:RESET   →RESET

J1の7:MIDI RX  →D1

J2の5~8:GND   →GND

プログラム上は、RS232モジュールにアクセスする為の変数rs232が自動生成されるので、rs232.serialPortにMIDIデータを書き込みます。MIDIデータを送る方法は、ちょっとめんどくさいので、また、別の投稿で解説しますね。

 ※デバイスドライバーズの日高さん、川本さん、ご協力ありがとうございます。