树莓派光照传感器java_树莓派上使用光照强度检测(BH1750)传感器
BH1750FVI 是一款 IIC 接口的数字型光强度传感器集成电路。下面介绍一下其在树莓派下的用法。一、前期准备1、环境要求GY30模块(BH1750FVI传感器)树莓派 Raspbian 系统python-smbusIIC 开启启动 IIC 驱动的方法:运行 sudo raspi-config 进入 Interfacing Options 高级设置,将 SPI 与 I2C 设置为 Enable

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
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)