欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > Arduino基础入门学习——BH1750(GY-302)+ LED模拟自动路灯的实现

Arduino基础入门学习——BH1750(GY-302)+ LED模拟自动路灯的实现

2025/10/15 21:48:21 来源:https://blog.csdn.net/2401_85774947/article/details/141927897  浏览:    关键词:Arduino基础入门学习——BH1750(GY-302)+ LED模拟自动路灯的实现

BH1750(GY-302)+ LED

    • 一、前言
    • 三、准备工作
    • 四、程序代码
    • 五、运行结果
    • 六、结束语

一、前言

相信很多人都见过一种路灯,白天的时候它是不亮的,等到了晚上环境变暗时就开始它的照明工作了,不了解的人可能认为是认为操纵它工作的,其实不然,都说科技改变生活,现在路灯的照明工作已经能够实现全自动了,只要设定好程序它就能自行工作,而本篇文章就简单的介绍如何模拟实现自动路灯的工作。

三、准备工作

硬件:

  • Arduino Uno开发板
  • BH1750(GY-302)光照强度传感器一个
  • LED(3~5V发光二极管)一个
  • 杜邦线若干和面包板一个

软件:

  • Arduino IDE(没安装可看我的另一篇博客点击跳转)
  • BH1750支持库(BH1750,IDE内部自行下载安装即可)
    风行男孩制作

电路图:
风行男孩制作

四、程序代码

#include <BH1750.h>
#define pin_led 7BH1750 light_sensor;
float light = 0.0;  //用于接收所获取的光照值
bool led_state = false;  //led的状态void setup() {Serial.begin(9600);  //设置串口波特率pinMode(pin_led, OUTPUT);  //设置引脚为输出模式(点亮LED)light_sensor.begin();  //启动光照强度传感器(BH1750)工作
}void loop() {light = light_sensor.readLightLevel();  //获取光照强度值(0 ~ 65535)led_state = light < 50 ? true : false;  // 光强小于50把LED状态设为开digitalWrite(pin_led, led_state ? HIGH : LOW);//输出光照和led状态Serial.print("光照:");Serial.print(light);  //串口输出光照值Serial.print("Lx  ");Serial.print("LED:");Serial.print(led_state ? "开\n" : "关\n");  //串口输出光照值delay(500); //0.5s更新一次
}

五、运行结果

按照电路图接好线,把上面代码烧录进Arduino后,打开串口调试窗口,设置好波特率9600,可以看到获取到的光照强度和LED当前的状态。

风行男孩制作

可以试着用手挡住BH1750光照强度传感器的感应面,可以看到光照值在变化,当光照值小于50lux时会自动点亮LED。

模拟自动路灯

六、结束语

好咯,对于Arduino中BH1750(GY-302)+ LED模拟实现自动路灯的介绍就先到这里了。如果本文有帮助到您,留个痕迹,点个赞即可,我是风行男孩,咱们有缘再见!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词