Arduino IDE NodeMCU 控制 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/nhtn 著作权归作者所有。请勿转载和采集!