1GY-39传感器模块使用手册V1.0一、概述GY-39是一款低成本,气压,温湿度,光强度传感器模块。工作电压3-5v,功耗小,安装方便。其工作原理是,MCU收集各种传感器数据,统一处理,直接输出计算后的结果,此模块,有两种方式读取数据,即串口UART(TTL电平)或者IIC(2线)。串口的波特率有9600bps与115200bps,可配置,有连续,询问输出两种方式,可掉电保存设置。可适应不同的工作环境,与单片机及电脑连接。模块另外可以设置单独传感器芯片工作模式,作为简单传感器模块,MCU不参与数据处理工作。提供arduino,51,stm32单片机通讯程序,不提供原理图及内部单片机源码。此GY39模块另外赠送安卓手机软件app查看数据,且支持wifi局域内网连接,手机及电脑同时显示数据。二、产品特点技术参数(传感器精度请参考芯片手册)(1)、高性价比(2)、内置MCU计算传感器数据(3)、IIC、串口通信格式(4)、统一数据输出(5)、配相应的上位机软件三、产品应用(1)、数字照明管理(2)、物联网,智能家居应用(3)、气象站监测(4)、数字光照度计(5)、数字气压计,高度计(6)、温湿度计(7)、大棚气候监测名称参数温度测量范围-40°~85°湿度测量范围0%~100%光强测量范围0.045lux~188000lux气压测量范围300~1100hpa响应频率10HZ工作电压3~5V工作电流5mA工作温度-40°~85°储存温度-40°~125°尺寸24.3mm×26.7mm传感器芯片ME280+MAX440092三、引脚说明实物图片(标号):Pin1VCC电源+(3v-5v)Pin2CT串口UART_TX/IIC_SCLPin3DR串口UART_RX/IIC_SDAPin4GND电源地Pin5NC保留,不要连接Pin6INTmax44009光强芯片中断S1=0(接GND时启用)Pin7SDA芯片数据总线S1=0(接GND时启用)Pin8SCL芯片时钟总线S1=0(接GND时启用)PinAS0串口/MCU_IIC模式选择PinBS1仅使用传感器芯片选择注意:①,PinA(S0)硬件选择模块工作模式,Pin2(CT),Pin3(DR)为GY-39模块通讯接口,S0=1(默认)串口UART模式,Pin2为TX,Pin3为RX,TTL电平S0=0(接GND时)MCU_IIC模式,Pin2为SCL,Pin3为SDA,②,PinB(S1)仅使用传感器芯片BME280+MAX44009模式,选择MCU是否参与数据处理工作,S1=1(默认)MCU+芯片模式,Pin7,Pin8,请不要有任何连接S1=0(接GND时)仅芯片模式,Pin7为芯片SCL总线,Pin8为芯片SDA总线3五、通信协议❶,串口协议:当GY-39模块硬件PinA(S0)=1时候使用(1)、串口通信参数(默认波特率值9600bps,可通过软件设定)波特率:9600bps校验位:N数据位:8停止位:1波特率:115200bps校验位:N数据位:8停止位:1(2)、模块输出格式,每帧包含8-13个字节(十六进制):①.Byte0:0x5A帧头标志②.Byte1:0x5A帧头标志③.Byte2:0x15本帧数据类型(参考含义说明)④.Byte3:0x04数据量⑤.Byte4:0x00~0xFF数据前高8位⑤.Byte5:0x00~0xFF数据前低8位⑥.Byte6:0x00~0xFF数据后高8位⑦.Byte7:0x00~0xFF数据后低8位⑧.Byte8:0x00~0xFF校验和(前面数据累加和,仅留低8位)Byte2代表的含义说明:Byte20x150x450x55含义:光照强度温度、气压、湿度、海拔IIC地址(3)、数据计算方法①光照强度计算方法(当Byte2=0x15时,数据:Byte4~Byte7):Lux=(前高8位24)|(前低8位16)|(后高8位8)|后低8位单位lux例:一帧数据5A-5A-15-04-00-00-FE-40-0BLux=(0x0024)|(0x0016)|(0xFE8)|0x40Lux=Lux/100=650.88(lux)②温度、气压、湿度、海拔,计算方法(当Byte2=0x45时):温度:Byte4~Byte5T=(高8位8)|低8位T=T/100单位℃气压:Byte6~Byte9P=(前高8位24)|(前低8位16)|(后高8位8)|后低8位P=P/100单位pa湿度:Byte10~Byte11Hum=(高8位8)|低8位Hum=Hum/100百分制海拔:Byte12~Byte134H=(高8位8)|低8位单位m例:一帧数据5A-5A-45-0A-0B-2D-00-97-C4-3F-12-77-00-9C-FAT=(0x0B8)|0x2D=2861温度T=2861/100=28.61(℃)P=(0x0024)|(0x9716)|(C48)|3F=9946175气压P=9946175/100=99461.75(pa)Hum=(0x128)|77=4727湿度Hum=4727/100=47.27(%)海拔H=(0x008)|0x9c=156(m)③MCU_IIC地址(当Byte2=0x55时):IIC_ADD=Byte4例:一帧数据5A-5A-55-01-B6-C0IIC_ADD=0xB6(8bitiic_add)则7bitiic_add为8bitiic_add右移1bit得0x5b(4)、命令字节,由外部控制器发送至GY-39模块(十六进制)1、所有串口指令格式,帧头:0xa5指令格式:帧头+指令+校验和(8bit)2、串口命令指令:①,串口输出配置寄存器:commandBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0输出命令AUTO00000BMEMAXAUTO(默认1)1:上电后按照上次的输出配置输出,0:上电后不自动输出bit6-bit2必需置零:00000BME(默认1)1:连续输出温度、气压、湿度、海拔0:不输出;当Auto置1,掉电保存MAX(默认1)1:连续输出光照强度0:不输出;当Auto置1,掉电保存命令格式:0xA5+command+sum例:bit7(Auto=1),bit0(MAX=1)发送命令:0xA5+0x81+0x26,表示连续输出光照强度,掉电后保存该设置,重新上电后将自动连续输出光照强度;5②,设置IIC地址指令:(该指令掉电保存修改后的IIC地址)0xAA+XX+sum---------XX表示7bitIIC地址,sum等于0xAA+XX之和的低8位,例如原厂IIC7bit地址为0x5B,则发送0xAA+0x5B+05到模块,7bit地址左移一位,这样模块的8bitIIC地址为0xB6③,查询输出指令:0xA5+0x51+0xF6---------------输出光照强度(模块返回数据类型为0x15)0xA5+0x52+0xF7---------------输出温度、气压、湿度、海拔(模块返回数据类型为0x45)注:查询指令不掉电保存,如用查询输出,请注意在这之前是否配置了command=0x00④,波特率配置:0xA5+0xAE+0x53---------------9600(默认)0xA5+0xAF+0x54---------------115200❷,MCU_IIC协议:当GY-39模块硬件PinA(S0)=0时候使用①IIC地址,默认7bit地址为0x5B,则8bit地址为0xB6IIC地址,可以通过串口配置修改,可修改128种不同地址,掉电保存。②IIC寄存器:0x00(只读)H_LUX_H光照强度前高8位0x01(只读)H_LUX_L光照强度前低8位0x02(只读)L_LUX_H光照强度后高8位0x03(只读)L_LUX_L光照强度后低8位0x04(只读)T_H温度高8位0x05(只读)T_L温度低8位0x06(只读)H_P_H气压前高8位0x07(只读)H_P_L气压前低8位0x08(只读)L_P_H气压后高8位0x09(只读)L_P_L气压后低8位0x0a(只读)HUM_H湿度高8位0x0b(只读)HUM_L湿度低8位0x0c(只读)H_H海拔高8位0x0d(只读)H_L海拔低8位6六、模块使用方法模块数据更新频率约为10hz;该模块为串口和IIC输出模块,模块默认为串口模式。串口模式(默认):PinA和PinB处于断开状态则为串口模式,使用该模块配套的上位机可方便的对模块进行相应的设置;上位机使用前请先选择好端口和波特率,然后再点击“打开串口”按钮;位于上位机“模块设置”页面,第三栏的command对应模块串口的command寄存器,在相应位置打勾,然后点右侧的“应用”按钮,即对模块进行了设置,模块将根据指令做出反应(具体参看command输出寄存器);使用者也可在左下方的“发送指令框”输入相应指令,然后点击右侧的发送按钮即可,波特率更改方法同;MCU_IIC通信模式:将模块左边的PinA引脚S0接GND,模块进入IIC模式。IIC通信时钟需低于40KHZ,通过读取相应寄存器即可,全部数据读取间隔应小于10hz;仅使用传感器芯片模式:将模块右边的PinB引脚S1接GND,模块上的BME280和MAX44009芯片共用IIC的SCL、SDA引脚,INT为MAX44009中断引脚,此模式下模块的MCU不对芯片进行设置和读取。此模式下请客户自行在网上查找BME280和MAX44009的芯片的资料及程序,这里不再提供。模式选择如下图3种:1,串口工作模式(默认)2,MCU_IIC模式3,芯片IIC模式7模块与mcu或者USB转ttl,连接图:FT232usb转ttl连接:Arduinopromini串口连接:Arduinoprominiiic连接(注意跳线帽):上位机截图:8安卓手机app截图:上位机软件,手机软件使用,请参考提供的说明及使用视频。模块单独连电脑时需要USB转TTL模块,模块单独连手机时需要蓝牙模块。七、结束GY39模块I/O是TTL电平,可以直接与单片机串口连接,可以直接与PL2303,CH340,FT232等芯片连接,但不能与电脑九针串口直接连接。