LED回路工作部屋 (トップ) > 光センサー スイッチ回路 | 【初回 : 2022/6/7】【最終更新日 : 2022/6/7】 |
光センサー スイッチ回路 [E-60] |
回路の説明 暗くなるとスイッチが入り、明るくなるとスイッチが切れる「光センサー スイッチ回路」です。 LCD(液晶ディスプレイ)を付けて、明るさに対するスイッチのON-OF動作を数値的に確認できます。 また、スイッチが動作する"ON"や"OFF"の明るさ設定ができます。 CDSのA/D変換値は "0〜127" の間で変化し、明るいと"30"ほど、暗い(真っ暗)と"127"になります。 "ON"の設定は"90"、"OFF"の設定は"70"で設定すると、暗くなってCDS値が"91"でスイッチが"ON"になり、"70"でスイッチが"OFF"になります。 "ON"と"OFF"で差をつけるのは、チャタリング回避の為です。また"OFF"になる前に、液晶上の"ON"が10秒ほど点滅(保留)してから"OFF"になります。 瞬間的にライト等を当てられても、すぐには"OFF"にならないための処置です。 電源はDC5Vで動作します。リレーモジュールもDC5V仕様です。 回路図 (基板配線図) PIC16F689 でLCD、CDS(A/D)、ボタンを制御します。各ポートの割り当ては下記です。 RA0 = CDSの入力 (A/D変換) RA1 = ボタンの入力 (Pull-Up) RA2 = ボタンの入力 (Pull-Up) RA3 = リセット RA4 = ボタンの入力 (Pull-Up) RA5 = ボタンの入力 (Pull-Up) RB4 = LED1 (動作確認用) RB5 = 通信(Rx) (動作確認用) RB6 = LED2 (動作確認用) RB7 = 通信(Tx) (動作確認用) RC0 = LCD 4bit制御 RC1 = LCD 4bit制御 RC2 = LCD 4bit制御 RC3 = LCD 4bit制御 RC4 = LCD E 制御 RC5 = LCD RS 制御 プログラムの処理 処理はTimer0で約33ms毎に割り込みを発生させ、発生毎にカウントし、カウントに応じた処理を行います。 ※数字はカウント数です ・1 = RA0のA/D変換開始 ・2 = A/D変換値の7bit(0〜127)加工、変換値の格納 ・3 = 押しボタンのチェック ・4 = 変換値、設定値のキャラクタ変換、出力判定 ・5 = なし ・6 = LCDの表示変更 ※6が終わったら、また1に戻ります。 |