照度センサーの使い方 [Arduino]
照度センサーは監視カメラなどの昼夜モード切替などに使用されています。
使用部品・材料
総額で約320円です。(Arduino本体の値段を除く)
部品/材料 | 値段 | 備考 |
---|---|---|
ブレッドボード | ¥270 | 秋月電子の通販コード(P-00315) |
照度センサ(フォトトランジスタ) NJL7302L-F5 | ¥50 | 秋月電子の通販コード(I-08700) |
カーボン抵抗器 | 数円 | 10kΩ(1個)を使用 |
配線図
端子の長い方がコレクター(+側)で短い方がエミッター(-側)です。
スケッチ(プログラム)
光の明るさである「照度」(ルクス[Lux]、略記号:lx)が165ルクス以上ならば、シリアルモニターに「HIGH(1)」をそれ未満ならば「LOW(0)」を出力します。
void setup() { Serial.begin(9600); pinMode(8,INPUT); } void loop() { int val = digitalRead(8); Serial.println(val); }
[実行例]
懐中電灯や部屋の明かりを調節するなど色々と試してください。
仕様
この照度センサ(フォトトランジスタ)は「光の明るさ」によってエミッターから流れる「電流」が変化します。
次の公式データシート(NJL7302L-F5.pdf)にあるグラフを見てみます。
このグラフは照度(ルクス/Lux)と光電流(μA)の関係図で、電流がわかれば基準となるルクスを求める事が出来ます。
次に進む前にArduinoのdigitalRead()関数の仕様の話です。digitalRead()でHIGHになる入力電圧は3V以上です。3V未満の場合はLOWとなります。
そして、オームの法則で「電流」を算出するには、HIGHになる3Vの電圧に、今回は10kΩの抵抗を使用します。
これをマイクロ(μ)単位にすると
になります。300μA をグラフで確認すると
基準になるLuxは約165ルクスとなります。
・・・
次の図を見て頂くとわかると思いますがルクスが「5 -25Lux」になっています。恐らく、これぐらいの値が昼夜モードの切り替えに使用できる値なのかも知れません。
ちなみに、10Luxで抵抗値を計算すると150kΩになります。
以上です。
参考リンク
掲示板
ArduinoやRaspberry Piなどの電子工作の掲示板を作成しました。質問やわからない事は電子工作 (Arduino・ラズパイ等)でユーザー同士で情報を共有して下さい。