01简介


BH1750 是一款环境光强传感器,输出16bit的数字测量结果。下面是在淘宝购买的模块 强度光照模块rimg02bh1750光度传感器模块

▲ BH1750光强度模块的正反面

■ 表格1.1 模块5PIN管脚定义

#PIN1 PIN2 PIN3 PIN4 PIN5
VCC GND SCL SDA ADDR

1.模块特性

▲ 模块的特性480

2.接口定义

模块输入配有 PL3500 3.3V表贴稳压芯片。模块的供电电压可以是3-5V。

▲ PL3500的管脚配置

▲ 模块上的PL3500稳压模块

02实验电路板1


1.实验电路设计

▲ 原理图设计

▲ 实验电路板

■ 表格2.1 实验板PIN6管脚定义

P1 P2 P3 P4 P5 P6
VCC GND SDA SCL ADC0 ADC1

2.单片机软件2

对于I2C总线的设置:
(1)需要在STC8G头文件中将 I2C_EN设置为1
(2)需要在STC8G .C 文件中,设置: SetI2CPort(I2C_P3)
(3)需要在主程序初始化中:

#if I2C_EN
#define SDA_PIN         3,3
#define SCL_PIN         3, 2PM_BIDIR(SDA_PIN);PM_BIDIR(SCL_PIN);ON(SDA_PIN);ON(SCL_PIN);
#endif // I2C_EN

(4)测试I2C的SDA,SCL管教波形

注意: 在测试I2CSendData()函数是,一定需要调用 I2CStart()

if(++nShowCount >= 50) {nShowCount = 0;I2CStart();I2CSendData(0x55);I2CStop();
}

▲ I2C 实测SDA,SCL波形, 没有带负载

在SDA,SCL初始化成PM_BIDIR时,测量SDA,SCL波形。

▲ 带上负载之后的SDA,SCL波形

由于BH1750是3V器件,为了能把兼容BH1750,将SDA,SCL初始化成PM_OC,测量得到的波形如下。

▲ 初始化成PM_OC是测量SDA,SCL波形

03BH1705协议


1.BH1750的工作模式与命令

▲ BH1750工作模式之间转换

▲ BH1750命令表格

下面是ADDR= 时对应的高分辨率的初始化与读取协议:

▲ 连续高分辨率转换

``▲ 下面是ADDR=1是对应的通讯协议

2.BH1750的模块协议

/*
**==============================================================================
** BH1750.C:             -- by Dr. ZhuoQing, 2020-09-02
**
**==============================================================================
*///------------------------------------------------------------------------------
#include "C51BASIC.H"
#include "STC8G.H"#define BH1750_GLOBALS        1              // Define the global variables
#include "BH1750.H"//------------------------------------------------------------------------------void BH1750Init(void) {I2CStart();I2CSendData(BH1750_ADD_WRITE);I2CReceiveACK();I2CSendData(BH1750_CMD_H_RESOLUTION);I2CReceiveACK();I2CStop();
}unsigned int BH1750Read(void) {unsigned int nNumber;unsigned char ucChar;I2CStart();I2CSendData(BH1750_ADD_READ);I2CReceiveACK();ucChar = I2CReceiveData();I2CSendACK();nNumber = ucChar;ucChar = I2CReceiveData();I2CSendNACK();I2CStop();nNumber = (nNumber << 8) + ucChar;return nNumber;}//==============================================================================
//                END OF THE FILE : BH1750.C
//------------------------------------------------------------------------------
/*
**==============================================================================
** BH1750.H:            -- by Dr. ZhuoQing, 2020-09-02
**
**  Description:
**
**==============================================================================
*/
#ifndef __BH1750__
#define __BH1750__
//------------------------------------------------------------------------------
#ifdef BH1750_GLOBALS#define BH1750_EXT
#else#define BH1750_EXT extern
#endif // BH1750_GLOBALS
//------------------------------------------------------------------------------
//==============================================================================
#define BH1750_ADD          1
//------------------------------------------------------------------------------#if BH1750_ADD == 0
#define BH1750_ADD_READ             0x47
#define BH1750_ADD_WRITE            0x46
#else
#define BH1750_ADD_READ             0xB9
#define BH1750_ADD_WRITE            0xB8
#endif // BH1750_ADD == 0//------------------------------------------------------------------------------
#define BH1750_CMD_POWERDOWN        0x0
#define BH1750_CMD_POWERON          0x1
#define BH1750_CMD_RESET            0x7
#define BH1750_CMD_H_RESOLUTION     0x10
#define BH1750_CMD_H_RESOLUTION2    0x11
#define BH1750_CMD_L_RESOLUTION     0x13
#define BH1750_CMD_ONETIME_H        0x20
#define BH1750_CMD_ONETIME_H2       0x21
#define BH1750_CMD_ONETIME_L        0x23//------------------------------------------------------------------------------
void BH1750Init(void);
unsigned int BH1750Read(void);//==============================================================================
//             END OF THE FILE : BH1750.H
//------------------------------------------------------------------------------
#endif // __BH1750__

▲ 连续H转换读写波形

04测试实验


1.简单遮挡实验

▲ 简单手指遮挡光线

▲ 简单遮挡对应的高强变化

2.几种典型场景测量

(1) 严格遮挡数据

放置在黑色盒子里面: 读数为0.

▲ 黑色盒子里面640

