1.GY30簡(jiǎn)介
GY-30是一款內(nèi)置ROHM-BH1750FLV芯片的數(shù)字光照強(qiáng)度模塊,用于光照強(qiáng)度采集。
BH1750FVl是一種用于RC總線接口的數(shù)字環(huán)境光傳感器LC。該芯片最適合于獲取移動(dòng)電話液晶顯示器和按鍵背光功率的環(huán)境光數(shù)據(jù)。在高分辨率(1~65535 l×)范圍內(nèi)檢測(cè)是可行的。
2.特性
- IIC總線接口
- 光強(qiáng)數(shù)字轉(zhuǎn)換器
- 16位分辯率(1~65535)
- 直接數(shù)字輸出,省略復(fù)雜的計(jì)算,省略標(biāo)定
- 不區(qū)分環(huán)境光源,接近于視覺(jué)靈敏度的分光特性
3.應(yīng)用
手機(jī)、數(shù)碼相機(jī)、車(chē)載導(dǎo)航,PDA、LCD顯示等。
硬件接口及原理圖



4.程序設(shè)計(jì)
BH1750指令集

#define BHAddWrite 0x46 //寫(xiě)地址
#define BHAddRead 0x47 //讀地址
#define BHPowDown 0x00 //關(guān)閉模塊
#define BHPowOn 0x01 //打開(kāi)模塊等待指令
#define BHReset 0x07 //重置數(shù)據(jù)寄存器僅在BHpowOn模式下有效
#define BHModeH1 0x10 //高分辨率 模式1 單位 11X 測(cè)量時(shí)間 120ms
#define BHModeH2 0x11 //高分辨率 模式2 單位 11X 測(cè)量時(shí)間 120ms
#define BHModeL 0x13 //低分辨率 單位4lx 測(cè)量時(shí)間16ms
#define BHSigModeH 0x20 //一次測(cè)量高分辨率模式1,然后轉(zhuǎn)到powerdown模式
#define BHSigModeH2 0x21 //同上類(lèi)似
#define BHSigModeL 0x23 //同上類(lèi)似
模塊驅(qū)動(dòng)時(shí)序

