소개
16비트의 ADC가 내장되어 있고, 룩스(Lux)단위로 빛의 밝기를 감지하여 출력하는 고분해능 조도센서 입니다. I2C 인터페이스를 사용합니다.
사양
- Power Supply: 2.4V-3.6V (typically 3.0V)
- Less current consumption: 0.12mA
- Measuring Range: 1-65535lx
- Communication: I2C bus
- Accuracy: +/-20%
- Built in A/D converter for converting analog illuminance in the digital data.
- Very small effect of IR radiation
- Highly responsive near to human eye.
명령
INIT
모듈을 초기화합니다.
CONFIG
측정모드를 설정합니다.
항목 | 타입 | 설명 |
---|---|---|
측정모드 ¹ | WRITE | 측정모드를 선택합니다. (연속-고해상도, 연속-고해상도2, 연속-저해상도, 1회-고해상도, 1회-고해상도2, 1회-저해상도) |
¹ 각 측정모드에 대한 설명은 참고자료-데이터시트의 5페이지를 참고합니다.
READ_LIGHT_LEVEL
측정된 조도를 읽어옵니다.
항목 | 타입 | 설명 |
---|---|---|
조도(lux) | READ | 측정된 조도(밝기) 입니다. |
MEAS_READY
새로운 측정값이 존재하는지 여부를 판단합니다.
항목 | 타입 | 설명 |
---|---|---|
max wait | WRITE | 새로운 측정값을 기다리는 최대 대기시간을 적용할지 여부입니다. |
measurement ready | READ | 새로운 측정값이 존재하면 true, 그렇지 않으면 false를 반환합니다. |
SET_MT_REG
MTreg (Measurement Time Register)의 값을 설정합니다.
항목 | 타입 | 설명 |
---|---|---|
MTreg value ¹ | WRITE | Measurement Time Register의 값을 설정합니다. 31~254 사이의 값을 입력할 수 있으며 기본값은 69 입니다. 센서의 감도를 조절하는 Register이며 값이 클수록 감도가 높아집니다. |
¹ 예를 들어, 센서가 아래의 그림과 같이 불투명한 커버안에 설치될 경우, 커버의 빛 투과율이 50%라고 한다면 MTreg의 값을 기본값의 2배로 설정하면 커버로 인한 간섭을 보정할 수 있습니다.
예제
부품
부품 | 갯수 |
---|---|
BH1750 | 1 |
연결
BH1750 | GPIO |
---|---|
VIN | 3.3V |
GND | GND |
SCL ¹ | 3 (I2C1 SCL) |
SDA ¹ | 2 (I2C1 SDA) |
ADDR ² | GND |
¹ 하드웨어 I2C 핀 (GPIO 2,3)에 연결합니다. 소프트웨어 (bit-bang) 인터페이스 사용시 임의의 핀을 사용할 수도 있습니다.
² GND에 연결하면 I2C주소는 0x23, 3.3V에 연결하면 0x5C 입니다. (모듈 제조사에 따라 다를 수 있습니다.)
² GND에 연결하면 I2C주소는 0x23, 3.3V에 연결하면 0x5C 입니다. (모듈 제조사에 따라 다를 수 있습니다.)