下手の横好きのスクラップブック!!

下手の横好きの、いろいろな記録です。
電子工作・PIC・Arduino・太陽光発電・写真などetc

Arduino で照度計を作る(1)

2013-09-28 | Arduino

Arduinoで照度計が作れないかと調べてみると、照度を周波数に変換するフォトIC「S9705」があることが解りました。
しかも、秋月電子で2個入りで¥400で販売されていましたので、早速照度計にチャレンジしてみました。

照度-周波数変換フォトIC S9705 (浜松ホトニクス株式会社製)
S9705は、入射光の強度に比例して発信周波数が変化する矩形波(デューティー比50%)が出力されます。
この矩形波をArduinoでカウントし照度(Lux)に変換します。

S9705の分好感度特性と出力周波数-照度(データシートより)




今回参考にしたページ
簡易照度計V2(S9705)
S9705 照度-周波数変換フォトICを使った照度計

S9705の出力測定
S9705は、約5mm角程の小さいものなので基板にとりた後、ブレッドボードで仮配線して出力周波数、波形等を計測してみました。
      

ブレッドボードで仮配線


S9705の出力波形

 照度が低い時の出力波形      照度が高くなった時の出力波形

   

Arduinoと接続
光の強度に応じて、矩形波の周波数が変化することが確認できましたので、Arduinoに接続します。

スケッチ
Arduino でS9705 の出力をカウントするためには、周波数カウンタのライブラリが必要になります。
Arduino Frequency Counter Library Down load >FreqCounter Libraryからライブラリがダウンロードできますので、それをダウンロードした後、Arduino IDE の libraries フォルダにコピーをしておきます。
また、出力された周波数から照度に変換するには、簡易的に「出力周波数/500 」で変換できるようですのでそれを採用します。

//Illminometer
#include <SD.h>
#include <FreqCounter.h>

long int frq;
long n;

void setup(){
Serial.begin(9600);
Serial.println("Frequency Counter");

if(!SD.begin(8)){
   Serial.println("Card failed,or not present");
  n = 0;
   }else{
     Serial.println("Card initialized.");
}
}

void loop ()
{
  FreqCounter::f_comp = 8;             // Set compensation to 12
  FreqCounter::start(1000);            // Start counting with gatetime of 1000ms
  while (FreqCounter::f_ready == 0);  // wait until counter ready
  frq = FreqCounter::f_freq;            // read result
   n=n+1;
 Serial.print(n);
 Serial.print(",");
 Serial.print(frq);              
 Serial.print(",");             
 Serial.println(frq/500);   // S9705 100Lux=50KHz

File dataFile = SD.open("datalog.txt", FILE_WRITE);
if (dataFile) {

dataFile.print(n);
dataFile.print(",");
dataFile.print(frq);
dataFile.print(",");
dataFile.println(frq/500);
dataFile.close();
 delay(981.7);
}
else{
  Serial.print("error opening datalog txt");
 
}
}

 

シリアルモニタとLCDで測定値を表示
スケッチは掲載しておりませんが、最初に測定した周波数と照度の値をシリアルモニターとLCDで確認した見ました。
シリアルモニタ出力


LCDに出力して確認

測定値と照度計の比較

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 結合したセルにデータをコピ... | トップ | Arduinoで照度計を作る(2) »
最新の画像もっと見る

コメントを投稿

Arduino」カテゴリの最新記事