Arduino IDE下nodemcu控制UART协议的JW01采集二氧化碳代码
以下是Arduino IDE下nodemcu控制UART协议的JW01采集二氧化碳代码:
#include <SoftwareSerial.h> //引用软串口库
SoftwareSerial mySerial(4, 5); //定义软串口,4为RX,5为TX
void setup() {
Serial.begin(9600); //初始化串口
mySerial.begin(9600); //初始化软串口
}
void loop() {
mySerial.write(0xff); //发送命令,开始采集
mySerial.write(0x01);
mySerial.write(0x86);
mySerial.write(0x00);
mySerial.write(0x00);
mySerial.write(0x00);
mySerial.write(0x00);
mySerial.write(0x00);
mySerial.write(0x79);
delay(10); //等待采集完成
while (mySerial.available()) {
byte high = mySerial.read(); //读取高位数据
byte low = mySerial.read(); //读取低位数据
int co2 = (high << 8) | low; //组成完整数据
Serial.print("CO2: "); //输出数据
Serial.println(co2);
}
delay(2000); //延迟2秒后再次采集
}
需要注意的是,JW01采集二氧化碳的协议为UART协议,需要使用软串口库进行通信。在代码中,使用mySerial.write()发送命令,使用mySerial.read()读取数据。在读取数据时,先读取高位数据,再读取低位数据,组成完整数据后输出。同时,需要使用delay()等待采集完成和延迟采集间隔时间。
原文地址: https://www.cveoy.top/t/topic/bTch 著作权归作者所有。请勿转载和采集!