ocrobot:sensor_suite:bh1750:main
光照强度检测计
OCROBOT 光照强度检测计采用OCROBOT ALPHA系列模块堆叠而成。 本模型可以测量当前位置的光照强度,并且可以根据收集的光线强度数据来控制其他执行装置,分辨率有16位(1lx-65535lx)。响应光谱为人眼可见光谱。
勒克司(lux,法定符号lx)是照度的单位,等于1流明的光通量均匀照在1平方米表面上所产生的照度。
图片展示
主要硬件
- OCROBOT ALPHA 8F32P-U主控板
- OCROBOT ALPHA BH1750FVI 光照度传感器模块
- OCROBOT ALPHA LCD1602显示屏
- OCROBOT ALPHA 双路锂电池扩展板
代码
#include <Wire.h> #include <LiquidCrystal_I2C.h> #define ADDR 0b0100011 LiquidCrystal_I2C lcd(0x20, 16, 2); void setup() { // put your setup code here, to run once: Serial.begin(9600); Wire.begin(); Wire.beginTransmission(ADDR); Wire.write(0b00000001); Wire.endTransmission(); lcd.init(); //初始化屏幕 lcd.backlight(); } 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, 2); // 2byte every time for (val=0; Wire.available()>=1; ) { char c = Wire.read(); //Serial.println(c, HEX); val = (val << 8) + (c & 0xFF); } val = val / 1.2; lcd.clear(); lcd.setCursor(0, 0); lcd.print("lx: "); lcd.setCursor(4, 0); lcd.println(val); //Serial.println("OK"); digitalWrite(13, HIGH); delay(100); }
ocrobot/sensor_suite/bh1750/main.txt · 最后更改: 2023/06/07 04:23 由 127.0.0.1