使用BH1750(GY-302)光照强度传感器获取光照强度
- 一、前言
- 二、BH1750(GY-302)介绍
- 三、准备工作
- 四、程序代码
- 五、运行结果
- 六、结束语
一、前言
话不多说,先给大家来一句鸡汤(鸡汤来咯!):
所有坚忍不拔的努力迟早会取得报酬的。 ——安格尔
二、BH1750(GY-302)介绍
BH1750(GY-302)是一种数字型光强度传感器集成电路,专为两线式串行总线接口设计,具备着高分辨率和精确度、低功耗和稳定性强等特点,它的实物图如下所示。
它共有五个引脚,引脚定义如下:
名称 | 说明 |
---|---|
VCC | 供电电源正极 |
GND | 负极 |
SCL | ICC通信时钟线 |
SDA | ICC双向数据线 |
ADDR | ICC地址线 |
BH1750的主要技术规格如下:
BH1750 光照强度传感器内部结构集成了光敏二极管、运算放大器、ADC 采集和晶振等关键组件。当光敏二极管接收到光线时,会产生光伏特效应,将光信号转为电信号,再经由运算放大器放大处理后,电信号被 ADC 采集器转化为数字信号,也就是我们所获取到的光照强度值。
三、准备工作
硬件:
- Arduino Uno开发板
- BH1750(GY-302)光照强度传感器一个
- 杜邦线若干和面包板一个
软件:
- Arduino IDE(没安装可看我的另一篇博客点击跳转)
- BH1750支持库(BH1750,IDE内部自行下载安装即可)
电路图:
四、程序代码
#include <BH1750.h>
BH1750 light_sensor;
float light = 0.0; //用于接收所获取的光照值
void setup() {
Serial.begin(9600); //设置串口波特率
light_sensor.begin(); //启动光照强度传感器(BH1750)工作
}
void loop() {
light = light_sensor.readLightLevel(); //获取光照强度值
Serial.print(light); //串口输出光照值
Serial.println("Lx");
delay(2000); //2s延迟再次获取
}
五、运行结果
按照电路图接好线,把上面代码烧录进Arduino后,打开串口调试窗口,设置好波特率9600,可以看到获取到的光照强度。
六、结束语
好咯,对于Arduino中BH1750(GY-302)光照强度传感器的使用就先介绍到这里了,后续我还会更新Arduino的其他内容,然后把所学过的都整合在一个有意思的项目里(毕竟学习都是一个循环渐进的过程嘛),让大家真正的入门Arduino。如果本文有帮助到您,留个痕迹,点个赞即可,我是风行男孩,咱们有缘再见!