なんでも作っちゃう、かも。

Arduino/Make/フィジカルコンピューティング/電子工作あたりで活動しています。スタバの空きカップを使ったスタバカップアンプなど製作。最近はもっぱらArduinoと3Dプリンタの自作に興味があります。

Arduinoで遊ぼう - フォトICダイオード S9648-100 を使って明るさを求める

Posted by arms22 on 2011年04月20日 0  0

How to use photo IC diode S9648 / Arduino

S9648-100は浜松フォトニクスの照度センサICで、内部に電流アンプを持ち、負荷抵抗1つで簡単に明るさを得ることができます。周囲の明るさに応じてLEDの輝度を調節するなどに使えそうです。


Arduinoと接続



s9648-100-connection3.png
カソード(K)に+電位が加わるようにバイアスして接続し、アノード(A)に負荷抵抗1KΩを接続します。負荷抵抗と並列にコンデンサを入れると高周波成分除去用のローパスフィルタになります。


照度(ルクス=lx)の求め方


次のような簡単な1次式で照度(ルクス=lx)を求められます。
照度 = 出力電流 / 照度係数
出力電流は負荷抵抗RLの電圧を測りオームの法則により
出力電流 = 電圧 / 抵抗
で求められます。照度係数はS9648-100で0.26mA/100lx(S9648で0.29mA/100lx)です。例えば負荷抵抗RLが1KΩその電圧が3Vの時、
照度 = ((3000mV / 1000Ω) / 0.26mA) * 100
照度 = (3mA / 0.26mA) * 100
照度 = 11.5384 * 100
照度 = 1153.84lx
となります。


サンプルスケッチ

const int voutPin = 0;

void setup()
{
  Serial.begin(57600);
}

void loop()
{
  // R1の電圧を取得
  int reading = analogRead(voutPin);

  // AD値をmVに変換
  float voltage = ((long)reading * 5000) / 1024;

  Serial.print(voltage);
  Serial.print(" mV, ");

  // 電圧から電流を求める I=E/R (R=1000)
  float microamp = (voltage * 1000) / 1000;

  Serial.print(microamp);
  Serial.print(" uA, ");

  // 電流をlxに変換
  float lx = microamp / (290 / 100);

  Serial.print(lx);
  Serial.println(" lx");

  delay(1000);
}



フォトICダイオード S9648-100
http://akizukidenshi.com/catalog/g/gI-02426/

フォトICダイオード S9648
http://akizukidenshi.com/catalog/g/gI-03822/

galileo-7 - Weatherduino3
http://www.galileo-7.com/?pid=19613500



Prototyping Lab ―「作りながら考える」ためのArduino実践レシピ (Make:PROJECTS)
小林 茂
オライリージャパン
売り上げランキング: 40918



Ads by Google

Leave a reply






管理者にだけ表示を許可する

該当の記事は見つかりませんでした。