nobcha23の日記

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

PIC16F785 人感LED 点灯 プログラム

いつものようにTi-TECH社Cコンパイラライト

版を使って作成しました。
V2.71aとふるい版です。
MPLABの昨年末クリスマス版のアセンブラ
バグって使えなかったため、V8.60とふるい
版に戻しておりコンパイラも合わせて進歩
してません。
MPLABも新しい版ではレジスタなどの予約語
が変わったとかで、移行はちょっと待ってい
ます。

ーーーーーーーーーープログラム説明ーーー
MAIN関数で検知:帯域を押さえた(1〜10Hz程度)アンプで
増幅した信号をRC1入力で受けます。センサーが人間などの
赤外線源を受けない時は1V強ですが、人が前に来ると0Vから
電源電圧まで大きくスイングします。0Vになって1mS継続す
ると検知としました。

MAIN関数で明るさ:フォトダイオードの信号をRA4から入力
しADCで受けます。ADC値20以下で暗いと判断します。
50mVぐらいに当たります。

MAIN関数でDCブースト:RB7を1μSオンし(インダクタを
TRでショートする)、10μSぐらいオフします。オフしたと
きに逆起電力が発生し、バッテリー電圧2.6Vに加算され、
約5Vが高輝度LEDに加わりVfが3.3V程度のLEDが光ります。
フォトダイオードで周囲が明るいとDCブーストは行わず、
光りません。

MAIN関数でモニターLED点灯:検知信号があると光ります。

電源ON時には回路動作チェックのため、約1秒間モニター
LEDが光り、白色LEDも淡く光ります。



さて、人検知のソフトは次です。
http://chitose6thplant.web.fc2.com/brew/785_human/785_human_c.pdf
delay.hが必要です。





試作品完成まとめは次のWEBを参照ください。
http://chitose6thplant.web.fc2.com/



HI-TECH Cの参考書としてこの本使ってます。ちょいフルですが、手軽に使えます。