シフトLEDと警告灯センサーの回路です。
こちらはシフトLEDです。
AVRマイコンのRB1-7(上の図ではRB0-6となってますが間違いです)の出力をトランジスタアレイ(TD62083APG)で受けて、外部電源の5VでLEDを発光させています。
LEDは色によって見た目の明るさが異なるようなので、抵抗で明るさを調整しています。
こちらは警告灯センサーです。
外部電源の5Vを抵抗とCdSで受けて按分した電圧を、環境光用のCdSの電圧とコンパレータで比較し、結果をマイコン(PIC16F88)に入力しています。
環境光用のCdSにつながる抵抗は半固定抵抗にして、感度の調整ができるようにしてみました。
実際に試してみると、CdSの感度のバラつきが結構あり、多めに購入したCdSからできるだけ特性のそろったものを選別して使用しています。
マイコンでは、入力された12ビットのデータをシリアルデータとしてAVRマイコンに送信しています。
シリアル通信の形式はこんな感じです。
CSとCLKはAVR→PICで、DATAはPIC→AVRです。
AVR側からCSを1にした後、CLKでクロックを送ります。
PIC側ではCSが1になるのを待ってから、CLKが0→1でCdSのデータをDATAに出力し、CLKが1→0になるを待ちます。
これを12回繰り返して最後にCSを1→0にして1回の通信が完了します。
CLKの周期は少し余裕をもって400マイクロ秒にしていますので、1回の通信に要する時間は約4.8ミリ秒です。
連続して通信すると、最大毎秒20回ですから警告灯センサーの用途としては十分な速度です。
この構成だと、固定抵抗1個では調整が難しいようで、少し不安定な反応となってしまいましたが、とりあえずこれで試してみるつもりです。実験結果によっては、CdSをフォトダイオードに変えないとダメかもしれません。
PICのプログラムはこちら。
コメントする