目录一、芯片介绍二、Datasheet解读1.硬件说明2.寄存器说明3.通信过程三、驱动代码编写1.软件I2C驱动2.BH1750芯片驱动函数总结 一、芯片介绍 BH1750是16位数字输出型,环境光强度传感器集成电路,使用I2C接口通信,工作电压:VCC(2.4~3.6V),I2C电平(1.65~VCC),用于各类消费类LCD屏背光检测或环境光检测。二、Datasheet解读1.硬件说明1)框图PD:光电二极管,接受光信号AMP:放大器,将电流信号转化为电压信号ADC:16位AD转换Logic+I2CInterface:环境光计算与I2C接口OSC:内部时钟2)引脚说明引脚号名称说明
前言最近接触到一个应用,需要在低功耗的产品上加上光照度采集,正好最近有接触到一款光照传感器BH1750,性能价格都合适,那么今天就抽空来好好测试一下。那么要写一篇测试文章,我会尽量以新手的角度从资料的获取,资料的阅读理解,以及根据资料进行驱动设计来做记录。我是矜辰所致,全网同名,尽量用心写好每一系列文章,不浮夸,不将就,认真对待学知识的我们,矜辰所致,金石为开!插一句,技术群在CSDN文章结尾后面的的推广,讨论学习。目录前言一、确认基本参数1.1根据产品特征整体认识产品1.2根据工作条件确定产品的供电方式1.3根据推荐电路图确定PCB设计二、工作流程及指令2.1工作流程分析2.2操作命令2.3
文章目录硬件配置软件配置DHT11代码编写BH1750代码编写虚拟串口输出和OLED显示硬件配置stm32f103c8t6DHT11(温湿度传感器)BH1750(光照度传感器)OLEDmicroUSB数据传输线软件配置sys->Debug->SerialWrieRCC->HSE->Crystal/CerarnicResonatorPC13->GPIO_OutTIM1->ClockSource->InternalClockParameterSettings为后面DHT11的延时us起作用TIM2->ClockSource->InternalClockParameterSettingsNVICSe
Arduino是一个开放源码的电子原型平台,它可以让你用简单的硬件和软件来创建各种互动的项目。Arduino的核心是一个微控制器板,它可以通过一系列的引脚来连接各种传感器、执行器、显示器等外部设备。Arduino的编程是基于C/C++语言的,你可以使用ArduinoIDE(集成开发环境)来编写、编译和上传代码到Arduino板上。Arduino还有一个丰富的库和社区,你可以利用它们来扩展Arduino的功能和学习Arduino的知识。Arduino的特点是:开放源码:Arduino的硬件和软件都是开放源码的,你可以自由地修改、复制和分享它们。易用:Arduino的硬件和软件都是为初学者和非专业
Arduino是一个开放源码的电子原型平台,它可以让你用简单的硬件和软件来创建各种互动的项目。Arduino的核心是一个微控制器板,它可以通过一系列的引脚来连接各种传感器、执行器、显示器等外部设备。Arduino的编程是基于C/C++语言的,你可以使用ArduinoIDE(集成开发环境)来编写、编译和上传代码到Arduino板上。Arduino还有一个丰富的库和社区,你可以利用它们来扩展Arduino的功能和学习Arduino的知识。Arduino的特点是:开放源码:Arduino的硬件和软件都是开放源码的,你可以自由地修改、复制和分享它们。易用:Arduino的硬件和软件都是为初学者和非专业
Arduino是一个开放源码的电子原型平台,它可以让你用简单的硬件和软件来创建各种互动的项目。Arduino的核心是一个微控制器板,它可以通过一系列的引脚来连接各种传感器、执行器、显示器等外部设备。Arduino的编程是基于C/C++语言的,你可以使用ArduinoIDE(集成开发环境)来编写、编译和上传代码到Arduino板上。Arduino还有一个丰富的库和社区,你可以利用它们来扩展Arduino的功能和学习Arduino的知识。Arduino的特点是:开放源码:Arduino的硬件和软件都是开放源码的,你可以自由地修改、复制和分享它们。易用:Arduino的硬件和软件都是为初学者和非专业
开发环境单片机:STM32F103C8T6光照度传感器:BH1750IDE:KEIL+STM32CUBEMX单片机配置1、STM32CUBEMXBH1750代码1、头文件/**************************************************BH1750光照数据计算(LUX)LUX=读取数据/1.2例如:读取值为0x56,0x78LUX=0X5678/1.2=22136/1.2=18447**************************************************/#ifndef__BH1750_H#define__BH1750_H#inc
近日,上海人工智能实验室和OpenNLPLab的一个研究团队提出了一种新的大型语言模型TransNormerLLM,其中完全抛弃了基于Softmax的注意力机制,而是使用了新提出的线性注意力。据介绍,TransNormerLLM是首个基于线性注意力的大型语言模型(LLM),其在准确度和效率方面的表现优于传统的基于Softmax注意力的模型。研究者也将发布其预训练模型的开源版本。论文:https://arxiv.org/abs/2307.14995模型:https://github.com/OpenNLPLab/TransnormerLLM大型语言模型已经为自然语言处理(NLP)领域带来了变革。
文章目录一、BH1750简介二、BH1750原理图三、BH1750数据手册3.1指令集3.2IIC通信读/写四、BH1750程序设计4.1IIC程序4.2BH1750初始化程序4.3读取BH1750测量结果4.4获取光照强度4.5相关宏定义五、应用实例六、拓展应用6.1实时调节LED亮度6.2实时调整颜色阈值一、BH1750简介BH1750是一款数字型光照强度传感器,能够获取周围环境的光照强度。其测量范围在0~65535lx。lx勒克斯,是光照强度的单位。BH1750可用于调节手机屏幕和键盘的背光功率,或者用于智能灯光控制,比如,随着外界光照强度的变化调节灯光亮度。BH1750有以下特点I2C
1.特别说明要是不想看原理和过程,直接下拉找代码吧,都是测试过的,很稳定,有硬件I2C驱动的,也有软件模拟I2C驱动的,基于STM32F103系列和STM32F4系列实现,基于标准库实现,条理清晰。2.软硬件硬件准备(1)Kile5.27(2)串口助手(3)STM32F103与STM32F4系列单片机(4)CH340串口转TTL工具(5)BH1750-即-GY-302光照传感器3.了解驱动原理3.1.程序设计思路这是官方数据手册给的驱动说明,这是基于标准I2C设计的传感器,也就是说它支持标准全速400KHz速率通信(实测确实没问题);这个流程图大概说的是程序设计:1.上电初始化