欢迎光临
我们一直在努力

光强度传感器 示例教程 适用于Arduino平台

1. 产品图片

2. 产品购买地址点我购买
3. 产品概述
最新推出的Light Sensor是基于半导体的光电效应原理所开发的光线传感器,其可用来对周围环境光的强度进行检测,结合各种单片机控制器可实现光的测量、光的控制和光电转换等功能,此传感器3P插针接口,可通过3P传感器连接线(不分模拟与数字连接线)与传感器扩展板结合使用,可以制作光感相关的互动作品。

4. 产品参数
采用ROHM原装BH1750FVI芯片
供电电源 :3-5v
光照度范围:0-65535 lx
传感器内置16bitAD转换器
直接数字输出,省略复杂的计算,省略标定
不区分环境光源
接近于视觉灵敏度的分光特性
可对广泛的亮度进行1勒克斯的高精度测定

5. 接口定义

6. 接线方式
uno——GY-30
GND—–GND
GND—–ADO
SDA——SDA
SCL——–SCL
5V——–VCC

7. 示例程序

//中贝斯特UltiRobot光照强度示例教程
//程序效果:通过改变光通量,观察串口监视器的lx变化。
//淘宝店地址:zhongbest.taobao.com
//专业Arduino资料网站:www.arduino365.com
#include <Wire.h>
// GY-30
// BH1750FVI
// in ADDR 'L' mode 7bit addr
#define ADDR 0b0100011
// addr 'H' mode
// #define ADDR 0b1011100
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
Wire.begin();
pinMode(13, OUTPUT);
Wire.beginTransmission(ADDR);
Wire.write(0b00000001);
Wire.endTransmission();
}
void loop() {
// put your main code here, to run repeatedly:
int val = 0;
// reset
Wire.beginTransmission(ADDR);
Wire.write(0b00000111);
Wire.endTransmission();
digitalWrite(13, LOW);
delay(100);
Wire.beginTransmission(ADDR);
Wire.write(0b00100000);
Wire.endTransmission();
// typical read delay 120ms
delay(120);
Wire.requestFrom(ADDR, 2); // 2byte every time
for (val=0; Wire.available()>=1; ) {
char c = Wire.read();
//Serial.println(c, HEX);
val = (val << 8) + (c & 0xFF);
}
val = val / 1.2;
Serial.print("lx: ");
Serial.println(val);
Serial.println("OK");
digitalWrite(13, HIGH);
delay(100);
}

未经允许不得转载:Arduino-Maker » 光强度传感器 示例教程 适用于Arduino平台

支付宝扫码打赏 微信打赏

原创文章,若帮到您,欢迎打赏

分享到:更多 ()

评论 抢沙发

评论前必须登录!

 

线上商城

中贝斯特创客空间蘑菇云创客教育