简介
BH1570FVI是一款常用的光照强度传感器,通过IIC接口协议和芯片通信,具有16位的转换精度,光照强度范围为(1-65535lx)。
电路介绍

关于芯片的引脚如上图所示:芯片供电电压为2.0-3.6V,其中DVI引脚是芯片的复位引脚,SCL为IIC时钟引脚,SDA为IIC数据引脚,ADDR为芯片的地址引脚,当接低电平时芯片的地址为0X46,当接低电平时芯片地址为0XB8,ADDR悬空时地址为0X46。
数据读取介绍
BH1570FVI具有三种测量模式
| 测量模式 | 测量时间 | 分辨率 |
|---|---|---|
| 高分辨率模式2 | 120ms | 0.5lx |
| 高分辨率模式 | 120ms | 1lx |
| 低分辨率模式 | 16ms | 4lx |
其中高分辨率模式,适合在黑暗环境下的测试,光照强度小于10lx的时候。对于每种测量模式又分为单次测量和连续测量模式,单次测量模式和连续测量模块之间的区别是,使用单次测量模式测量会在测量后将BH1570设为掉电模式,以减小功耗。

程序
BH1570.H
#ifndef __BH1570_H_
#define __BH1570_H_
#include "sys.h"
/*********************命令定义*******************/
#define BHAddr 0x46 //从机地址
#define BHAddWrite BHAddr //写数据指令
#define BHAddRead BHAddr+1 //读数据指令
#define BHPowDown 0x00 //关闭模块
#define BHPowOn 0x01 //打开模块等待测量指令
#define BHReset 0x07 //重置数据寄存器值在PowerOn模式下有效
#define BHModeH1 0x10 //高分辨率 单位1lx 测量时间120ms
#define BHModeH2 0x11 //高分辨率模式2 单位0.5lx 测量时间120ms
#define BHModeL 0x13 //低分辨率 单位4lx 测量时间16ms
#define BHSigModeH 0x20

本文详细介绍了BH1570FVI光照强度传感器的STM32驱动实现,包括电路连接、IIC通信协议、测量模式选择及程序设计。展示了如何在STM32平台上进行光照强度的精确测量。
最低0.47元/天 解锁文章
1913

被折叠的 条评论
为什么被折叠?



