资讯详情

树莓派上使用光照强度检测(BH1750)传感器

ddd2dc8552f41f7c346df7275b872f75.png

BH1750FVI 是一款 IIC 接口的数字光强度传感器集成电路。以下是它在树莓派下的用法。

一、前期准备

1、环境要求

GY30模块(BH1750FVI传感器)

树莓派 Raspbian 系统

python-smbus

IIC 开启

启动 IIC 驱动方法:

运行 sudo raspi-config 进入 Interfacing Options 高级设置,将 SPI 与 I2C 设置为 Enable 重启系统后。

2、安装 python-smbus

本安装将附带安装 i2c-tools,省单独安装

sudo apt-get install python-smbus

3、将 BH1750 连接到树莓派

二、连接试验

sudo i2cdetect -y 1

三、光强测量

1.创建代码文件 bh1750.c

#include

#include

#include

#include

#define I2C_ADDR 0x23

int main(void)

{

int fd;

char buf[3];

char val,value;

float flight;

fd=open("/dev/i2c-1",O_RDWR);

if(fd<0)

{

printf("打开文件错误:%s\r\n",strerror(errno)); return 1;

}

if(ioctl( fd,I2C_SLAVE,I2C_ADDR)<0 )

{

printf("ioctl 错误 : %s\r\n",strerror(errno));return 1;

}

val=0x01;

if(write(fd,&val,1)<0)

{

printf("上电失败\r\n");

}

val=0x11;

if(write(fd,&val,1)<0)

{

printf("打开高分辨率模式2\r\n");

}

usleep(200000);

if(read(fd,&buf,3)){

flight=(buf[0]*256 buf[1])*0.5/1.2;

printf("光照度: %6.2flx\r\n",flight);

}

else{

printf("读取错误\r\n");

}

}

编译、操作:

sudo gcc -o bh1750 bh1750.c

sudo ./bh1750

标签: 光强度传感器bh1750fvi

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台