强度光照模块rimg02 BH1750光度传感器模块
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 - 百度文库
实验电路板AD工程文件:AD\Test\2020\I2C8G1K08\I2C8G1K08.SchDoc ↩︎
单片机开发工程文件:C51\STC\Test\2020\TestBH17508G1K\TestBH17508G1k.uvproj ↩︎
强度光照模块rimg02 BH1750光度传感器模块相关推荐
- 使用ESP32 MicroPython I2C功能读取 BH1750光度传感器模块数据
简 介: 使用ESP32读取BH1750的光度传感器的数据.但是最终不知道甚么原因,所读取的数据都是0 ? 后面通过证明,说明在原来进行I2C写的时候出现了语法错误. 关键词: BH1750,ESP3 ...
- 利用BH1750光度传感器测量一些发光体
简 介: 初步测试了BH1750测量一些光源的数据.特别是对于LED发光特性与电流之间的关系. 通过BH1750的数据收获册上的感光特性,它基本上覆盖了可见光的的范围. 关键词: BH1750,ESP ...
- Arduino 各种模块篇 震动模块 常开 震动传感器模块
以下是店家提供的一部分资料 一共就需要3根线 ------------------分割线------------------------ 用途: 用于各种震动触发作用,报盗报警,智能小车,电子积木等. ...
- Fritzing软件绘制Arduino面包板接线图传感器模块库文件300
一.硬件接线图 二.硬件材料 1)主控板 1.1*Arduino UNO开发板 2.1*Arduino UNO R3 CH340版本 3.1*Arduino Nano开发板 4.1*Arduino M ...
- Fritzing软件绘制Arduino面包板接线图传感器模块查找元件添加库文件
1)主控板 1.1*Arduino UNO开发板 2.1*Arduino UNO R3 CH340版本 3.1*Arduino Nano开发板 4.1*Arduino Mega 2560开发板 5.1 ...
- 带你开发一个远程控制项目---->STM32+标准库+阿里云平台+传感器模块+远程显示。
目录 本次实验项目: 下次实验项目: 本次项目视频结果/APP/实物展示 实物展示 APP展示 视频展示 模块选择说明; 温湿度传感器模块介绍 光照传感器介绍 ESP8266-01S模块介绍 本次实验 ...
- IoT物联网嵌入式设备中30种常见传感器模块简介及原理讲解
IoT物联网嵌入式设备中30种常见传感器模块简介及原理讲解 0.前言 一.光学传感器模块: 1. 光敏传感器模块: 2. 红外避障模块 3. 循迹传感器模块 4. U型光电传感器模块 5. 红外接收模 ...
- 【花雕小实验01】使用万用表测量OPT101模拟光照传感器模块
早上起来,尝试使用万用表来测量OPT101模拟光照传感器模块,这里调到直流电压20V档,模块供电5V, 正常室内光线时,测得电压为0.26V,凌晨光线很弱 用手指挡住光线,电压降为0.07V 使用台灯 ...
- 光照度传感器使用(BH1750)--GY30模块
GY30是模块名 BH1750-光照度采集芯片 芯片工作流程![在这里插入图片描述](https://img-blog.csdnimg.cn/20190811163315422.png 数据转换: s ...
最新文章
- linux lvm 大小与硬盘大小关系,linux lvm扩容磁盘大小
- linux里c库和gnu c库,Linux下的C的库文件和头文件有什么区别-
- html设置表格宽度最小,css如何设置表格宽度?
- POJ 1041 John's trip(欧拉回路)
- SSM综合练习表结构介绍
- html地区三级联下拉列表,JS-三级联下拉列表
- learning rate 学习速率
- vue生成带签名的apk
- 基于粒子群的ieee30节点优化、配电网有功-无功优化
- python调用perl_从Python调用Perl脚本不断返回值
- AAC MP3音频帧采样点大小
- vue绑定背景图片有括号无法显示怎么办
- 接口调用频繁限制,接口限制流量
- 手动链接react native的依赖
- ROS 清理log文件
- 2021-03-23 sgn函数
- android仿今日头条视频显示效果
- Redis应用项目---抢红包功能(二)
- Jmeter之参数化
- Cursor——ChatGPT的替代品【笔记】