NodeMCU 使用数字引脚读取 MQ135 传感器数据 (无需 A0)
首先,需要了解 MQ135 传感器数字信号输出是通过 PWM 信号输出的。因此,可以使用 NodeMCU 的任意一个数字引脚来采集 MQ135 传感器的数字信号输出。
以下是采集 MQ135 传感器数字信号输出的代码示例:
#define MQ135_PIN D5 // 定义 MQ135 传感器的数字信号引脚为 D5
void setup() {
Serial.begin(9600);
pinMode(MQ135_PIN, INPUT); // 将 MQ135 引脚设置为输入模式
}
void loop() {
int sensorValue = pulseIn(MQ135_PIN, HIGH); // 读取 MQ135 传感器的数字信号输出
float ppm = convertToPPM(sensorValue); // 将数字信号转换为 PPM 值
Serial.print('MQ135 PPM: ');
Serial.println(ppm);
delay(1000);
}
float convertToPPM(int sensorValue) {
// 根据 MQ135 传感器的数据手册,将数字信号转换为 PPM 值
float ppm = 0.0003 * pow(sensorValue, 3) - 0.103 * pow(sensorValue, 2) + 13.6 * sensorValue - 437.6;
return ppm;
}
在上面的代码中,我们将 MQ135 传感器的数字信号引脚定义为 D5,然后在 setup() 函数中将其设置为输入模式。在 loop() 函数中,我们使用 pulseIn() 函数从 MQ135 传感器的数字信号引脚读取数字信号,并使用 convertToPPM() 函数将数字信号转换为 PPM 值。最后,我们将 PPM 值通过串口输出。由于 MQ135 传感器的数字信号输出是 PWM 信号,因此我们需要根据传感器的数据手册将数字信号转换为 PPM 值。
原文地址: https://www.cveoy.top/t/topic/ngHf 著作权归作者所有。请勿转载和采集!