0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

GY30模块简介、特性、应用及程序设计

嵌入式技术 来源:嵌入式技术 作者:嵌入式技术 2022-05-28 18:54 次阅读

1.GY30简介
GY-30是一款内置ROHM-BH1750FLV芯片的数字光照强度模块,用于光照强度采集。
BH1750FVl是一种用于RC总线接口的数字环境光传感器LC。该芯片最适合于获取移动电话液晶显示器和按键背光功率的环境光数据。在高分辨率(1~65535 l×)范围内检测是可行的。

2.特性

  • IIC总线接口
  • 光强数字转换器
  • 16位分辩率(1~65535)
  • 直接数字输出,省略复杂的计算,省略标定
  • 不区分环境光源,接近于视觉灵敏度的分光特性

3.应用

手机数码相机、车载导航,PDA、LCD显示等。

硬件接口及原理图

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQ1MzY5NA==,size_16,color_FFFFFF,t_70#pic_centerpoYBAGKQz0-AKN1qAAJQgy16IcA775.pngwatermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQ1MzY5NA==,size_16,color_FFFFFF,t_70#pic_center

4.程序设计

BH1750指令集

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQ1MzY5NA==,size_16,color_FFFFFF,t_70#pic_center
#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      //同上类似  

模块驱动时序

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQ1MzY5NA==,size_16,color_FFFFFF,t_70#pic_center
//发送起始信号
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
}

数据采集效果

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQ1MzY5NA==,size_16,color_FFFFFF,t_70#pic_center

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2526

    文章

    48092

    浏览量

    740025
  • 模块
    +关注

    关注

    7

    文章

    2484

    浏览量

    46525
  • 数据采集
    +关注

    关注

    38

    文章

    4523

    浏览量

    112313
收藏 人收藏

    评论

    相关推荐

    GY-30 数字模块

    谁有gy-30的内部原理图和PCB图
    发表于 04-01 21:39

    汇编语言程序设计简介

    一、实验目的和任务1、掌握分支、循环结构程序以及子程序的设计方法。2、进一步熟悉Keil C51集成开发环境。实验原理简介在汇编语言程序设计中,普遍采用结构化
    发表于 12-01 06:36

    OLED屏幕和GY30光照传感器接在IIC(I2C)总线上

    最终效果展示OLED屏幕和GY30光照传感器(BH1750FVI)都连接在一个IIC(I2C)总线上,所以只需要接4根线即可。获取到的光照强度可以在OLED上实时显示并通过串口打印。IIC是IO模拟
    发表于 01-13 08:31

    STM32读取GY30传感器并通过串口输出的方法

    串口显示GY30.c#include "GY30.h"//MPU IIC 延时函数void GY30_IIC_Delay(void){delay_us(2);}//初始化
    发表于 02-22 06:04

    PLC常用程序设计语言简介

    PLC常用程序设计语言简介 在可编程控制器中有多种程序设计语言,它们是梯形图语言、布尔助记符语言、功能表图语言、功能模块图语言
    发表于 06-17 14:07 1302次阅读

    GY-302的简单制作电路图

    光强度光照度模块 GY-30的简单制作电路图,程序
    发表于 12-16 17:12 59次下载

    GY30光强传感器英文原版资料

    GY30光强传感器英文原版资料,特别全。新手做光照强度传感器的时候可以参考。
    发表于 12-30 17:22 0次下载

    模块程序设计

    模块程序设计思想,单片机c语言的模块化设计,方便移植,将程序封装备用。
    发表于 03-22 15:29 9次下载

    模块程序设计

    模块程序设计,利用c语言的移植性好特点,更好的利用c语言。
    发表于 03-23 09:25 0次下载

    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 32次下载
    使用LCD1602显示<b class='flag-5'>GY30</b>数字光强度<b class='flag-5'>模块</b>BH1750FVI采集的光照度

    关于GY-30简介与驱动及如何操作

    GY-30是一款内置ROHM-BH1750FLV芯片的数字光照强度模块。芯片内置16bitAD转换器,可直接数字输出,测量光照强度范围为0-65535lx(精度可选)。
    的头像 发表于 05-02 14:07 9437次阅读
    关于<b class='flag-5'>GY-30</b>的<b class='flag-5'>简介</b>与驱动及如何操作

    数字光模块GY-30资料汇总下载

    数字光模块GY-30资料汇总下载
    发表于 05-20 15:34 18次下载
    数字光<b class='flag-5'>模块</b><b class='flag-5'>GY-30</b>资料汇总下载

    c++程序设计_基于proteus的51单片机开发实例30-模块程序设计

    1. 基于proteus的51单片机开发实例30-模块程序设计1.1. 实验目的模块程序设计不知不觉我们的51单片机开发实例已经进行到第
    发表于 11-21 15:36 13次下载
    c++<b class='flag-5'>程序设计</b>_基于proteus的51单片机开发实例<b class='flag-5'>30</b>-<b class='flag-5'>模块</b>化<b class='flag-5'>程序设计</b>

    STM32读取GY30传感器并通过串口输出

    串口显示GY30.c#include "GY30.h" //MPU IIC 延时函数void GY30_IIC_Delay(void){ delay_us(2);}//初始化IICvoid
    发表于 12-27 19:29 24次下载
    STM32读取<b class='flag-5'>GY30</b>传感器并通过串口输出