nobcha23の日記

PICマイコンやArduinoを使う電子回路遊びを紹介します

CSM動く

PIC16F1827を使って、キャパシティブセンシング実験を行っています。先日作ったi2cスレーブキーパッドにCSM機能を盛り込みます。基板はFUSIONで作ったi2cとかICSPとかLCD接続が付いた基板を利用します。

実験用コードができ、どの程度なのか試します。LCDが付いているので、デバッグ用にCSM周波数とか、4回平均値とかを出し、判定閾値超えるとキーコードをASCIIで出すことにします。丁度20字2行のLCDであり、周波数が4チャネル分表示できます。
1行目が平均値。2行目が現状観測値です。CSM電流値設定は3種類あるので、表示を出し、どの程度のものかを見てみます。電流少ないと周波数が低い、周波数高いほうが閾値を決めやすそうなので、電流は大きい方にします。そうすると今回の5msゲート時間なら、500カウントぐらいです。100kHzぐらいなんですね。キー入力判定変化偏差は30ということにします。

BUG情報
その後実験していて発振周波数がおかしい、8MHzになっていることが判りました。OSCCONコマンドの記述間違いがあり、8MHzになってました。したがってキャパシティブセンシング発振部の周波数は200kHzぐらいということになります。