#include <CCS811.h> /* * IIC address default 0x5A, the address becomes 0x5B if the ADDR_SEL is soldered. */ //CCS811 sensor(&Wire, /*IIC_ADDRESS=*/0x5A); CCS811 sensor; void setup(void) { Serial.begin(115200); /*Wait for the chip to be initialized completely, and then exit*/ while(sensor.begin() != 0){ Serial.println("failed to init chip, please check if the chip connection is fine"); delay(1000); } /** * @brief Set measurement cycle * @param cycle:in typedef enum{ * eClosed, //Idle (Measurements are disabled in this mode) * eCycle_1s, //Constant power mode, IAQ measurement every second * eCycle_10s, //Pulse heating mode IAQ measurement every 10 seconds * eCycle_60s, //Low power pulse heating mode IAQ measurement every 60 seconds * eCycle_250ms //Constant power mode, sensor measurement every 250ms * }eCycle_t; */ sensor.setMeasCycle(sensor.eCycle_250ms); } void loop() { delay(1000); if(sensor.checkDataReady() == true){ Serial.print("CO2: "); Serial.print(sensor.getCO2PPM()); Serial.print("ppm, TVOC: "); Serial.print(sensor.getTVOCPPB()); Serial.println("ppb"); } else { Serial.println("Data is not ready!"); } /*! * @brief Set baseline * @param get from getBaseline.ino */ sensor.writeBaseLine(0x847B); //delay cannot be less than measurement cycle //delay(1000); }