目次>5章 第2ステップ(色々な実験)>(8)人が近づいたら明かりを点ける
人が近づいたら明かりを点ける
焦電型赤外線センサと言う、人の動き(赤外線のゆらぎ)を検出する素子を使って、人の動きがあったら明かりを点ける実験を行います。
(7)暗くなったら明かりを点けるで使ったCdsセルと組み合わせる事で、夜ひとの動きを検出したら明かりを点けるといった事が可能になります。
焦電型赤外線センサとは | ||||||||||||||||||||
焦電素子と言う、熱(赤外線)の変化を電流に変換できるセラミックスを使用し、温度変化を検出できるものが焦電型赤外線センサです。
焦電型赤外線センサから出力される電流は非常に小さいので、そのままではPICの入力にはできず、アンプで増幅する必要があります。
この回路を作るのは少し厄介です。
NaPiOnのページ:http://www.mew.co.jp/ac/control/sensor/human/napion/index.jsp
| ||||||||||||||||||||
実験回路 | ||||||||||||||||||||
・ |
今回作成する回路図です。
新たに必要なパーツは、NaPiOn一つと100KΩの抵抗2つだけです。
ブレッドボードに組み込んだ状態です。
| |||||||||||||||||||
プログラムの作成 | ||||||||||||||||||||
前のCdsセルの実験で作ったプログラムがあったらそのまま動かして見て下さい。 NaPiOnの前で手を動かすと、赤と緑のLEDが点滅すると思います。 これで実験を終わっても良いですが、今回はこれにタイマ処理を追加します。
ひとの動きを検出して明かりを点けた場合、動きが無くなっても10秒程度は明かりを点けたままにした方が実用的です。 また、NaPiOnは電源投入から回路が安定するまで平均7秒かかりますので、電源投入後10秒待ってからNaPiOnの出力判定を開始します。
以下は処理フローです。
10秒待つ処理は、TMR0を使用します。 (TMR0については「(5)TMR0割込みを使う」を参照して下さい。)
この処理は、TMR0割り込み処理の中で行い、10秒経過したら「flag10s」を1にします。 フローには記述していませんが、38回カウントおよび10回カウントのために、「CNT38」と「CNT10」というカウンタを使用しています。
| ||||||||||||||||||||
プログラム全体 | ||||||||||||||||||||
上記の処理を組み込んだプログラムはこちらです。 メモ帳などのテキストエディタに取り込んで、NAPION.ASMという名で保存し、MPLABでアセンブル&PICライタでPICに書き込んで動かしてみて下さい。
|