2025.2.12 Coskx Lab
1 はじめに
M5Stack Basic V2.7にGrove SI1145 Sunlight Sensor(光センサ)を接続して周囲の明るさを測定します。
Grove SI1145 Sunlight Sensorはフォトダイオードを使用していて,Groveインターフェイスを使用してマイコンに接続できるようになっています。(I2Cインターフェイス(クロック信号SCLと、データ信号SDA)+ +V + GNDの4線ケーブル使用)
M5Stackとは付属の4線ケーブルで接続するだけで配線完了となります。
2 使用環境
3 接続
M5Stack Basic V2.7にはPort.A.I2Cコネクタに付属ケーブルで接続します。
4 テストプログラム
https://github.com/Seeed-Studio/Grove_Sunlight_Sensor
を参考にさせていただきました。
動作テスト用プログラム本体
5 実行の様子と考察
シリアルモニタで連続データを取得してみました。最初は室内の環境光下での測定でしたが,途中でガラス越しの太陽光を当ててみました。
値が途中で増加しているので,照度が上昇しているのがわかります。
Vis(Visible light)は環境光(Ambient light),IR(Infrared)は赤外線,UV(Ultraviolet )は紫外線を表しています。
途中から太陽光に当てたので,3つの値が増加しているのがわかります。
M5Stack単体での実行の様子は次のようになります。
値は見えているものの,よくわからなかったので,スマートフォンの照度計アプリの表示(ルックス)とVisの値を比べてみました。
Si1145のVis値は,スマートフォンの照度計アプリの表示に対して3倍強の値になっています。
表示値がどのような値なのかを,データシートとライブラリプログラムのソースを眺めながら,調べてみました。
(1)環境光(Vis)
環境光(Vis)の測定にはフォトダイオードが使用されています。
ただしフォトダイオードは光に関する感度特性をもっていて,次のように書かれています。
Sunlight 0.282 [ADCcounts/lx]
2500K incandescent bulb(白熱電球) 0.319 [ADCcounts/lx]
"Cool white" fluorescent(白色蛍光灯) 0.146 [ADCcounts/lx]
Infrared LED (875 nm) 8.277 0.146 [ADCcounts/(W/m2)]
環境光(Vis)の値はフォトダイオードの出力の14.5倍をADC変換した値です。
そうすると(Vis)の値を,(感度 x 14.5(=およそ3))で割るとlxの単位での値が得られることになって,スマホの照度計の値に近い値になります。
lx(ルックス)の単位は人間の目の波長特性を加味しているので,その測定はもうすこし複雑なようです。波長555nmでは,1[lx]=1.46[mW/m2]=0.00146[W/m2]ということになっています。
(2)赤外光(IR)
赤外光(IR)の測定には赤外フォトダイオードが使用されています。
赤外フォトダイオードは大小二つ組み込まれているけれど。大きい方がライブラリ関数では使われています。
ただし大きいほうの赤外フォトダイオードは光に関する感度特性をもっていて,次のように書かれています。
Sunlight 17.07 [ADCcounts/lx]
2500K incandescent bulb(白熱電球) 50.47 [ADCcounts/lx]
"Cool white" fluorescent(白色蛍光灯) 3.97 [ADCcounts/lx]
Infrared LED (875 nm) 8.277 2734 [ADCcounts/(W/m2)]
赤外光(IR)の値は赤外フォトダイオードの出力の14.5倍をADC変換した値です。
(3)紫外線(UV)
紫外線(UV)の測定に関してはデータシートに記述がないのですが,「紫外線Index」の値の100倍の値がライブラリ関数で得られるようになているとのことです。そのため,プログラムでは1/100倍して,「紫外線Index」の値として表示しています。
6 まとめ
SI1145 Sunlight Sensor(光センサ)での測定値を表示することができました。
SI1145用のライブラリがあるため,テストプログラムの作成は難しくはありませんでした。
ただし,波長特性を持ったフォトダイオードの出力値が得られているため,使いやすいlx(ルックス)単位での表示にするためには,一工夫が必要です。
赤外線の測定値も[w/m2]単位で照度が得られますが,波長特性を持った赤外フォトダイオードの出力値が得られているため,使用には一工夫が必要です。
紫外線の測定は紫外線Indexの値が得られました。