logo
Published on

Arduinoに「CCS811」を接続し制御する

Authors
  • avatar
    Name
    Shou Kawakami / 川上翔
    Twitter

はじめに

Arduinoは様々なセンサーやモジュールを利用して、環境モニタリングやIoTプロジェクトを実現するのに便利なプラットフォームです。この記事では、大気中の二酸化炭素(CO2)濃度を測定するためのセンサーモジュール「CCS811」をArduinoに接続し、制御する方法について解説します。

※モジュールの価格を比較 ▶ TemuAliExpress楽天メルカリ

1. CCS811センサーの概要

CCS811は、二酸化炭素濃度を測定するためのデジタルセンサーモジュールであり、気温・湿度の補正も行えます。このセンサーはI2C通信プロトコルを使用しており、Arduinoとの接続が比較的簡単です。

2. CCS811の接続

CCS811をArduinoに接続するためには、以下の4本のピンがあります。

  • VCC: 3.3Vまたは5Vの電源
  • GND: 接地
  • SCL: I2Cのクロックライン
  • SDA: I2Cのデータライン

これらのピンを適切なArduinoのピンに接続します。通常、Arduino UnoではA4ピンがSDAに、A5ピンがSCLになります。

3. Arduinoコードの作成

Arduino IDEを開き、CCS811を制御するためのライブラリを導入します。次に、以下のサンプルコードを使用してCCS811からデータを読み取るプログラムを作成します。

#include <Wire.h>
#include <Adafruit_CCS811.h>

Adafruit_CCS811 ccs;

void setup() {
  Serial.begin(9600);
  Serial.println("CCS811 Test");

  if(!ccs.begin()){
    Serial.println("Failed to start CCS811. Please check your wiring.");
    while(1);
  }
}

void loop() {
  if(ccs.available()){
    if(!ccs.readData()){
      Serial.print("CO2: ");
      Serial.print(ccs.geteCO2());
      Serial.print(" ppm, TVOC: ");
      Serial.println(ccs.getTVOC());
    } else {
      Serial.println("Error reading data from CCS811");
    }
  }

  delay(1000);
}

このコードは、CCS811から読み取ったCO2濃度と揮発性有機化合物(TVOC)の値をシリアルモニターに表示します。

4. コードのアップロードと動作確認

コードを書いたら、ArduinoにアップロードしてCCS811との通信が正常に行われているか確認します。シリアルモニターに表示されるCO2濃度やTVOCの値が更新されていることを確認できれば、センサーが正しく動作しています。

これで、ArduinoにCCS811を接続し、大気中のCO2濃度を測定するための基本的な手順が完了しました。将来的には、このセンサーを用いて室内の空気品質をモニタリングするなどのプロジェクトに応用することができます。