传感器参数如下
RS485传感器的通讯协议是modbus协议
比如读取温度,发送:01 03 00 00 00 01 84 0A
返回:01 03 04 01 13 00 01 CB CA
即 256 * 1 + 16 * 1 + 3 = 275 (对应温度:27.5℃)
设备
电源头、RS485温湿度传感器、Arduino UNO R3、RS485转TTL模块
连线
arduino 7号(TX)连接 TTL板 TX
arduino 8号(RX)连接TTL板RX
代码
#include <SoftwareSerial.h>
unsigned char item[8] = {0x01, 0x03, 0x00, 0x00, 0x00, 0x02, 0xC4, 0x0B}; //16进制测温命令
String data = “”; // 接收到的16进制字符串
SoftwareSerial tempSerial(8, 7); // RX, TX
float getTemp(String temperature); // 函数声明
void setup()
{
tempSerial.begin(9600);
Serial.begin(9600);
}
void loop()
{
de