[电工&电子] 通讯获取温湿度传感器数值

[复制链接]
查看213 | 回复0 | 2024-7-28 11:26:04 | 显示全部楼层 |阅读模式
测量温湿度的方式有很多种,信号传输也很多种。


如下图所示,选用的传感器为带有485通讯的传感器。



此传感器只有4条线,2根电源线和2根通讯线。通过通讯线下发指令,即可获取到温度湿度等一系列数据。
此类模块还支持CO2监测、气压监测等,只是和温湿度的操作一样,就以温湿度的来说明。
如下图,是接线方式。



首先,设备的地址和波特率数据采用默认配置:地址为1,波特率为9600.

当然,这些是可以修改的。



我们使用串口助手Commix1.3进行数据读取。配置如下图所示。勾选ModbusRTU,采用CRC校验。
下发指令,即可获取数据


下图为获取当前湿度数据(0x01FB)对应的湿度为十进制的“507”,即当前湿度为 50.7%





下图为获取当前温度数据(0x00FF)对应的湿度为十进制的“255”,即当前温度为 25.5℃





当然,也可以同时读取湿度和温度两个数据。通过下发指令,即可获取到4个字节的温度和湿度数据。






下发数据
01表示设备地址
03表示读功能
0000表示设备起始地址
0002表示读取地址的长度
C40B表示2个字节的CRC校验


反馈数据
01表示设备地址
03表示读功能
04表示数据为4字节
01FC00FF表示4个字节的数据
7BBF表示2个字节的CRC校验


由于在传感器地址定义中0x0000表示的湿度地址,0x0001地址表示的温度,即可同时读取两个数据。指定读取首地址,设定地址长度为2,即可同时读取温度和湿度。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则