Arduino IDE 下使用 NodeMCU 和 RS-485 采集 JW01 二氧化碳传感器数据
使用 Arduino IDE 下的 NodeMCU 通过 RS-485 采集 JW01 二氧化碳传感器数据
以下是使用 Arduino IDE 编写的 NodeMCU 代码,通过 RX 和 TX 引脚与 JW01 二氧化碳传感器进行 RS-485 通信并采集数据:
#include <SoftwareSerial.h>
#define RX D4
#define TX D3
SoftwareSerial rs485(RX, TX); //定义软串口
void setup() {
Serial.begin(9600);
rs485.begin(9600);
}
void loop() {
byte request[] = {0xFF, 0x01, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79}; //请求命令
rs485.write(request, sizeof(request)); //向 JW01 传感器发送请求
delay(100);
while(rs485.available()){
byte response = rs485.read(); //读取 JW01 传感器返回的数据
Serial.print(response, HEX); //将返回的数据以 16 进制形式输出到串口监视器
Serial.print(' ');
}
Serial.println();
delay(1000); //每隔 1 秒采集一次数据
}
连接线路如下:
NodeMCU RX 引脚 -> JW01 传感器 A+ 端
NodeMCU TX 引脚 -> JW01 传感器 B- 端
NodeMCU GND 引脚 -> JW01 传感器 GND 端
NodeMCU 5V 引脚 -> JW01 传感器 VCC 端
注意事项:
- 在使用 RS-485 通信时,需要将传感器的 A+ 和 B- 端子交叉连接,即 A+ 端子连接到 NodeMCU 的 RX 引脚,B- 端子连接到 NodeMCU 的 TX 引脚。
- 如果 NodeMCU 的 USB 接口供电不足,还需额外接入 5V 电源。
原文地址: https://www.cveoy.top/t/topic/ngFk 著作权归作者所有。请勿转载和采集!