logo资料库

GY-39光强度传感器使用说明.pdf

第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
资料共8页,全文预览结束
GY-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)、统一数据输出 光强测量范围 0.045lux~188000lux (5)、 配相应的上位机软件 气压测量范围 三、产品应用 响应频率 (1)、数字照明管理 工作电压 (2)、物联网,智能家居应用 工作电流 (3)、气象站监测 工作温度 (4)、数字光照度计 储存温度 (5)、数字气压计,高度计 (6)、温湿度计 尺寸 (7)、大棚气候监测 传感器芯片 -40°~ 85° -40°~ 125° 24.3mm×26.7mm ME280+MAX44009 10 HZ 3~5 V 5mA 名称 参数 -40°~ 85° 0% ~100% 300 ~1100hpa 1
三、 引脚说明 实物图片(标号): Pin1 Pin2 Pin3 Pin4 Pin5 Pin6 Pin7 Pin8 PinA PinB VCC CT DR GND NC INT SDA SCL S0 S1 电源+ (3v-5v) 串口 UART_TX / IIC_SCL 串口 UART_RX / IIC_SDA 电源地 保留,不要连接 max44009 光强芯片中断 S1=0(接 GND 时启用) 芯片数据总线 S1=0(接 GND 时启用) 芯片时钟总线 S1=0(接 GND 时启用) 串口/MCU_IIC 模式选择 仅使用传感器芯片选择 注意:①, 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 总线 2
五、通信协议 ❶,串口协议: 当 GY-39 模块硬件 PinA(S0)=1 时候使用 (1)、串口通信参数(默认波特率值 9600bps,可通过软件设定) 波特率:9600 bps 校验位:N 数据位:8 停止位:1 波特率:115200 bps 校验位: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 位) 0x15 光照强度 Byte2 代表的含义说明: Byte2 含义: (3)、数据计算方法 0x45 温度、气压、湿度、海拔 0x55 IIC 地址 ①光照强度计算方法(当 Byte2=0x15 时,数据:Byte4~Byte7) : Lux=(前高 8 位<<24) | (前低 8 位<<16) | (后高 8 位<<8) | 后低 8 位 单位 lux 例:一帧数据 <5A- 5A- 15 -04- 00 -00- FE- 40- 0B > Lux=(0x00<<24)|(0x00<<16)|(0xFE<<8)|0x40 Lux=Lux/100 =650.88 (lux) ②温度、气压、湿度、海拔,计算方法(当 Byte2=0x45 时): 温度:Byte4~Byte5 T=(高 8 位<<8)|低 8 位 T=T/100 单位℃ 气压:Byte6~Byte9 P=(前高 8 位<<24) | (前低 8 位<<16) | (后高 8 位<<8) | 后低 8 位 P=P/100 单位 pa 湿度:Byte10~Byte11 Hum=(高 8 位<<8)|低 8 位 Hum=Hum/100 百分制 海拔:Byte12~Byte13 3
T=(0x0B<<8)|0x2D=2861 温度 T=2861/100=28.61 (℃) P=(0x00<<24)|(0x97<<16)|(C4<<8)|3F=9946175 气压 P=9946175/100=99461.75 (pa) Hum=(0x12<<8)| 77=4727 湿度 Hum=4727/100=47.27 (%) 海拔 H=(0x00<<8)|0x9c=156 (m) ③MCU_IIC 地址(当 Byte2=0x55 时): IIC_ADD=Byte4 例:一帧数据 <5A-5A-55-01-B6-C0 > IIC_ADD=0xB6 (8bit iic_add) 则 7bit iic_add 为 8bit iic_add 右移 1bit 得 0x5b H=(高 8 位<<8)|低 8 位 单位 m 例:一帧数据 < 5A -5A -45 -0A -0B -2D -00 -97 -C4 -3F -12- 77 -00- 9C- FA > (4)、命令字节,由外部控制器发送至 GY-39 模块(十六进制) 1、所有串口指令格式,帧头:0xa5 指令格式:帧头+指令+校验和(8bit) 2、串口命令指令: ①,串口输出配置寄存器: Bit7 command Bit1 Bit0 AUTO BME MAX 输出命令 AUTO(默认 1) 1:上电后按照上次的输出配置输出,0:上电后不自动输出 bit6-bit2 Bit6 Bit5 Bit4 Bit3 Bit2 0 0 0 0 0 BME(默认 1) MAX(默认 1) 必需置零:00000 1:连续输出温度、气压、湿度、海拔 0:不输出; 当 Auto 置 1,掉电保存 1:连续输出光照强度 0:不输出; 当 Auto 置 1,掉电保存 命令格式:0xA5+command+sum 例:bit7(Auto=1), bit0(MAX=1) 发送命令:0xA5+0x81+0x26,表示连续输出光照强度,掉电后保存该设置,重新上电后将 自动连续输出光照强度; 4
②,设置 IIC 地址指令:(该指令掉电保存修改后的 IIC 地址) 0xAA+XX+sum---------XX 表示 7bit IIC 地址,sum 等于 0xAA+XX 之和的低 8 位,例如 原厂 IIC 7bit 地址为 0x5B,则发送 0xAA+0x5B+05 到模块,7bit 地址左移一位,这样模块的 8bit IIC 地址为 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 地址为 0xB6 IIC 地址,可以通过串口配置修改,可修改 128 种不同地址,掉电保存。 光照强度前高 8 位 光照强度前低 8 位 光照强度后高 8 位 光照强度后低 8 位 温度高 8 位 温度低 8 位 气压前高 8 位 气压前低 8 位 气压后高 8 位 气压后低 8 位 湿度高 8 位 湿度低 8 位 海拔高 8 位 海拔低 8 位 ② IIC 寄存器: 0x00(只读) H_LUX_H 0x01(只读) H_LUX_L 0x02(只读) L_LUX_H 0x03(只读) L_LUX_L 0x04(只读) T_H 0x05(只读) T_L 0x06(只读) H_P_H 0x07(只读) H_P_L 0x08(只读) L_P_H 0x09(只读) L_P_L 0x0a(只读) HUM_H 0x0b(只读) HUM_L 0x0c(只读) H_H 0x0d(只读) H_L 5
六、模块使用方法 模块数据更新频率约为 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 模式 6
模块与 mcu 或者 USB 转 ttl,连接图: FT232 usb 转 ttl 连接: Arduino pro mini 串口连接: Arduino pro mini iic 连接(注意跳线帽): 上位机截图: 7
安卓手机 app 截图: 上位机软件,手机软件使用,请参考提供的说明及使用视频。 模块单独连电脑时需要 USB 转 TTL 模块,模块单独连手机时需要蓝牙模块。 七、结束 GY39 模块 I/O 是 TTL 电平,可以直接与单片机串口连接,可以直接与 PL2303,CH340,FT232 等芯片连接,但不能与电脑九针串口直接连接。 8
分享到:
收藏