Arduino#
1. Arduino简介#
Arduino是一种开源电子原型平台,旨在帮助用户学习电子与编程的基本概念。Arduino开发板(如UNO)支持多种传感器和模块,允许用户通过简单的编程(基于C/C++语言)构建互动项目。它被广泛应用于教育、创客活动及个人工作室,提供丰富的社区资源与教程,适合各类技术水平的学习者。Arduino的可编程性与灵活性使得它在智能家居、机器人、艺术装置等领域具有广泛的应用。
2. 接线图#

3. 测试代码#
下载库文件:Arduino
打开Arduino IDE,选择“项目”,选择“导入库”,再选择“添加.ZIP库”。

找到下载资料的存放位置,打开文件夹找到库文件,选择要导入的库,点击“打开”。

安装成功出现的界面。

#include <Wire.h>
#define ADDRESS_BH1750FVI 0x23 //ADDR="L" for this module
#define ONE_TIME_H_RESOLUTION_MODE 0x20
//One Time H-Resolution Mode:
//Resolution = 1 lux
//Measurement time (max.) = 180ms
//Power down after each measurement
byte highByte = 0;
byte lowByte = 0;
unsigned int sensorOut = 0;
unsigned int illuminance = 0;
void setup() {
Wire.begin();
Serial.begin(115200);
}
void loop() {
Wire.beginTransmission(ADDRESS_BH1750FVI); //"notify" the matching device
Wire.write(ONE_TIME_H_RESOLUTION_MODE); //set operation mode
Wire.endTransmission();
delay(180);
Wire.requestFrom(ADDRESS_BH1750FVI, 2); //ask Arduino to read back 2 bytes from the sensor
highByte = Wire.read(); // get the high byte
lowByte = Wire.read(); // get the low byte
sensorOut = (highByte << 8) | lowByte;
illuminance = sensorOut / 1.2;
Serial.print(illuminance);
Serial.println(" lux");
delay(1000);
}
4. 测试结果#
根据光线强弱,数值会相应变化,光线强,则数值大,反之,则小。打开串口监视器,设置波特率为115200,显示如下图。
