风筝
发表于: 2022-4-18 10:53:59 | 显示全部楼层

在本篇文章中,我们将使用BH1750环境光传感器和Arduino开发板制作一个光照强度计(Light Meter),并在1602 LCD显示屏上显示强度值。使用这个传感器,我们可以计算以勒克斯(Lux)为单位的光量。该传感器应用范围广泛,最适合获取环境光数据,可以用于调整手机的LCD屏幕和Keypad背光亮度。


在之前的帖子中,我们使用TEMT6000环境光传感器制作了光照强度计并测量了光强度。但是TEMT6000是一个模拟传感器,因此电压参数的轻微波动会显着影响强度值。因此使用BH1750和Arduino是光传感器应用项目的更好传感器。


所需的组件

●    Arduino UNO开发板

●    1602 LCD显示屏

●    BH1750环境光传感器模块

●    10K电位器

●    连接跳线

●    面包板


BH1750环境光传感器

BH1750-1.jpg


这款BH1750光强度传感器模块采用I2C总线接口。该IC最适合获取手机中的环境光数据,以根据环境光来控制屏幕亮度。该传感器可以准确测量高达65535的光的LUX值。它消耗非常低的电流并使用光电二极管来感应光。


BH1750可以轻松实现与Arduino或任何其他微控制器的连接。BH1750上的光电二极管检测光强度,然后使用集成运算放大器将其转换为电压输出。


内置ADC最终输出16位数字数据。BH1750的内部逻辑避免了任何复杂计算的需要,因为它直接输出以勒克斯 (Lx) 为单位的数字数据。


BH1750模块电路结构

BH1750使用2.4V至3.6V的电源电压工作。BH1750FVI是传感器的主要模块,需要3.3V才能工作。因此,电路中使用了稳压器。SDA和SCL是用于I2C通信的引脚。这些引脚使用4.7kΩ的上拉电阻。

BH1750-Circuit.jpg


器件的地址取决于地址(ADR)引脚的逻辑状态。地址引脚上有一个板载下拉电阻,因此在没有连接的情况下,它默认为低地址(0x23)。 PCB 跳线 (J1) 可轻松配置地址引脚;如果J1闭合,地址引脚将被拉高,地址为0x5C。模块的地址也可以通过ADD引脚上的输入信号来控制。DVI引脚上有一个RC延迟,延迟到足以允许正确的上电复位。I2C接口、地址和 DVI 引脚被引出在与面包板兼容的插头上,便于与Arduino或任何其他微控制器一起使用。


测量模式

BH1705有3种测量模式对应不同的灵敏度等级(0.5lx、1lx、4lx)。推荐使用H分辨率模式,因为它可以提供最佳的噪声抑制。I2C总线的输出逻辑电平可以通过使用PCB跳线(J2)切换3V3和5V电平。


最后,借助电平转换电路、3V3 调节和经过良好校准的BH1705,这款模块将为测量光照强度项目奠定良好的基础,特别是因为它们直接以勒克斯为单位提供输出,具有可接受的精度。


特性和规格参数

•  I2C 总线接口

•  SCL 时钟频率:最大 400kHz

•  在 2 种 I2C 从机地址之间进行选择

•  具有近似人眼响应的光电二极管

•  环境光计算的内部逻辑

•  勒克斯的数字输出数据

•  宽范围和高分辨率。 ( 1 – 65535 lx )

•  测量偏差小(+/- 20%)

•  最快的数据输出@ 16ms 每次读数

•  通过断电功能实现低电流消耗

•  50Hz / 60Hz 光噪声抑制功能

•  很少依赖光源

• 红外线的影响非常小

•  电源电压:3V3~5V DC


BH1750的应用

•  用于脉冲传感器以测量 LED 的光强度

•  手机内置BH1750,可根据外界光线条件调节屏幕亮度

•  用于车辆根据黑暗打开/关闭大灯

•  控制自动路灯的开/关

•  用于调整智能手机的键盘背光


使用BH1750环境光传感器和Arduino的硬件连接

现在让我们将BH1750环境光传感器与Arduino连接并制作一个简单的光照强度计。连接图如下。

BH1750-Arduino-LCD.jpg


BH1750采用I2C接口,因此,将其SCL和SDA引脚分别连接到Arduino开发板的A5和A4应交。传感器的VCC和GND引脚分别连接到3.3V和GND引脚。


将LCD显示屏的引脚1、5、16连接到GND。引脚2和15连接到Arduino开发板的5V。同样,引脚4、6、11、12、13、14分别连接到Arduino开发板的12、11、5、4、3、2引脚。


光照强度计的代码

在将代码上传到Arduino开发板之前,我们需要将BH1750库添加到库文件夹中。从此链接下载BH1750的Arduino库


以下是光照强度计的完整代码: BH1750.rar (516 Bytes, 下载次数: 39)


测试BH1750传感器

代码上传后,LCD显示屏开始显示以勒克斯为单位的光照强度。 您可以将手电筒或手机灯放在传感器前面测试强度值。 也可以将设备带到户外,测量以勒克斯为单位日照值。

Light-Meter-Arduino.jpg

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 705 | 回复: 1492



手机版|

GMT+8, 2024-11-8 02:39 , Processed in 0.039488 second(s), 6 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表