部品実験 | 元に戻る |
BH1750 2024/11/02 |
|
| |||||||
1.簡単につかう 2.I2Cスレーブアドレス 3.レジスタ 4.概要 |
1.BH1750 Arduinoプログラム 2.BH1750 Pythonプログラム(RaspberrPi) |
本 文 |
1.簡単につかう BH1750は照度センサー。 アクセスの仕方(BH1750の連続高精度値を読む方法) I2Cの信号の並びは スレーブアドレス(以下SAと言う)+オペコード 又は SA+返信データ(2Byte)です。 信号の内容は3つ ①設定を送る ②動作を要求する ③動作の返信(照度データ2Byte) (1)設定を送る(オペコード) BH1750の設定は「高額窓の影響を考慮したセンサー感度調整」しか有りません。 この感度調整用の設定値は「3.レジスタ(2)高額窓の影響を考慮したセンサー感度調整方法」を参照。 今回はデフォルト値(0x42、0x65)をBH1750に設定する。 上位バイト送信
下位バイトの送信
(2)動作の要求 動作については今回指示するう「連続高精度解像モード」を含め9つあり。 詳細は「3.レジスタ(3)動作モードについて」を参照。 連続高精度解像モードで要求
(3)動作の返信(照度データ) 高精度解像度の場合は「(2)動作の要求」から標準で120ms経過してからSA番号を送る事。 低解像度の場合は(2)値の要求から標準で16ms経過してからSA番号を送る事。
lxの求め方 0x01E3 /1.2 = 483/1.2 = 402.50(lx) [目次に戻る] |
2.I2Cスレーブアドレス アドレスは2種類あり
|
3.レジスタ I2Cの信号の並びは スレーブアドレス(以下SAと言う)+オペコード 又は SA+返信データ(2Byte)です。 (1)オペコード 下記表の No10,No11が設定で使用し、「(2)高額窓の影響を考慮したセンサー感度調整方法」を参照。 No1~No9は動作の要求で使用し、「(3)動作モードについて」を参照。
(2)高額窓の影響を考慮したセンサー感度調整方法 BH1750FVIは、センサー感度を変更することができます。 この機能を使用することで、光学窓の影響(光学窓の有無の違い)をキャンセルすることができます。 調整は、測定時間を変更することで行います。 たとえば、光学窓の透過率が50%(光学窓を設定すると測定結果は0.5倍になる)の場合、センサー感度をデフォルトから2倍に変更することで、光学窓の影響を無視できます。 この調整は (測定時間レジスタ) の値を変更することで、センサー感度をシフトします。 センサー感度の目標が 2 倍の場合、MTreg 値は 2 倍に設定する必要があります。 MTreg 値をデフォルトから 2 倍に変更すると、測定時間も 2 倍に設定されます。 MTreg 値はデフォルトが69(0x45)をデフォルト値として最小が31(0x1F)~254(0xFE)まで設定が出来ます。 ただしBH1750へ設定を指示する場合はオペコードとして2Byteにして2回に分けて指示します。 下はデフォルト値(0x42、0x65)を設定した場合を示している。 MTreg 値をオペコードにする方法は下表のとおり
MTreg 値からオペコードへ変換した値一覧
H mode2 lx/count = 69/(Mtreg値x1.2x2) (3)動作モードについて 各オペコードの内容は下表のとおり
※2 パワーダウン状態の場合でも本コードを指示することにより電源がオンになり、測定を開始する。 各モードからの遷移 [目次に戻る] |
4.概要 (1)仕様
(2)ピン
(3)内部回路 [目次に戻る] |