GY-39 气压,温湿度,光强度 传感器

这篇具有很好参考价值的文章主要介绍了GY-39 气压,温湿度,光强度 传感器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


一、什么是GY-39?

gy39,STM32的简单应用,单片机,stm32,物联网,嵌入式硬件,c语言

GY-39 是一款低成本,气压,温湿度,光强度 传感器模块。工作电压 3-5v,功耗小,安装方便。 其工作原理是,MCU 收集各种传感器数据,统一处理,直接输出计算后的结果,此模块,有两种方式读取数据,即串口 UART(TTL 电平)或者 IIC(2 线)。串口的波特率有 9600bps 与 115200bps,可配置,有连续,询问输出两种方式,可掉电保存设置。可适应不同的工作环境,与单片机及电脑连接。模块另外可以设置单独传感器芯片工作模式,作为简单传感器模块,MCU 不参与数据处理工作。提供 arduino,51,stm32 单片机通讯程序,不提供原理图及内部单片机源码。此 GY39 模块另外赠送安卓手机软件 app 查看数据,且支持 wifi 局域内网连接,手机及电脑同时显示数据。

二、产品参数

1. 特点

  • 高性价比
  • 内置 MCU 计算传感器数据
  • IIC、串口通信格式
  • 统一数据输出
  • 配相应的上位机软件

2. 技术
gy39,STM32的简单应用,单片机,stm32,物联网,嵌入式硬件,c语言
3. 应用

  • 数字照明管理
  • 物联网,智能家居应用
  • 气象站监测
  • 数字光照度计
  • 数字气压计,高度计
  • 温湿度计
  • 大棚气候监测

三、引脚说明

gy39,STM32的简单应用,单片机,stm32,物联网,嵌入式硬件,c语言
gy39,STM32的简单应用,单片机,stm32,物联网,嵌入式硬件,c语言

四、通信协议

1. 串口通信

当 GY-39 模块硬件 PinA(S0)=1 时候使用

gy39,STM32的简单应用,单片机,stm32,物联网,嵌入式硬件,c语言

gy39,STM32的简单应用,单片机,stm32,物联网,嵌入式硬件,c语言

gy39,STM32的简单应用,单片机,stm32,物联网,嵌入式硬件,c语言
gy39,STM32的简单应用,单片机,stm32,物联网,嵌入式硬件,c语言
gy39,STM32的简单应用,单片机,stm32,物联网,嵌入式硬件,c语言

2. IIC通信

当 GY-39 模块硬件 PinA(S0)=0 时候使用

gy39,STM32的简单应用,单片机,stm32,物联网,嵌入式硬件,c语言

五、项目工程

以下IIC通信工程
1. 定义结构体接收数据

typedef struct
{
    uint32_t P;
    uint16_t Temp;
    uint16_t Hum;
    uint16_t Alt;
} bme;

bme Bme={0,0,0,0};

2. 引脚初始化

 void I2C_GPIO_Config(void)
{
	GPIO_InitTypeDef GPIO_InitStructure;
	
		/* 使能与 I2C有关的时钟 */
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE );  

	 /* PC3-I2C_SCL、PC5-I2C_SDA*/
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6| GPIO_Pin_7; 
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz; 
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD; 
	GPIO_Init(GPIOB, &GPIO_InitStructure); 
	GPIOB->BSRR = GPIO_Pin_6;
	GPIOB->BSRR = GPIO_Pin_7;
}

3. 向IIC设备写入一个字节数据

u8 Single_WriteI2C_byte(u8 Slave_Address,u8 REG_Address,u8 data)
{
	  if(I2C_Start()==0)  //起始信号
		{I2C_Stop(); return RESET;}           

    I2C_SendByte(Slave_Address);   //发送设备地址+写信号
 	  if(!I2C_WaitAck()){I2C_Stop(); return RESET;}
   
		I2C_SendByte(REG_Address);    //内部寄存器地址,
 	  if(!I2C_WaitAck()){I2C_Stop(); return RESET;}
   
		I2C_SendByte(data);       //内部寄存器数据,
	  if(!I2C_WaitAck()){I2C_Stop(); return RESET;}
		
		I2C_Stop();   //发送停止信号
		
		return SET;
}

4. 从IIC设备读取一个字节数据

u8 Single_ReadI2C(u8 Slave_Address,u8 REG_Address,u8 *REG_data,u8 length)
{
 if(I2C_Start()==0)  //起始信号
		{I2C_Stop(); return RESET;}          
	 
	I2C_SendByte(Slave_Address);    //发送设备地址+写信号
 	if(!I2C_WaitAck()){I2C_Stop(); return RESET;} 
	
	I2C_SendByte(REG_Address);     //发送存储单元地址
 	if(!I2C_WaitAck()){I2C_Stop(); return RESET;} 
	
	if(I2C_Start()==0)  //起始信号
			{I2C_Stop(); return RESET;}            

	I2C_SendByte(Slave_Address+1);  //发送设备地址+读信号
 	if(!I2C_WaitAck()){I2C_Stop(); return RESET;}
	
	while(length-1)
	{
		*REG_data++=I2C_RecvByte();       //读出寄存器数据
		I2C_SendACK(0);               //应答
		length--;
	}
	*REG_data=I2C_RecvByte();  
	I2C_SendACK(1);     //发送停止传输信号
	I2C_Stop();                    //停止信号
	return SET;
}

5. 数据转换

