A/D変換機能を使って、アナログな電圧を数値化する。
今回はこれとフォトトランジスタを使って、照度計を作ってみよう。
LCDの回路に、フォトトランジスタ(NJL7502L)と、レンジ切り替え用の抵抗を4種類追加。
データシートによれば、光が当たることにより流れる電流は、0.3μA〜10mA。
てことは、オームの法則でこんな感じ?
最小レンジ:E=0.0000003(0.3μ)A*100000(100k)Ω=0.03V 最大レンジ:E=0.01(10m)A*100Ω=1V
A/D変換の精度は10bit(1024段階)なので、基準の5Vを1024で割って、最小0.005Vくらいか。
最小レンジの方が微妙かと思ったけど、変化を捕まえられないことはないかね。
まぁ、このあたりだと、データシートでは10ルクスにも届かないような範囲なので、ロウソク未満、月明かりくらい……?
で、書いて試してみてから気づいたんだけどね?
普段、AVRをいじってるのは夜の時間帯で、せいぜいが蛍光灯の明かりなわけですよ。
昼間だったとしても、窓と反対側の壁際にいるので、下手したら蛍光灯より暗いわけですよ。
で、蛍光灯の下で、100kΩの抵抗をつけて、最小レンジで計ってみても、最大値はぎりぎり5V*(1000/1024)いくかどうかってとこで、あとちょっとなんだけど、オーバーフローするところまでいかないのね。
安い懐中電灯を買ってきて、直接当ててみても、同じくらいだった。
てことは、流れてる電流は、I=(5V*1000/1024)/100000(100k)Ω=0.000049(49μ)Aなんで、これをルクスに換算すると、100〜200ルクス。
レンジ切り替えをする意味がないようです。
というわけで、今回は、100kΩの抵抗のみでいきます。
1MΩの抵抗とかがあれば、100kΩと切り替えて使えるかもね。