ESP8266 使用 JW01 模块采集二氧化碳浓度 - 代码和连线教程
以下是 ESP8266 使用 JW01 模块采集二氧化碳浓度的代码和连线方式:
- 连线方式
JW01 模块需要连接到 ESP8266 的串口上,连接方式如下:
- JW01 模块的 VCC 引脚连接到 ESP8266 的 3.3V 电源;
- JW01 模块的 GND 引脚连接到 ESP8266 的 GND;
- JW01 模块的 TX 引脚连接到 ESP8266 的 RX 引脚;
- JW01 模块的 RX 引脚连接到 ESP8266 的 TX 引脚。
- 代码
在 ESP8266 中使用 Arduino IDE 编写代码,首先需要在代码中包含 JW01 库。可以使用以下代码进行测试:
#include <SoftwareSerial.h> // 引入软串口库
SoftwareSerial mySerial(2, 3); // 定义软串口对象
void setup() {
Serial.begin(9600); // 初始化 ESP8266 串口
mySerial.begin(9600); // 初始化 JW01 串口
}
void loop() {
if (mySerial.available()) { // 如果 JW01 模块有数据
Serial.write(mySerial.read()); // 把数据输出到 ESP8266 串口
}
}
上述代码中,首先引入了 SoftwareSerial 软串口库,用于将 ESP8266 的两个数字引脚模拟成一个串口。然后定义了一个软串口对象,并在 setup 函数中初始化 ESP8266 和 JW01 串口。在 loop 函数中,如果 JW01 模块有数据可读,就把数据输出到 ESP8266 串口中。
在上述代码的基础上,可以使用 JW01 库提供的函数来读取二氧化碳浓度值。例如:
#include <SoftwareSerial.h>
#include <JW01.h> // 引入 JW01 库
SoftwareSerial mySerial(2, 3);
JW01 jw01(&mySerial); // 定义 JW01 对象
void setup() {
Serial.begin(9600);
mySerial.begin(9600);
jw01.setMode(JW01_MODE_AUTO); // 设置 JW01 模式为自动采集
}
void loop() {
int co2 = jw01.readCO2(); // 读取二氧化碳浓度值
Serial.print('CO2: ');
Serial.println(co2);
delay(1000); // 延时 1 秒钟
}
上述代码中,首先引入了 JW01 库,并定义了一个 JW01 对象。在 setup 函数中,设置 JW01 模式为自动采集。在 loop 函数中,使用 jw01.readCO2() 函数读取二氧化碳浓度值,并输出到 ESP8266 串口中。为了稳定读取数据,使用了 delay 函数进行延时。
原文地址: https://www.cveoy.top/t/topic/mFXL 著作权归作者所有。请勿转载和采集!