(2) 在普通环境光下

读数在几十到几百的幅值。

※ 结论


  • 使用5V单片机STC8G1K08可以对BH1750进行读写;
  • 在STC8G1K08的SDA,SCL的输出管脚设置为 PM_OC;
  • 舒适稳定性很高。

■ 相关文献链接:

  • Not Acceptable!
  • 强度光照模块rimg02bh1750光度传感器模块-淘宝网
  • 662K,65Z5稳压LDO-PL3500 - 百度文库

  1. 实验电路板AD工程文件:AD\Test\2020\I2C8G1K08\I2C8G1K08.SchDoc ↩︎

  2. 单片机开发工程文件:C51\STC\Test\2020\TestBH17508G1K\TestBH17508G1k.uvproj ↩︎

强度光照模块rimg02 BH1750光度传感器模块相关推荐

  1. 使用ESP32 MicroPython I2C功能读取 BH1750光度传感器模块数据

    简 介: 使用ESP32读取BH1750的光度传感器的数据.但是最终不知道甚么原因,所读取的数据都是0 ? 后面通过证明,说明在原来进行I2C写的时候出现了语法错误. 关键词: BH1750,ESP3 ...

  2. 利用BH1750光度传感器测量一些发光体

    简 介: 初步测试了BH1750测量一些光源的数据.特别是对于LED发光特性与电流之间的关系. 通过BH1750的数据收获册上的感光特性,它基本上覆盖了可见光的的范围. 关键词: BH1750,ESP ...

  3. Arduino 各种模块篇 震动模块 常开 震动传感器模块

    以下是店家提供的一部分资料 一共就需要3根线 ------------------分割线------------------------ 用途: 用于各种震动触发作用,报盗报警,智能小车,电子积木等. ...

  4. Fritzing软件绘制Arduino面包板接线图传感器模块库文件300

    一.硬件接线图 二.硬件材料 1)主控板 1.1*Arduino UNO开发板 2.1*Arduino UNO R3 CH340版本 3.1*Arduino Nano开发板 4.1*Arduino M ...

  5. Fritzing软件绘制Arduino面包板接线图传感器模块查找元件添加库文件

    1)主控板 1.1*Arduino UNO开发板 2.1*Arduino UNO R3 CH340版本 3.1*Arduino Nano开发板 4.1*Arduino Mega 2560开发板 5.1 ...

  6. 带你开发一个远程控制项目---->STM32+标准库+阿里云平台+传感器模块+远程显示。

    目录 本次实验项目: 下次实验项目: 本次项目视频结果/APP/实物展示 实物展示 APP展示 视频展示 模块选择说明; 温湿度传感器模块介绍 光照传感器介绍 ESP8266-01S模块介绍 本次实验 ...

  7. IoT物联网嵌入式设备中30种常见传感器模块简介及原理讲解

    IoT物联网嵌入式设备中30种常见传感器模块简介及原理讲解 0.前言 一.光学传感器模块: 1. 光敏传感器模块: 2. 红外避障模块 3. 循迹传感器模块 4. U型光电传感器模块 5. 红外接收模 ...

  8. 【花雕小实验01】使用万用表测量OPT101模拟光照传感器模块

    早上起来,尝试使用万用表来测量OPT101模拟光照传感器模块,这里调到直流电压20V档,模块供电5V, 正常室内光线时,测得电压为0.26V,凌晨光线很弱 用手指挡住光线,电压降为0.07V 使用台灯 ...

  9. 光照度传感器使用(BH1750)--GY30模块

    GY30是模块名 BH1750-光照度采集芯片 芯片工作流程![在这里插入图片描述](https://img-blog.csdnimg.cn/20190811163315422.png 数据转换: s ...

最新文章

  1. linux lvm 大小与硬盘大小关系,linux lvm扩容磁盘大小
  2. linux里c库和gnu c库,Linux下的C的库文件和头文件有什么区别-
  3. html设置表格宽度最小,css如何设置表格宽度?
  4. POJ 1041 John's trip(欧拉回路)
  5. SSM综合练习表结构介绍
  6. html地区三级联下拉列表,JS-三级联下拉列表
  7. learning rate 学习速率
  8. vue生成带签名的apk
  9. 基于粒子群的ieee30节点优化、配电网有功-无功优化
  10. python调用perl_从Python调用Perl脚本不断返回值
  11. AAC MP3音频帧采样点大小
  12. vue绑定背景图片有括号无法显示怎么办
  13. 接口调用频繁限制,接口限制流量
  14. 手动链接react native的依赖
  15. ROS 清理log文件
  16. 2021-03-23 sgn函数
  17. android仿今日头条视频显示效果
  18. Redis应用项目---抢红包功能(二)
  19. Jmeter之参数化
  20. Cursor——ChatGPT的替代品【笔记】

热门文章

  1. 添加删除一个controller
  2. [水晶报表]创建不受数据库限制的报表(2)
  3. 小白请上车 | Python抓取花瓣网高清美图
  4. 【转载】Linux常用命令1
  5. 【图像识别】图像识别过程中,计算的图片大小多少为合适?
  6. C语言实现radon变换
  7. 北京联通限制上传到电信网络服务器
  8. *:教育产品 规范销售
  9. java android 数组_android中数组的定义与使用
  10. matlab 图像读取长宽_MATLAB图像处理基本操作