2014年3月4日火曜日

Code Configuration Plugin

久々にPICを使おうかと思いMPLABXを最新版にしてMicrochipのページを見ている時に、このプラグインがあることを知った。


使ってみるとなかなか良い。

Device Resourcesから必要なものをProject Resourcesに追加しそれぞれの設定をしてGenerate Codeボタンを押すと、


という感じでファイルが生成される。

 PICは12F1822、サーボはかなり昔のFutaba製。残念ながらCapacitive Sensingは用意されていないが、CPSCON0、CPSCON1の2個のレジスタ設定とタイマー0、1のコード自動生成、判定コードを追加すれば良いので大して手間はかからない。ディバグ用にesuartを使ったがprintfを使うのもチェックボックス1つですごく簡単。Cファイル、ヘッダーファイルをみれば使用できる関数も簡単に理解できる。

試したものは、ラジコン用のサーボをトグル動作させるスイッチ的なもので、タッチ入力用にCapacitive Sensing、サーボの制御にPWM、サーボの電源オンオフにGPIOを使うというプログラムを作ってみたが、データシートを見ながらのレジスタ値の設定から開放される。大変ありがたい。

Capacitive Sensingは、AN1103にあるパーセンテージ判定を使用、PWMは、周期を15ms、ニュートラル位置を1.5msとしてタッチでトグル動作させて±に変化させるために使用、GPIOは、サーボの動作時のみ電源を供給するために使用。

ボタンは、薄い透明プラスチックと粘着アルミテープの間に字を書いた紙を挟んだもののアルミ側をブレッドボートの入力ピンの上に載せた。タッチしていない時の容量成分はブレッドボードを含む入力ピンとグランド間で決まっているかなと思う。

動作の様子。