このブログへの投稿/アップロードについて(コメントは誰でも、投稿は受講者+スタッフのみ)
コメント/投稿/ラベルについて(基本事項)投稿時間の設定(下書き/予定など)プログラム(ソースコード)を投稿する際の注意点Processingのプログラム(Applet)を表示する方法
ArduinoやProcessingについては「建築発明工作ゼミ2008」の方にまとめてあります。
秋葉原の電子工作マップ、Arduino販売店についてはこちら。 :

2009年7月22日水曜日

光センサ フォトICダイオード S9648-100

フォトICダイオードとArduinoで、照度を計測します。


 センサはS9648-100を使用します。
 照度といっても、日常生活の中では全くの暗闇から最も照度の高い日中の太陽光まで0ルクス〜約32000ルクスの幅があります。これは、Arduino のアナログ検出幅1024段階をゆうに超えているので、屋内での照度0ルクス〜1000ルクスの範囲内での計測を前提とします。














材料
フォトICダイオード S9648-100
炭素皮膜抵抗 330Ω 1個
炭素皮膜抵抗 1KΩ 1個

参考
センサ活用の素1
電子回路の基礎


回路図

 フォトICダイオードは、カソードをプラスに、アノードをマイナスに接続します。
 S9648-100に流せる最大電流が5mAであり、この時に5Vにするために1KΩの抵抗を取り付けます。

オームの法則
E(電圧 : V) = I(電流 : A)× R(抵抗 : Ω)

5V = 0.005A × 1000Ω

 これにより、S9648-100には5Vの電圧で5mAの電流が流れこみます。S9648-100を真昼の日光にあてて最低抵抗をテスタで計測してみるとおよそ330Ωでした。つまり、S9648-100が計測できる最も明るい照度の時に最も高い電流を流せる(S9648-100が最も低い抵抗値を示す)ということです。
 Arduinoのアナログ0ピンに計測電圧を送るために、アノードとGND間に330Ωの抵抗を取り付けて分圧します。S9648-100が330Ωの抵抗値の時、分圧の法則により、アナログ0ピンには約1/5の電圧(1V)が流れます。

アナログ0ピン入力電圧 = 5V ×(330Ω / (1000Ω + S9648-100の抵抗値 + 330Ω))

 これにより、アナログ0ピンには0V〜1V(読み取り値は0〜204)が流れることになり、1mVが1ルクスに相当するようになります。

 ルクス = Analog IN Pin入力値 × 5000 ÷1024






















Arduino スケッチ

float val=0;//入力値の変数を用意し、0に設定
void setup(){
// シリアル通信速度
Serial.begin(9600);
}
void loop(){
//ANALOG INの0番ピンを読み取りvalに代入
val=analogRead(0);
val = (val*5000)/1024;
Serial.println(val,DEC);
//1秒ループにするdelay(1000);
val = 0;
}

 スケッチを実行し、Arduino のシリアルモニタで値をチェックします。ルクス換算された値が表示されます。
 センサを手で覆うと10以下まで下降し、LEDペンライトをあてると1000近くまで上昇します。















8/1 追記
上記の回路では、Arduino のアナログ読み取り値は0〜204(0〜1000ルクス)であるため、アナログインピンの解像度は1/5になっています。解像度を上げるために、オペアンプを使って
アナログ読み取り値を0〜1023にしてみます。

参考
Flashで、温度センサーを使う


回路図

 オペアンプLMC6032と非反転増幅回路を使用しました。
 1kΩと4kΩ1Vの抵抗により、LMC6032に流れ込む最大1Vの電圧は最大5Vまで増幅されます。つまり、計測ルクス0〜1000が0V〜5Vになります。

5V = 1V × (1 + (4kΩ / 1kΩ))














Arduino スケッチ

float val=0; //入力値の変数を用意し、0に設定
void setup(){
// シリアル通信速度
Serial.begin(9600);
}
void loop(){
//ANALOG INの0番ピンを読み取りvalに代入
val=analogRead(0);
val = map(val, 0, 1023, 0, 1000);
Serial.println(val,DEC);
//1秒ループにする
delay(1000);val = 0;
}

植物・農業・エレクトロニクス・音楽...。実験とプロジェクトのblog。
projects : Biotope

0 件のコメント:

コメントを投稿

*