今回は焦電人感センサです。焦電人感センサが検出すると豆電球が点灯するようにしました。
1.今回使用するPICについて
今回使用するPICは「PIC12F1822」です。
2.回路
2.1 電子回路図
2.2 電子回路の写真
2.3 回路説明
2.3.1 使用するパーツ一覧
パーツ名 | 説明 | 使用数 |
---|---|---|
PIC12F1822 | PIC本体 | 1 |
焦電型赤外線センサーモジュール | 焦電人感センサ | 1 |
シリコンNチャネル型MOSFET(EKI04047) | 豆電球制御用 | 1 |
豆電球 | 動作確認用 | 1 |
抵抗(1[kΩ]) | 抵抗 | 1 |
抵抗(10[kΩ]) | 抵抗 | 1 |
電源(5[V]) | 電源 | 1 |
2.3.2 PICの配線
PICのピン | 接続 | 補足 |
---|---|---|
VDD | 電源 | 5[V] |
RA0 | 焦電人感センサ | |
RA1 | -未使用- | |
RA2 | -未使用- | |
RA3 | -未使用- | |
RA4 | -未使用- | |
RA5 | FET | 豆電球制御 |
VSS | グランド |
3.制御とプログラム
プログラムは非常に簡単で、デジタル入出力の制御だけです。今回使用する焦電人感センサは通常ロー(0[V])、検出するとハイ(3[V])を出力します。
次に豆電球の制御ですが、FETにローかハイの信号を出力するだけです。
以上のことから、焦電人感センサからの信号を入力(認識)し、豆電球につながっているFETに対して、信号を出力すればいいことになります。
今回のサンプルプログラムでは全く考慮していないことですが、使い方によっては注意が必要になることがあります。それは今回使用する焦電人感センサは、「1回検出すると最低でも約8秒間ハイを保持する」、ということです。もしすぐに消灯したい、など考えている場合、センサの入力通りだとダメということです。タイマなどを利用して消灯するなどの処理が必要になります。また、この仕様により問題になるのが、焦電人感センサが新たに何かを検出してハイなのか、前回の状態を保持していてハイなのかわかりません。もし細かい検出をしたい場合、ユニットではなくセンサ自体を使用し、自力でセンサユニット(回路)を作る必要があります。
3.1 サンプルプログラムの動き
PICは焦電人感センサの状態を認識し、非検出状態の場合は消灯、検出状態の場合は点灯させます。
- 焦電人感センサが何も検出していない時は豆電球は消灯
- 焦電人感センサが何かを検出した状態の場合、豆電球を点灯
3.2 ソースコード
プログラムの全文を掲載します。
<注意>
ファイル名は必要に応じて変更し利用してください。
本サイトの注意事項を確認してください。
ソースコードや回路図などを使用する場合、上記注意とともに、自己責任でお願いします。
<更新履歴>
日付 | 内容 |
2016年7月4日 | 新規作成 |