1.GY30簡介
GY-30是一款內置ROHM-BH1750FLV芯片的數字光照強度模塊,用于光照強度采集。
BH1750FVl是一種用于RC總線接口的數字環境光傳感器LC。該芯片最適合于獲取移動電話液晶顯示器和按鍵背光功率的環境光數據。在高分辨率(1~65535 l×)范圍內檢測是可行的。
2.特性
- IIC總線接口
- 光強數字轉換器
- 16位分辯率(1~65535)
- 直接數字輸出,省略復雜的計算,省略標定
- 不區分環境光源,接近于視覺靈敏度的分光特性
3.應用
硬件接口及原理圖



4.程序設計
BH1750指令集

#define BHAddWrite 0x46 //寫地址
#define BHAddRead 0x47 //讀地址
#define BHPowDown 0x00 //關閉模塊
#define BHPowOn 0x01 //打開模塊等待指令
#define BHReset 0x07 //重置數據寄存器僅在BHpowOn模式下有效
#define BHModeH1 0x10 //高分辨率 模式1 單位 11X 測量時間 120ms
#define BHModeH2 0x11 //高分辨率 模式2 單位 11X 測量時間 120ms
#define BHModeL 0x13 //低分辨率 單位4lx 測量時間16ms
#define BHSigModeH 0x20 //一次測量高分辨率模式1,然后轉到powerdown模式
#define BHSigModeH2 0x21 //同上類似
#define BHSigModeL 0x23 //同上類似
模塊驅動時序

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

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
傳感器
+關注
關注
2576文章
55041瀏覽量
791298 -
模塊
+關注
關注
7文章
2837瀏覽量
53285 -
數據采集
+關注
關注
41文章
8038瀏覽量
120888
發布評論請先 登錄
相關推薦
熱點推薦
OLED屏幕和GY30光照傳感器接在IIC(I2C)總線上
最終效果展示OLED屏幕和GY30光照傳感器(BH1750FVI)都連接在一個IIC(I2C)總線上,所以只需要接4根線即可。獲取到的光照強度可以在OLED上實時顯示并通過串口打印。IIC是IO模擬
發表于 01-13 08:31
STM32讀取GY30傳感器并通過串口輸出的方法
串口顯示GY30.c#include "GY30.h"http://MPU IIC 延時函數void GY30_IIC_Delay(void){delay_us(2);}//初始化
發表于 02-22 06:04
PLC常用程序設計語言簡介
PLC常用程序設計語言簡介
在可編程控制器中有多種程序設計語言,它們是梯形圖語言、布爾助記符語言、功能表圖語言、功能模塊圖語言
發表于 06-17 14:07
?1509次閱讀
STC_GY-30接線圖
51單片機控制GY-30,里面有接線圖,程序在原來的基礎上多了不少注釋,以便大家理解為什么要這樣寫程序,僅適用于理解學習控制GY-30
發表于 03-05 15:34
?49次下載
使用LCD1602顯示GY30數字光強度模塊BH1750FVI采集的光照度
GY-30數字光強度模塊BH1750FVI資料。STC89c52用Lcd1602顯示光照度數據的例子程序、還有avr的例子程序。資料是網上找到的,這段時間在用這個
發表于 07-11 17:40
?34次下載
關于GY-30的簡介與驅動及如何操作
GY-30是一款內置ROHM-BH1750FLV芯片的數字光照強度模塊。芯片內置16bitAD轉換器,可直接數字輸出,測量光照強度范圍為0-65535lx(精度可選)。
c++程序設計_基于proteus的51單片機開發實例30-模塊化程序設計
1. 基于proteus的51單片機開發實例30-模塊化程序設計1.1. 實驗目的模塊化程序設計不知不覺我們的51單片機開發實例已經進行到第
發表于 11-21 15:36
?13次下載
STM32讀取GY30傳感器并通過串口輸出
串口顯示GY30.c#include "GY30.h" //MPU IIC 延時函數void GY30_IIC_Delay(void){ delay_us(2);}//初始化IICvoid
發表于 12-27 19:29
?28次下載
GY30模塊簡介、特性、應用及程序設計
評論