while(1)
	{
			if(Single_ReadI2C(0xb6,0x04,raw_data,10))
			{
				Bme.Temp=(raw_data[0]<<8)|raw_data[1];
				data_16[0]=(((uint16_t)raw_data[2])<<8)|raw_data[3];
				data_16[1]=(((uint16_t)raw_data[4])<<8)|raw_data[5];
				Bme.P=(((uint32_t)data_16[0])<<16)|data_16[1];
				Bme.Hum=(raw_data[6]<<8)|raw_data[7];
				Bme.Alt=(raw_data[8]<<8)|raw_data[9];
			}
			    if(Single_ReadI2C(0xb6,0x00,raw_data,4))
			    data_16[0]=(((uint16_t)raw_data[0])<<8)|raw_data[1];
		    	data_16[1]=(((uint16_t)raw_data[2])<<8)|raw_data[3];
		    	Lux=(((uint32_t)data_16[0])<<16)|data_16[1];
		 	
		        printf("Temp: %.2f  DegC  ",(float)Bme.Temp/100);
		        printf("  P: %.2f  Pa ",(float)Bme.P/100);
		    	printf("  Hum: %.2f   ",(float)Bme.Hum/100);
		        printf("  Alt: %.2f  m\r\n ",(float)Bme.Alt);
			    printf("\r\n Lux: %.2f  lux\r\n ",(float)Lux/100); 
			
	     printf("\r\n \r\n "); 			
		 delay_ms(20000);
			
	}	

gy39,STM32的简单应用,单片机,stm32,物联网,嵌入式硬件,c语言文章来源地址https://www.toymoban.com/news/detail-541534.html

到了这里,关于GY-39 气压,温湿度,光强度 传感器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于51单片机温湿度传感器

    DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,应用领域:暖通 空调;汽车;消费品;气象站;湿度调节器;除湿器;家电;医疗;自动控制 相对湿度和温度测量 全部校准,数字输出 长期稳定性 超长的信号传输距离:20米 超低能耗:休眠 4 引脚

    2023年04月10日
    浏览(91)
  • SHT30温湿度传感器应用笔记

            SHT30是一款温湿度传感器,使用IIC通信接口。可根据命令设置其测量频率、测量时间;测量持续时间有三种可选(见芯片手册2.2):         HIGH:12.5ms;         medium:4.5ms;         low:2.5ms;         测量频率有五种可选:0.5次/秒、1次/秒、2次/秒、4次/秒、

    2024年02月01日
    浏览(68)
  • 【mcuclub】温湿度传感器DHT11

    为什么接上拉电阻: 因为DHT11的数据口是漏极开路,如果不接上拉电阻,则只能输出低电平和高阻态,不能输出高电平,因此需要外接上拉电阻,否则无法输出1。DHT11的工作电流约为1mA,VCC一般为5V,则电阻R=5V/1mA=5KΩ。一般3.3k~10k都可以。 DHT11 数字温湿度传感器是一款含有已

    2024年02月06日
    浏览(60)
  • STM32实战项目-温湿度传感器

    程序功能: 1、软件模拟I2C协议与SHT30数字温湿度传感器通讯; 2、数码管显示环境温湿度; 3、串口打印环境温湿度。 目录 一、硬件电路 二、技术讲解  2.1IIC简介 2.2 IIC总线协议 2.2设备接入  三、SHT30数字温湿度传感器  3.1性能介绍 3.1.1湿度最优测量环境 3.1.2温度最优测量环

    2023年04月23日
    浏览(48)
  • CC2530——温湿度传感器DHT11

    DHT11是一款有已校准数字信号输出的温湿度传感器。 其精度湿度±5%RH,温度±2℃,量程湿度5~95%RH,温度-20~+60℃。  1、用户主机(单片机)发送一次开始信号后,DHT11从低功耗模式转换到高速模式。 2、到主机开始信号结束后,DHT11发送响应信号。 3、DHT11并送出40bit(5个字节)

    2024年02月04日
    浏览(50)
  • STM32--DHT11温湿度传感器

    本文介绍基于STM32F103实现的DHT11温湿度传感器数据采集及显示,完整代码见文末链接 一、DHT11传感器简介 DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期

    2024年02月16日
    浏览(58)
  • STM32+DHT11温湿度传感器

    DATA 用于微处理器与 DHT11之间的通讯和同步,采用单总线数据格式,一次 通讯时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数 部分用于以后扩展,现读出为零.操作流程如下: 一次完整的数据传输为40bit,高位先出。 数据格式:8bit湿度整数数据+8bit湿度小数数据

    2023年04月13日
    浏览(56)
  • FPGA—DHT11数字温湿度传感器

    目录 1. 理论学习 2.实操 2.1 顶层模块 2.1.1 整体模块框图 2.1.2 顶层代码 2.2 DHT11 控制模块 2.2.1 模块框图 2.2.2 状态转换图绘制 2.2.3 波形图绘制 2.2.4 RTL代码 2.3 上板验证 3. 总结 DHT11简介        DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应

    2024年02月06日
    浏览(102)
  • FPGA读取SHT31温湿度传感器

    SHT30 是瑞士盛世瑞恩生产出品的一个温湿度传感器,该SHT3X是一个系列,一共有SHT30/SHT31/SHT35这三个品类, SHT30——低成本版本,±3% RH精度;SHT31——标准版本,±2% RH精度;RH精度SHT35——高端版本,±1.5% RH; 一般生活内监测用SHT30即可。 SHT30性能参数如下: 温度检测范围:5-60℃

    2024年02月22日
    浏览(38)
  • STM32—DHT11温湿度传感器

    (1).下图一是DHT11总的时序图。 (2).图二对应图一的左边黑色部分,图三对应图一的绿色部分,图四的左部分图对应图一的红色部分,图四的右部分对应图一的黄色部分。 (3).首先图二部分是单片机向DHT11发送我要开始的信号,此时单片机IO口处于输出模式,输出低电平至少18MS,

    2024年02月19日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包