//發(fā)送起始信號(hào)
void IIC_Start(void)
{
IIC_SDAout_Mode();//輸出模式
IIC_SCL=1;
IIC_SDAout=1;
delay_us(2);
IIC_SDAout=0;
IIC_SCL=0;//方便后續(xù)數(shù)據(jù)收發(fā)
}
//停止信號(hào)
void IIC_Stop(void)
{
IIC_SDAout_Mode();//輸出模式
IIC_SCL=0;
IIC_SDAout=0;
delay_us(2);
IIC_SCL=1;
delay_us(2);
IIC_SDAout=1;
}
/***********發(fā)送應(yīng)答信號(hào)**************************
**
**形參:u8 ack -- 0應(yīng)答,1非應(yīng)答
**
***************************************************/
void IIC_SendAck(u8 ack)
{
IIC_SDAout_Mode();//輸出模式
IIC_SCL=0;//告訴從機(jī),主機(jī)開(kāi)始發(fā)送數(shù)據(jù)
IIC_SDAout=ack&0x01;
delay_us(2);
IIC_SCL=1;//告訴從機(jī),主機(jī)數(shù)據(jù)發(fā)送完成
//方便下一次數(shù)據(jù)收發(fā)
delay_us(2);
IIC_SCL=0;
}
//獲取應(yīng)答信號(hào)
u8 IIC_Wait_Ack(void)
{
u8 cnt=0;
IIC_SDAIN_Mode();//配置為輸入模式
IIC_SDAout=1;
IIC_SCL=0;//告訴從機(jī),主機(jī)需要獲取數(shù)據(jù)
delay_us(2);
IIC_SCL=1;//從機(jī)數(shù)據(jù)發(fā)送完成,主機(jī)開(kāi)始讀取數(shù)據(jù)
while(IIC_SDAin)
{
cnt++;
delay_us(1);
if(cnt>=100)return 1;
}
delay_us(2);
IIC_SCL=0;//方便下一次數(shù)據(jù)收發(fā)
return 0;
}
BH1750發(fā)送數(shù)據(jù)
void bh_data_send(u8 command)
{
do{
IIC_Start(); //iic開(kāi)始
IIC_Send_Byte(BHAddWrite); //寫(xiě)地址
}while(IIC_Wait_Ack()); //等待響應(yīng)
IIC_Send_Byte(command); //發(fā)送命令
IIC_Wait_Ack(); //等待響應(yīng)
IIC_Stop(); //iic停止
}
BH1750初始化
void BH1750init(void)
{
IIC_Init();//GPIO初始化
bh_data_send(BHPowOn); //發(fā)送啟動(dòng)信號(hào)
bh_data_send(BHReset); //清除寄存器
bh_data_send(BHModeH1); //設(shè)置為模式2
delay_ms(180); //最高延時(shí)180ms
}
數(shù)據(jù)采集效果

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
傳感器
+關(guān)注
關(guān)注
2576文章
55001瀏覽量
791127 -
模塊
+關(guān)注
關(guān)注
7文章
2837瀏覽量
53274 -
數(shù)據(jù)采集
+關(guān)注
關(guān)注
41文章
8029瀏覽量
120856
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
OLED屏幕和GY30光照傳感器接在IIC(I2C)總線上
最終效果展示OLED屏幕和GY30光照傳感器(BH1750FVI)都連接在一個(gè)IIC(I2C)總線上,所以只需要接4根線即可。獲取到的光照強(qiáng)度可以在OLED上實(shí)時(shí)顯示并通過(guò)串口打印。IIC是IO模擬
發(fā)表于 01-13 08:31
STM32讀取GY30傳感器并通過(guò)串口輸出的方法
串口顯示GY30.c#include "GY30.h"http://MPU IIC 延時(shí)函數(shù)void GY30_IIC_Delay(void){delay_us(2);}//初始化
發(fā)表于 02-22 06:04
PLC常用程序設(shè)計(jì)語(yǔ)言簡(jiǎn)介
PLC常用程序設(shè)計(jì)語(yǔ)言簡(jiǎn)介
在可編程控制器中有多種程序設(shè)計(jì)語(yǔ)言,它們是梯形圖語(yǔ)言、布爾助記符語(yǔ)言、功能表圖語(yǔ)言、功能模塊圖語(yǔ)言
發(fā)表于 06-17 14:07
?1506次閱讀
GY30光強(qiáng)傳感器英文原版資料
GY30光強(qiáng)傳感器英文原版資料,特別全。新手做光照強(qiáng)度傳感器的時(shí)候可以參考。
發(fā)表于 12-30 17:22
?0次下載
模塊化程序設(shè)計(jì)
模塊化程序設(shè)計(jì)思想,單片機(jī)c語(yǔ)言的模塊化設(shè)計(jì),方便移植,將程序封裝備用。
發(fā)表于 03-22 15:29
?9次下載
STC_GY-30接線圖
51單片機(jī)控制GY-30,里面有接線圖,程序在原來(lái)的基礎(chǔ)上多了不少注釋?zhuān)员愦蠹依斫鉃槭裁匆@樣寫(xiě)程序,僅適用于理解學(xué)習(xí)控制GY-30
發(fā)表于 03-05 15:34
?49次下載
使用LCD1602顯示GY30數(shù)字光強(qiáng)度模塊BH1750FVI采集的光照度
GY-30數(shù)字光強(qiáng)度模塊BH1750FVI資料。STC89c52用Lcd1602顯示光照度數(shù)據(jù)的例子程序、還有avr的例子程序。資料是網(wǎng)上找到的,這段時(shí)間在用這個(gè)
發(fā)表于 07-11 17:40
?34次下載
關(guān)于GY-30的簡(jiǎn)介與驅(qū)動(dòng)及如何操作
GY-30是一款內(nèi)置ROHM-BH1750FLV芯片的數(shù)字光照強(qiáng)度模塊。芯片內(nèi)置16bitAD轉(zhuǎn)換器,可直接數(shù)字輸出,測(cè)量光照強(qiáng)度范圍為0-65535lx(精度可選)。
c++程序設(shè)計(jì)_基于proteus的51單片機(jī)開(kāi)發(fā)實(shí)例30-模塊化程序設(shè)計(jì)
1. 基于proteus的51單片機(jī)開(kāi)發(fā)實(shí)例30-模塊化程序設(shè)計(jì)1.1. 實(shí)驗(yàn)?zāi)康?b class='flag-5'>模塊化程序設(shè)計(jì)不知不覺(jué)我們的51單片機(jī)開(kāi)發(fā)實(shí)例已經(jīng)進(jìn)行到第
發(fā)表于 11-21 15:36
?13次下載
STM32讀取GY30傳感器并通過(guò)串口輸出
串口顯示GY30.c#include "GY30.h" //MPU IIC 延時(shí)函數(shù)void GY30_IIC_Delay(void){ delay_us(2);}//初始化IICvoid
發(fā)表于 12-27 19:29
?28次下載
數(shù)字光模塊 GY-30說(shuō)明書(shū)
電子發(fā)燒友網(wǎng)站提供《數(shù)字光模塊 GY-30說(shuō)明書(shū).pdf》資料免費(fèi)下載
發(fā)表于 08-09 16:07
?3次下載
GY30模塊簡(jiǎn)介、特性、應(yīng)用及程序設(shè)計(jì)
評(píng)論