首先,需要了解 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 值。

NodeMCU 使用数字引脚读取 MQ135 传感器数据 (无需 A0)

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

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