2014年12月23日火曜日

PICに挑戦!

ここ1ヶ月ほど何をしていたかというと、ずっとPIC(ピック)と格闘していました。

PICとは何かというと、電子工作マニアの間では非常に有名な8bitマイコンなのです。
今までずっとRaspberry Piを使ってMagicFluteの製作を続けてきましたが、ここ数ヶ月ほど方針を変更して、一つのマイコンでセンサー検知と音源処理を行うのではなく、楽器操作部と音源部を分離することにしたのです。その操作部の製作のために、mbedを使い始め、そしてダウンサイジングの果て、ついにPICを使うことにしたのです。

mbedは非常に敷居の低い開発環境が魅力でしたが、CPUの能力としてはかなり高く、自分のやりたいことからするとややオーバースペックでした。たくさん数を作ろうとすると、値段も問題になってきます。もちろん、BLEを扱うならmbedなのですが、BLEの前にまず、普通のMIDIやUSB MIDIを扱おうとさらに路線を変更した結果PICにたどり着いたというわけです。

PICは入手性も高く、何しろ安価なのが大変な魅力。その代わり、mbedのような分かりやすさやハードを隠蔽するような仕組みはなく、ひたすら自力で低レベルのハード設定を行う必要が有ります。

ここ1ヶ月、PICの開発環境の導入や、ライブラリなどの探索、関連部品の調達、そして実際に動かしてみて試行錯誤を繰り返しながら、ついにLチカ、USB MIDIの出力、I2Cでの通信に成功しました!

ということで、実物をお見せいたしましょう。


黄色の矢印で示している緑色の基板に載っているチップがPICです。
今回はPIC18F14K50というマイコンを使用しています。
これが、RAM:768byte、Flash ROM:8KBのメモリを内蔵している超カワイイ組み込みマイコンなのです。

ギガバイトとかメガバイトとかじゃないですからね。ただのバイト、ただのキロバイトなのです。もうパソコンから見たらゴミのようなメモリ容量です。

この20pinのチップの中にUSBやI2C、AD変換、IOポートなどの周辺機能が入っています。
左隣の赤い物体は、PICkit3といって、PIC内蔵のFlashROMにプログラムを書き込む道具です。PC上のIDEでプログラム開発をして、コンパイルしてバイナリ化した実行プログラムをこの赤い道具でPICに転送し書き込むわけです。

現在、上記のブレッドボード上でプログラム開発をしていますが、ある程度電子部品の動作が確認できたところで、新しいMagicFluteの試作を始める予定です。

0 件のコメント:

コメントを投稿