Based on the AMS CCS811 sensor (http://ams.com), this breakout allows knowing the concentration of carbon dioxide (foul air) and the TVOC (Total Volatile Organic Compounds) that is the concentration in parts per billion of suspended particles.
To make the CO2 data accurate according to the ambient temperature, the breakout also uses an NTC thermistor (optional) connected between pins 8 (AUX) and SENSE. Thanks to the presence of a TTL logic level adapter, the breakout board is compatible with the various Arduino boards and in general with all microprocessor circuits with both 5V and 3.3V operating logic, providing the possibility of powering the breakout both at 5V that 3.3V. This adapter has been applied to both SCL and SDA of the I²C bus. Combined with thecolor OLED display and Arduino Micro (or any Arduino programmed with the appropriate sketch), the breakout allows the creation of a complete system for the "Air Quality Detection".
Warning! the color OLED display, the Arduino Micro, the NTC sensor, the case and the 5V USB power supply are not included (see related products).
To show you the potential of the breakout board and the sensor that is at the base, we decided to integrate it into a project that aims to show the measured values on a small OLED display, with a background whose color changes according to how it is evaluated. the situation, from green (good air) to red (air of poor quality) through yellow (acceptable but not ideal air).
For the acquisition of data from the sensor breakout and their display on display after processing, we use an Arduino Micro board, which is one of the simplest and smallest Arduino.
The OLED display is 0.95" (code 2850-OLEDRGBA) with SPI interface; it is based on the graphic controller SSD1331 of SOLOMON SYSTECH and has a resolution of 96x64 pixel.
In our application example, for the management of the CCS811 sensor in order to acquire information on air pollution and temperature, the library provided by Sparkfun (www.sparkfun.com/products/14193) was used for its sensor, where we modified the reading function NTC (readNTC).
For the calculation of the temperature value we have based on the official documentation provided by AMS and on the formula reported in it, which is: RNTC = VNTC x RREF / VREF. The measured temperature value is expressed in numerical form and written in a the 4-bit register “NTC Register” (address 0x06).
In our example, we decided to make data available directly on the display. When starting the sketch for Arduino, the presence of the sensor is tested, showing on the display the indication of the sensor correctly detected if the dialogue is successful, that is an error otherwise; after they will be shown data from the form.
Keep in mind that for a correct indication, the sensor must self-calibrate, therefore it is important to respect the time provided by the parent company to have a true value. The minimum waiting time to get reliable data is 24 hours. To make the display more intuitive, the values shown have a different color depending on the quality of the air to which they correspond.