STM32 HAL库BH1750光强检测器驱动代码 #ifndef __LIGHT_H #define __LIGHT_H #include "system.h" #include "delay.h" //IO方向设置 #define SDA_IN() {IIC_SDA_GPIO_Port->CRH&=0XFFFFFF0F;IIC_SDA_GPIO_Port->CRH|=(u32)8<<4;} #define SDA_OUT() {IIC_SDA_GPIO_Port->CRH&=0XFFFFFF...
I2C地址:确保BH1750的I2C地址与代码中的设置一致。 电源要求:BH1750可以在2.5V至3.6V的电源电压下工作,确保电源供应稳定。 数据转换:从BH1750读取的原始数据需要根据传感器的量程转换为实际的物理量数值。 通过上述步骤,我们可以在STM32F103C8T6上使用HAL库成功驱动BH1750光照传感器,并实现光照强度的实时监测。这为开发...
1.硬件:BH1750模块+oled 2.代码:BH1750是标准的iic协议的外设,我这里单独有iic的文件,之后想要实现多个设备共用一个iic。 BH1750.c 1#include"BH1750.h"2#include"delay.h"3#include"iic.h"4voidbh_data_send(u8 command)5{6do{7iic_start();8iic_byte_write(BHAddWrite);9}while(iic_wait_ack())...
简介: stm32读取BH1750光照传感器 一.序言 BH1750是用IIC协议进行数据传输的。有SCL,SDA,VCC,GND四根线。下图是原理图 二.BH1750指令 我们先看芯片手册的操作指令(下图)含有掉电,上电,连续转化,一次转化以及转化的分辨率等。具体可以看下面的表格写的很详细。写代码时候需要用到(非常关键)。 这里我也整理出来...
开发平台:STM32CubeMX +KEIL5 主控MCU:STM32F103RET6 通讯方式:I2C BH1750引脚初始化代码如下: GPIO_InitStruct.Pin = B_SCL_Pin|B_SDA_Pin; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; //输出模式 GPIO_InitStruct.Pull = GPIO_PULLUP;
在代码中,使用HAL库函数初始化了I2C接口和USART串口,同时使用了STM32提供的延时库函数HAL_Delay()。在主函数中,首先定义了一个缓冲区buf[2]和一个变量value,缓冲区buf[2]用于存储从BH1750读取的光照强度数据。变量value用于存储经过单位转换后的光照强度值。
MCU:STM32F103ZET6 光敏传感器:BH1750数字传感器(IIC接口) 开发软件:Keil5 代码说明:使用IIC模拟时序驱动,方便移植到其他平台,采集的光照度比较灵敏. 合成的光照度返回值范围是 0~255。 0表示全黑 255表示很亮。 实测:手机闪光灯照着的状态返回值是245左右,手捂着的状态返回值是10左右. ...
STM32读取BH1750光照强度数据打印到串口 【1】BH1750是什么? BH1750是一种数字式环境光强度传感器(Digital Light Sensor),也称为其他名称,例如GY-302传感器、BH1750FVI传感器等。它的工作原理是通过收集光线照射到传感器上的量来测量环境亮度。 使用I2C(Inter-Integrated Circuit)接口,BH1750可以轻松地接入到各种嵌入...
硬件连接:使用到的硬件有:STM32F103C8T6最小系统板,USB转TTL模块(串口通信),光照度小球(主芯片...
四.代码实例 4.1 bh1750.c源文件 #include"bh1750.h"/*应用说明:在访问I2C设备前,请先调用 i2c_CheckDevice() 检测I2C设备是否正常,该函数会配置GPIO*/staticvoidI2C_BH1750_GPIOConfig(void);/*** 函数名: i2c_Delay* 功能说明: I2C总线位延迟,最快400KHz* 形 参:无* 返回值: 无***...