2016年6月19日日曜日

Arduino と 照度センサ モジュール 使ってみた

準備   

◆Arduinoのソフト(PCにインストール無料)

◆Arduino のハード(ンヘッダー同梱)(360円+送料170)



Arduinoのソフト(PC)とArduinoのハードをつなぐUSBケーブル(100円+送料170)

照度センサー モジュール (520円+送料170)

DatasheetsensorROHM
 データシート  (センサー)ROHM


 工作開始
全てつなぎましょう。照度センサー モジュールは電圧変換内臓


Arduino Unoにスケッチ を書き込みましょう

ツール > マイコンボード > Arduino Uno

 ツール > シリアルポート > Arduino Unoが接続されているポート

スケッチを書く
 #include <Wire.h> //IIC
  int BH1750address = 0x23;//ADDR<0.3VCC
//int BH1750address = 0x5c;//ADDR>0.7VCC   
  int HighByte, LowByte;
  float MeasurementAccuracy, val;
 
void setup()
{   
  Wire.begin();
  Serial.begin(9600);
 
  Wire.beginTransmission(BH1750address);
Wire.write(0x10); MeasurementAccuracy = 1.2;//1lx reolution 120ms
//Wire.write(0x11); MeasurementAccuracy = 2.4;//0.5lx reolution 120ms 
//Wire.write(0x13); MeasurementAccuracy = 1.2;//4lx reolution 16ms
//Wire.write(0x20); MeasurementAccuracy = 1.2;//1lx reolution 120ms oneTime
//Wire.write(0x21); MeasurementAccuracy = 2.4;//0.5lx reolution 120ms oneTime
//Wire.write(0x23); MeasurementAccuracy = 1.2;//4lx reolution 16ms oneTime
  Wire.endTransmission();  
  delay(240); 
}

void loop()
{  
  Wire.beginTransmission(BH1750address);
  Wire.requestFrom(BH1750address, 2); 
  HighByte = Wire.read();
  LowByte = Wire.read();
  Wire.endTransmission(); 
         
  val=(HighByte*128+LowByte)/MeasurementAccuracy;       
  Serial.print(val,1);
  Serial.println("[lx]");     
  delay(160);
}


◆シリアルモニタで見てみましょう





 
 

0 件のコメント:

コメントを投稿