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

一、前言

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

三、准备工作

硬件:

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

软件:

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

电路图:
风行男孩制作

四、程序代码

#include <BH1750.h>
#define pin_led 7

BH1750 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模拟实现自动路灯的介绍就先到这里了。如果本文有帮助到您,留个痕迹,点个赞即可,我是风行男孩,咱们有缘再见!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值