树莓派光照传感器java_树莓派上使用光照强度检测(BH1750)传感器
BH1750FVI 是一款 IIC 接口的數(shù)字型光強(qiáng)度傳感器集成電路。下面介紹一下其在樹(shù)莓派下的用法。
一、前期準(zhǔn)備
1、環(huán)境要求
GY30模塊(BH1750FVI傳感器)
樹(shù)莓派 Raspbian 系統(tǒng)
python-smbus
IIC 開(kāi)啟
啟動(dòng) IIC 驅(qū)動(dòng)的方法:
運(yùn)行 sudo raspi-config 進(jìn)入 Interfacing Options 高級(jí)設(shè)置,將 SPI 與 I2C 設(shè)置為 Enable 后重啟系統(tǒng)。
2、安裝 python-smbus
這個(gè)安裝會(huì)附帶安裝 i2c-tools,省的單獨(dú)安裝了
sudo apt-get install python-smbus
3、將 BH1750 連接到樹(shù)莓派
二、連接測(cè)試
sudo i2cdetect -y 1
三、光照強(qiáng)度測(cè)量
1、創(chuàng)建代碼文件 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("打開(kāi)文件錯(cuò)誤:%s\r\n",strerror(errno)); return 1;
}
if(ioctl( fd,I2C_SLAVE,I2C_ADDR)<0 )
{
printf("ioctl 錯(cuò)誤 : %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("開(kāi)啟高分辨率模式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("讀取錯(cuò)誤\r\n");
}
}
編譯、運(yùn)行:
sudo gcc -o bh1750 bh1750.c
sudo ./bh1750
總結(jié)
以上是生活随笔為你收集整理的树莓派光照传感器java_树莓派上使用光照强度检测(BH1750)传感器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java io读取doc内容_Java
- 下一篇: java正则表达式替换指定字符串_笔记_