ocrobot:alpha:bh1750:index
差别
这里会显示出您选择的修订版和当前版本之间的差别。
| 前一修订版 | |||
| — | ocrobot:alpha:bh1750:index [2025/10/11 02:55] (当前版本) – 外部编辑 127.0.0.1 | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| + | ===== ALPHA BH1750FVI ===== | ||
| + | ==== 简介 ==== | ||
| + | BH1750FVI 是一种I2C总线接口的数字型光强度传感器。它可以根据收集的光线强度数据来控制其他执行装置。分辨率有16位(1lx-65535lx)。 | ||
| + | ==== 特点 ==== | ||
| + | - IIC总线接口 | ||
| + | - 响应光谱为人眼可见光谱 | ||
| + | - 1 - 65535lx宽范围响应。 | ||
| + | |||
| + | ==== 勒克斯 ==== | ||
| + | 勒克司(lux,法定符号lx)是照度的单位。等于1流明的光通量均匀照在1平方米表面上所产生的照度。 | ||
| + | |||
| + | ====参考图片==== | ||
| + | {{: | ||
| + | {{: | ||
| + | ==== 代码 ==== | ||
| + | <code cpp> | ||
| + | #include < | ||
| + | |||
| + | #define ADDR 0b0100011 | ||
| + | |||
| + | void setup() { | ||
| + | // put your setup code here, to run once: | ||
| + | Serial.begin(9600); | ||
| + | Wire.begin(); | ||
| + | Wire.beginTransmission(ADDR); | ||
| + | Wire.write(0b00000001); | ||
| + | Wire.endTransmission(); | ||
| + | |||
| + | } | ||
| + | |||
| + | void loop() { | ||
| + | // put your main code here, to run repeatedly: | ||
| + | int val = 0; | ||
| + | |||
| + | // reset | ||
| + | Wire.beginTransmission(ADDR); | ||
| + | Wire.write(0b00000111); | ||
| + | Wire.endTransmission(); | ||
| + | |||
| + | delay(100); | ||
| + | |||
| + | |||
| + | |||
| + | Wire.beginTransmission(ADDR); | ||
| + | Wire.write(0b00100000); | ||
| + | Wire.endTransmission(); | ||
| + | |||
| + | // typical read delay 120ms | ||
| + | delay(120); | ||
| + | |||
| + | Wire.requestFrom(ADDR, | ||
| + | |||
| + | for (val=0; Wire.available()> | ||
| + | char c = Wire.read(); | ||
| + | // | ||
| + | val = (val << 8) + (c & 0xFF); | ||
| + | } | ||
| + | |||
| + | val = val / 1.2; | ||
| + | Serial.print(" | ||
| + | Serial.println(val); | ||
| + | |||
| + | Serial.println(" | ||
| + | digitalWrite(13, | ||
| + | delay(100); | ||
| + | } | ||
| + | </ | ||
| + | ==== 下载 ==== | ||
| + | **数据手册:** | ||
| + | |||
| + | {{: | ||
| + | |||
| + | **原理图:** | ||
| + | |||
| + | {{: | ||
