「悲しいことに、進歩の名の下に、私たちは空気、水、土壌、そして私たちが食べる食物を汚染しました」。そのため、汚染のために、今日の大気質の監視は非常に重要です。大気質監視システムを設計するには、耐久性と信頼性の高い大気質センサーが必要です。多くの大気質パラメータがありますが、最も重要なのはCO2とTVOCです。そのため、CO2とTVOCの検知には、CCS811大気質センサーを使用しています。
このチュートリアルでは、ArduinoでCCS811大気質センサーを使用してTVOCとCO2を検知する方法を紹介します。また、CSS811とArduinoのインターフェースについても学びます。
必要な材料
- Arduino UNO
- CCS811大気質センサー
- ポテンショメータ(10k)
- LCD 16 * 2
- ブレッドボード
- 接続線
回路図
CCS811大気質センサー
CCS811空気質センサーは、MOX(金属酸化物)ガスセンサーを統合して、MCU(マイクロコントローラーユニット)を統合した室内空気質モニタリング用の幅広いVOC(揮発性有機化合物)を検出する超低電力デジタルガスセンサーです。 。MCUは、ADC(アナログ-デジタルコンバーター)とI2Cインターフェースで構成されています。これは、低消費電力でガスセンサーの信頼性の高いソリューションを実現するams独自のマイクロホットプレートテクノロジーに基づいています。
私たちの回路では、このセンサーを使用して、環境で利用可能なTVOCとCO2を検知し、16 * 2LCDにデータを表示しています。
ピン配置
ピン番号 |
ピン名 |
説明 |
1 |
ヴィン |
入力電源(3.3v〜5v) |
2 |
3V3 |
外部用3.3V出力ピン |
3 |
Gnd |
接地 |
4 |
SDA |
これはI2Cクロックピンです |
5 |
SCL |
I2Cデータピン |
6 |
ウェイク |
センサーのウェイクアップピンは、センサーと通信するためにアースに接続する必要があります |
7 |
RST |
リセットピン:アースに接続すると、センサーはそれ自体をリセットします |
8 |
INT |
これは割り込み出力ピンであり、新しい読み取りの準備ができたとき、または読み取りが高すぎたり低すぎたりしたときに検出するために使用されます |
応用
- スマートフォン
- ウェアラブル
- 住宅およびビルディングオートメーション
- 付属品
コードと説明
最後に、CCS811大気質センサーを使用したTVOCおよびCO2測定用の完全なArduinoコードを示します。
以下のコードでは、16 * 2LCDおよびCCS811大気質センサーのライブラリを定義しています。CCS811のライブラリ「Adafruit_CCS811.h」をダウンロードするには、このリンクをたどってください。
#include
以下に、16 * 2LCDをArduinoに接続するためのピンを定義しました。
LiquidCrystal lcd(12、13、8、9、10、11); ///レジスタ選択ピン、有効化ピン、D4ピン、D5ピン、D6ピン、D7ピンAdafruit_CCS811 ccs;
以下に、LCDとCCS811の大気質センサーをセットアップし、以下のコードに示すように、正しい温度を表示するように調整しました。
void setup(){lcd.begin(16、2); ccs.begin(); //温度センサーを校正しますwhile(!ccs.available()); float temp = ccs.calculateTemperature(); ccs.setTempOffset(temp-25.0); }
以下のコードでは、関数 「 ccs.available()」 (関数はライブラリですでに定義されています)を使用して、データが来るかどうかを確認しました。データを取得すると、温度を計算して16 * 2LCDに表示できます。
さらに、CCSが使用可能で、 ccs.readData() がfalseを返している場合、次のコードに示すように、関数 ccs.geteCO2() を使用してCO2値を取得し、 ccs.getTVOC() を使用してTVOC値を 取得し ます。したがって、CCS811大気質センサーを使用して大気質パラメーターの値を受け取りました。
void loop(){if(ccs.available()){float temp = ccs.calculateTemperature(); if(!ccs.readData()){int co2 = ccs.geteCO2(); int tvoc = ccs.getTVOC(); lcd.setCursor(0、0); lcd.print(String( "CO2:")+ String(co2)+ String( "PPM")); lcd.setCursor(0、1); lcd.print(String( "TVOC:")+ String(tvoc)+ String( "PPB")); lcd.print(String( "T:" + String(int(temp)))+ String( "C")); delay(3000); lcd.clear(); } else {lcd.print( "ERROR"); while(1); }}}
完全なArduinoコードを以下に示します。コードは単純で、すべての作業はライブラリ自体によって行われ、CCSライブラリで定義された関数を使用してCO2とTOVCの値を取得しました。
また、以下を確認してください。
- Arduinoを使用したIOTベースの大気汚染監視システム
- Arduinoを使用したMQガスセンサーからのPPMの測定