以下是 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() 等待采集完成和延迟采集间隔时间。

Arduino IDE NodeMCU 控制 JW01 采集二氧化碳代码

原文地址: https://www.cveoy.top/t/topic/nhtn 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录