超安い! 超使いやすい! 機能も豊富! 今すぐPICマイコンを始めよう!

ArduinoやRaspberry Piなどのお手軽なワンボードコンピュータ、マイコンボードが安く手に入るようになりました。ハードウェアにあまり深入りすることなく、手軽に動かせるので、ここから電子工作を始めた方も多いでしょう。機能拡張ボードや、いろんなキットもそろっていますし、入口としてはよいボードだと思います。

ただ、例えば「Webカメラを作りました。今度は家電汎用リモコンを作りたい」というときに、数千円のボードをもう1個買うと考えるとブルーになります。また、既製品を組み合わせているだけで、自分で作っている感じがしない、という方もいるようです。

そろそろ出来合いのボードは卒業したいなという方。PICマイコンはいかがでしょう?

――「ええ? PICマイコン? アセンブラで書くんだっけ? 変態アーキテクチャで使いにくいとか、開発ツールが高いとか聞いたことがあるけど大丈夫ですか?」

はい大丈夫です。それらの噂は、大昔の情報です。いまどきのPICマイコンは超絶進化をとげているのです。

念のためおさらいしておくと、PICマイコンはワンチップマイコンの一種です。中にはCPUやメモリ、タイマー、A/Dコンバータ、シリアル通信モジュール、オペアンプなどが入っています。入出力ピンに、電源やセンサ、スイッチ、モータや表示器などをつなぎ、プログラムを書きこんで動かします。

PICマイコンの最大のメリットは、安くて、種類がたくさんあるところです。内蔵モジュールが豊富だから、部品の数が減らせます。最近のPICマイコンには、いちど設定するとあとはプログラム制御なしで動くモジュール(CIP)が内蔵されているものがあります。例えば簡易な論理回路を組めるCLCや、アナログモジュール、照明用のパワーLEDコントロールモジュール、モータ制御モジュールなど、数多くあります。

そしてマイコン自体の形状も、ピンの足が長く大き目なDIPパッケージのものがたくさん用意されていて、扱いやすいようになっています。

巷にはツールが高いという誤解があるようですが、統合開発環境は、なんと無料! エディタ、デバッガ、シミュレータなど機能も豊富で、Mac版やLinux版もあります。

統合開発環境に組み込んで使うCコンパイラは、無償版と有償版がありますが、ともに全種類のPICに対応していて、機能も同じです。無償のものだと、生成するオブジェクトサイズが少し大きくなりますが、趣味レベルならば無償版で特に問題はありません。

書き込み器は純正のPickit3があります。これは数千円しますが、一度買えばずっと使えますし、書き込みの不具合で悩まされることはありません。

そうそう、C言語について言及する必要がありますね。最近のメインストリームであるPIC16F1シリーズなら、C言語での開発を前提として設計されていて、効率良く開発できます。かつて変態アーキテクチャなどといわれていたのは、データ用に用意されているメモリがまとまった領域となっていないため、アセンブラでの読み書きの際に領域を指定する必要があったからです。しかしC言語であれば、Cコンパイラが自動で領域指定や配置を行ってくれるので、もう悩む必要がありません。

悩む必要はないといえば、最近はMCCという超便利ツールがあります。これまでは、内蔵モジュールを使うときは、データシートで、どのレジスタのどのビットを設定するのか調べて、設定コードを自分で書く必要がありました。しかし、統合開発環境のプラグインとして用意されているMCCを使えば、GUI画面で設定してやれば、その設定のソースコードを自動的に生成してくれるのです。もちろんこれも無償です。

あえて欠点をあげるとすると…、統合開発環境や、MCCは、機能が豊富すぎるので、どこにどんな機能があるのか、ちょっとわかりにくいということくらいでしょうか。

この春に、C言語でのPICのプログラミングや、統合開発環境やMCCの使い方について、詳細に解説した書籍が発売されます。この1冊で、自由自在にPICを操れるようになります。