ショップ

製品概要

CCS811は3.3Vで使用するセンサーです。センサーモジュールの端子の最小の結線は、以下の様に行います。

  • VCC: 3.3V
    • GND: GND
    • SCL: SCL
    • SDA: SDA
    • WAK: GND

    CCS811はWAKがLOWの時にI2Cからのコマンド等を受け付けます。WAKは未接続状態ではHIGHになりますので、WAKをGNDに落とすか、利用時にMCUの適当な端子でLOWに落とすかするようにしてください。

    ライブラリ等

    ライブラリのインストール

    ライブラリマネージャの検索フィルタに[CCS811] を入力して絞り込むと、CCS811用のライブラリがいくつか列挙されます。ここでは、[Adafruit CCS811 Library by Adafruit] とタイトルが付けられているライブラリのインストールボタンを選択してインストールします。

    基本的なライブラリの他に、スケッチ例などで使用するOLEDディスプレイ用などのライブラリのインストールも含めて行うか聞いてくると思いますが、すべてインストールしておくとよいでしょう。

    ライブラリの基本的な使い方は、スケッチ例の [CCs811_test] を見ると簡単にわかります。

    スケッチ例

    CCS811で計測した気温と湿度をOLEDディスプレイに表示するスケッチを示します。

    #include <U8x8lib.h>
    #include "Adafruit_CCS811.h"
    
    U8X8_SSD1306_128X64_NONAME_HW_I2C u8x8(U8X8_PIN_NONE);
    Adafruit_CCS811 ccs;
    
    void setup() {
      u8x8.begin();
      u8x8.setFont(u8x8_font_7x14B_1x2_r);
      u8x8.clearDisplay();
    
      ccs.begin();  // CCS811の初期化
    }
    
    char tstr[20];
    
    void loop() {
      if (ccs.available()) {
        ccs.readData();
    
        sprintf(tstr, " CO2: %4dppm", ccs.geteCO2());
        u8x8.draw1x2String(0, 0, tstr);
        sprintf(tstr, "TVOC: %4dppb", ccs.getTVOC());
        u8x8.draw1x2String(0, 4, tstr);
      }
      delay(1000);
    }