Header Ads

明るさセンサGY-30の使い方


Arduinoで明るさセンサGY-30を使ってみます。I2C通信を使って今の明るさを値で送信します。少々敷居が高いので、とりあえず明るさでなにかしたいのであれば、Cdsセルを使った方がいいでしょう。GY-30ではきちんと計算すればルクスが測れるようです。
コードが書ける人はこちらのコードを使ったほうがいい。










#1:つなぎ方

図のようにSCLをアナログ5番、SDAをアナログ4番につなぐ。VCCは5V、GNDはGNDに。ちなみに、ADDに電気を入れるとアドレスが35から92に変わるらしい。詳しくはデータシート



#2:ブロックを積む


  • デバイスアドレスを35
  • レジスタアドレスを16

でI2Cで読み取る。


#3:コードを変更


Ardublockが不完全なためにコードを書き換える必要があった。 

  • _ArdublockI2cReadData()の中身で
  • Wire.readFrom(devAddr, 1)を1から2へ
  • b = Wire.read(); を b = Wire.read() + Wire.read();に変更
どうやらこのモジュールは2回データを送信していて1回目は0がでて、次にセンサの値がでる。そのためそのままI2Cでデータをとっても0しかでない。






動作の様子








Powered by Blogger.