You are here

PICSYSフレームワーク:PICでArduino?

さて、何のプログラムでしょう?
ぱっと見はArduinoの簡単なプログラムの様ですが。。。

あれ?、でも微妙に変。

そうなんです。MPLAB C18を利用したPIC18Fファミリーのプログラムです。PIC18Fファミリー用のIDEはMPLAB IDEを利用します。

上記の例は、AD変換で読み取った温度計の値を、文字LED表示装置に出力する例です。。。。たったこれだけです。

PICSYSフレームワーク

PICSYSはマイクロファンのキット製品のサポートソフトウェアとしてご提供する、Arduinoライクなフレームワーク(ライブラリ)です。PICSYSのサポート対象となっているキットの購入者であれば、趣味であれ業務であれ、そのキットをターゲットハードウェアとしてPICSYSを無償でご利用いただくことができます。

現在PIC24F,PIC18F,PIC16Fファミリー用のPICSYSをご提供しています。

  • PIC24Fファミリー用 (コンパイラはMPLAB C30)
  • PIC18Fファミリー用 (コンパイラはMPLAB C18)
  • PIC16Fファミリー用 (コンパイラはPICC PRO)

PICSYSを利用すると、PICの周辺装置の詳細に詳しくなくても、文字LCD、7セグメントLED、ドットマトリックスLED、グラフィックLCDなどの表示装置やAD変換、RCサーボなどを活用するプログラムを驚くほど簡単に作成できるようになります。

Arduinoスタイルの言語環境(ライブラリもしくはフレームワーク)を構築しておくと、PICでも驚くほどプログラミングが楽になります。他のPICファミリーはまだしも、PIC16Fファミリーでは、以下の様な様々な制約で開発に思いのほか苦労しましたが、できてしまうと激しく :-) らくちんです。

  • AVRに比べてCPI(1命令あたりのクロック数)が4倍で、普通に4分の1以下の処理速度になってしまう。
  • 財布との関係でHI-TECH PRO Cをlite modeで使わせていただくと、さらに処理速度が2分の1以下に落ちてしまう。
  • ハードウェアスタックが8レベルしかないため、割り込み処理も含めると、あっという間にスタックがあふれる。

ということで、PIC16Fで遊ぶのもとっても楽しいのですが、改良されたPIC18、できればかなり洗練されたPIC24への移住も検討しましょう。:-)

以下のPICファミリー用にも並行して開発を進めています。マイクロファンのキット製品のサポートソフトウェアとして順次ご提供して参りますので、ご期待ください。

  • dsPIC30Fファミリー用 (コンパイラはMPLAB C30)

PICSYSのご提供は基本的にフレームワーク(ライブラリ)だけであり、Arduinoとは異なり専用のIDEやブートローダーを含んだ統合的な開発環境になっていません。この点でArduinoの様なスマートさはありませんが、逆に既存のMPLABやそのツール群を利用できるという大きなメリットがあります。

MPLABを利用すれば、IDE内からブートローダでの書き込みはできないものの、PICkit2などのプログラムライタでターゲットへのプログラムの書き込みを手軽に行うことができます。また、USB機能を持ったPIC18FやPIC24Fのボードでは、IDEとは別にツールを立ち上げておく必要はありますが、USBブートローダーを利用して手軽にプログラムの書き込みを行うことができます。

さらに、MPLAB上で利用するPICSYSでは問題の発見と解決にソースレベルのデバッガを利用できるため、プロジェクトが大きく複雑になるにつれArduinoに比べるとむしろ優れた開発効率を得ることができるようになります。

PICSYSのサポートキット

すでにご提供中のPIC18Fファミリー用のPICSYSは、以下のキットをサポート対象にしており、構成設定用のファイルで該当のキットを指定することで、簡単に利用することができます。

ボード名にPICSYS18を冠したPICSYS18-SPやPICSYS18-XBEEは、PICSYS18でのプログラミングを前提としてハードウェアの設計が行われているだけでなく、USBブートローダを利用した手軽なプログラム書き込みも行えるようになっており、PICSYS18を利用したプログラミングに最適です。

PICSYS18-SP

特に、PICSYS18-SPは、マイコン学習に役立つ様々な入出力がオールインワンでパッケージングされており、マイコンやPICSYS18の入門に最適です。

PIC24Fファミリー用のPICSYSは、以下のキットをサポート対象にしており、構成設定用のファイルで該当のキットを指定することで、簡単に利用することができます。

PIC24Fは、I/Oピンへの内蔵機能の割当の柔軟性が非常に高いのが大きな魅力ですが、逆にその構成設定の必要性が敷居の高さとなっており、ホビー用途では思いのほか利用者が伸び悩んでいるように見受けられます。PICSYSを利用すると初期化時の構成設定などのPIC24Fの複雑な側面は隠蔽され、高速で高機能なPICとして存分に楽しむことができるようになります。PICSYSを利用するプラットフォームとしてPIC24Fは最もおすすめのファミリーです。

また、PICSYS24の利用を前提に開発されたPICSYS24-COREのご提供を開始する予定です。

PICSYS24-CORE

PICSYS24-COREは、最近話題のArduinoのリファレンス基板と同様なサイズ、ピン配置となっている一方で、大容量のメモリ、追加の22ピンのI/Oを装備しています。さらに、MCUにUSB機能が内蔵されているため、本格的なUSB機器を作成できるなど、PICSYS24の入門に最適なだけでなく、先進的な様々な応用にお応えできる機能と性能を持っています。

PIC16Fファミリー用としては、以下のキットをサポートしています。

PIC16Fファミリ用のシステムはかなり楽しめるのですが、プログラム作成上の制約がいろいろと厳しいため、できればPIC18F以上のチップを利用することをお勧めします。

。。。ということで、上記のキットをお持ちでない方は早めに調達しましょう。:-P

お気楽に利用できるサポートデバイス

  • 文字LCD
  • OPT-DML-2S
  • BLUE-7SEG-1
  • DUO-GL128-PIC24FのグラフィックLCD
  • PIC-DML-2520のドットマトリックスLED
  • PIC-GAME-2SのドットマトリックスLED
  • PIC-7SEG-88の7セグメントLED
  • PIC-PICO-2SのドットマトリックスLED
  • PIC-PICO-3Sの7セグメントLED
開発ソフト: 
チップファミリー: 
プログラムライタ: