天天看點

【Arduino基礎教程】MQ135空氣品質檢測子產品

【Arduino基礎教程】MQ135空氣品質檢測子產品

MQ135空氣品質檢測子產品

MQ135主要用于檢測空氣中的二氧化碳、酒精、苯、氮氧化物、氨等氣體的濃度。

本文将介紹MQ135的兩種使用方法

  1. 不使用庫檔案
  2. 使用别人寫好的庫檔案

1.不使用庫檔案

準備材料

  • Arduino Uno *1
  • MQ-135 傳感器 *1
  • 跳線 *3
  • 面包闆 *1

接線

【Arduino基礎教程】MQ135空氣品質檢測子產品

接線示意圖

MQ135 Arduino
VCC -> 5V
AOUT A0
GND

示例程式

const int gasSensor =0;
void setup(){
  Serial.begin(9600);      // sets the serial port to 9600
}
void loop(){
  float voltage;
  voltage = getVoltage(gasSensor);
  
  Serial.println(voltage);
  delay(1000);
}
 
float getVoltage(int pin){
  return (analogRead(pin) * 0.004882814);
  // This equation converts the 0 to 1023 value that analogRead()
  // returns, into a 0.0 to 5.0 value that is the true voltage
  // being read at that pin.
}
           

2.使用<MQ135.h>庫

所需材料

接線

都與不使用庫檔案一樣。唯一的差別就是需要下載下傳MQ135的庫。

加載庫檔案

https://codeload.github.com/GeorgK/MQ135/zip/master

下載下傳MQ135的庫檔案,在Arduino IDE中,點選

項目

加載庫

添加一個.zip庫

,選擇下載下傳好的MQ135庫檔案即可。

初始化設定

開始使用它之前,你需要将它通電,預熱12-24個小時,之後,在20°C/35%空氣溫度的環境中執行下列程式,讀取

RZERO

的值。

#include "MQ135.h"
const int ANALOGPIN=0;
MQ135 gasSensor = MQ135(ANALOGPIN);
void setup(){
  Serial.begin(9600);      // sets the serial port to 9600
}
void loop(){
  float rzero = gasSensor.getRZero();
  Serial.println(rzero);
  delay(1000);
}
           

将讀到的值寫入庫檔案中的

MQ135.h

檔案中。

那麼問題來了:如何找到

MQ135.h

檔案?

  • 可以在Arduino IDE中選擇

    檔案

    首選項

    ,在彈出的視窗中可以看到

    項目檔案夾位置

    ,eg:

    d:\Users\weiwe\Documents\Arduino

    ,然後你找到這個檔案夾裡面的

    libraries

    MQ135-master

    MQ135.h

    檔案,打開便可以将

    RZERO

    的值填進去。
#define RZERO 76.63
           

開始檢測空氣品質

#include "MQ135.h"
const int ANALOGPIN=0;
MQ135 gasSensor = MQ135(ANALOGPIN);
void setup(){
  Serial.begin(9600);      // sets the serial port to 9600
}
void loop(){
  float ppm = gasSensor.getPPM();
  Serial.println(ppm);
  delay(1000);
}
           

參考文獻

1.

http://www.hackerscapes.com/2014/11/using-an-air-quality-sensor/

2.

https://hackaday.io/project/3475-sniffing-trinket/log/12363-mq135-arduino-library

小貼士

  • 實驗表明,MQ-135 可以檢測上述提及的氣體,但它并不能差別這些氣體。如果你想檢測某種具體的氣體在空氣中的含量,那你可能需要尋找其他更好的傳感器了~
  • MQ-135使用一個加熱子產品來預熱傳感器,是以建議使用容量大一點的電源才不會很快就耗盡電量。
  • 附:室内空氣品質對照表
    【Arduino基礎教程】MQ135空氣品質檢測子產品
    室内空氣品質對照表