可信网站注册,潜江公司做网站,网站的数据库做备份,做酒的网站目录 模块简介模块测试接线代码测试现象 总结 模块简介
GY-39 是一款低成本#xff0c;气压#xff0c;温湿度#xff0c;光强度传感器模块。工作电压 3-5v#xff0c;功耗小#xff0c;安装方便。 其工作原理是#xff0c;MCU 收集各种传感器数据#xff0c;统一处理气压温湿度光强度传感器模块。工作电压 3-5v功耗小安装方便。 其工作原理是MCU 收集各种传感器数据统一处理直接输出计算后的结果此模块有两种方式读取数据即串口 UARTTTL 电平或者 IIC2 线。串口的波特率有 9600bps 与 115200bps可配置有连续询问输出两种方式可掉电保存设置。可适应不同的工作环境与单片机及电脑连接。模块另外可以设置单独传感器芯片工作模式作为简单传感器模块MCU 不参与数据处理工作。
模块测试
接线
这里使用的是MCU_IIC模式所以在使用前需要先将S0与GND进行短接模块默认是UART模式如图中的蓝色跳线帽短接。
将模块其他需要的线与开发板连接,接线如下 GY-39—STM32F103C8T6 SCL—PB6 SDA—PB7 STM32—FT232USB转TTL TXPA9—RX RXPA10—TX
代码
数据计算方法模块的说明手册中已经有具体提出。 数据计算方法 ①光照强度计算方法当 Byte20x15 时,数据:Byte4~Byte7 Lux(前高8位24) | (前低8位16) | (后高8位8) | 后低8位 单位lux
②温度、气压、湿度、海拔计算方法当 Byte20x45 时 温度Byte4~Byte5 T(高 8 位8)|低 8 位 TT/100 单位℃
气压Byte6~Byte9 P(前高 8 位24) | (前低 8 位16) | (后高 8 位8) | 后低 8 位 PP/100 单位 pa
湿度Byte10~Byte11 Hum(高 8 位8)|低 8 位 HumHum/100 百分制
海拔Byte12~Byte13 H(高 8 位8)|低 8 位 单位 m
这是主函数中用于计算其输出值的部分代码
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.Alt36);printf(\r\n Lux: %.2f lux\r\n ,(float)Lux/100); delay_ms(200);测试现象
连接好上电烧录程序后可以看到串口的输出数据里已经有温度大气压强湿度海拔和光照强度的值了。
总结
有关代码中海拔的计算可以在平地时候让高度数据加上或者减去偏差值让海拔数据等于当地平均海拔。同一地点气压每天每个季节都会变化的如果是测绝对高度是需要经常校准的。