Arduino CO2 Sensor im Eigenbau – CCS811 Sensor

Arduino CO2 Sensor

Vor allem im Winter und der während aktuellen COVID-19-Pandemie ist regelmäßiges Lüften in geschlossenen Räumen besonders wichtig. Nur dadurch ist es möglich die Luftqualität auf einem konstant guten Level zu halten.

Um das Öffnen der Fenster nicht zu vergessen bietet sich ein Luftqualitätssensor an. Auf Grund der hohen Preise ab ca. 130 Euro rentieren sich diese Geräte jedoch meist nicht für Privathaushalte. Daher wird in diesem Beitrag ein Arduino CO2- bzw. Luftqualitätssensor im Eigenbau vorgestellt. Und das zu einem Bruchteil des oben genannten Preises.

CCS811 Luftqualitätssensor

Der CCS811 ist ein ultra-low-power Gassensor, welcher mit Hilfe eines MOX (Metal Oxide) Sensors eine große Anzahl verschiedener flüchtiger organischer Verbindungen (Abk.: FOV) feststellen kann. Dank der integrierten Microcontroller-Unit und einem Analog-zu-Digital Konverter kann der Sensor als Indikator zur Bestimmung der Luftqualität innerhalb geschlossener Räume genutzt werden. Zur Kommunikation mit anderen Geräten wird das I²C Protokoll verwendet.

KEYESTUDIO CCS811 Kohlendioxid-Luftqualitätssensor für Arduino für flüchtige organische Verbindungen (TVOCs), äquivalentes Kohlendioxid (eCO2) und Metalloxid (MOX)
  • Equivalent carbon dioxide (eCO2) is measured in the range of 400 to 8192 ppm (parts per million), and various volatile organic compounds (TVOC) ranges from 0 to 1187 ppb (parts per billion)

Erklärung der Messwerte

eCO2 (equivalent calculated carbon-dioxide)

Dieser Messwert gibt das CO2-Äquivalent verschiedener Treibhausgase an.

Zur besseren Vergleichbarkeit werden Emissionen diverser Treibhausgase entsprechend ihres globalen Erwärmungspotenzials in CO2-Äquivalente umgerechnet.

TVOC (Total Volatile Organic Compound)

Dieser Messwert gibt die Gesamtmenge, der messbaren, sich in der Luft befindlichen, Emissionen an.

VOCs werden oft als Schadstoffe bzw. Sinnesreizstoffe eingestuft und können aus einer Vielzahl von Quellen wie beispielsweise Baustoffen (Lack, Farben, etc.), Maschinen (Kopierer, PCs, etc.) und sogar Menschen (Atmung, Rauchen, usw.) kommen.

Technische Daten:

Schnittstelle:digital  – I²C
Betriebsspannung:1.8 bis 3.6 V
Leistungsaufnahme:1.2 to 46 mW
Maße:2.7 x 4.0 x 1.1 mm
Messbereich Temperatur:-40 bis 85 °C.
Messbereich Luftfeuchte:10 bis 95 % R.H.
Messbereich TVOC: 0 bis 1187 ppb
Messbereich eCO2: 400 bis 8192 ppm

Arduino CO2 Sensor

Im folgenden Versuchsaufbau wird ein Keine Produkte gefunden. und ein Keystudio CCS811 Sensor  genutzt.

Schaltplan und Aufbau

Arduino CO2 Sensor
Arduino UNO + CCS811 Schaltplan
Arduino UNO R3CCS811 Sensor
3V33V3
GNDGND
GNDWAKE
A4SDA
A5SDC

Arduino Sketch

// iotspace.dev
// Arduino CO2 Sensor im Eigenbau – CCS811 Sensor

#include "Adafruit_CCS811.h"

Adafruit_CCS811 ccs;

void setup() {
	Serial.begin(9600);
	Serial.println("CCS811 Sensor Demo");
	if(!ccs.begin()){
	 Serial.println("Sensor konnte nicht gestartet werden. Verkabelung prüfen.");
	 while(1);
	}
	
	//Sensor kalibrieren
	while(!ccs.available());
	float temp = ccs.calculateTemperature();
	ccs.setTempOffset(temp - 25.0);
}

void loop() {
	if(ccs.available()){
	 float temp = ccs.calculateTemperature();
	 if(!ccs.readData()){
	  Serial.print("CO2: ");
	  Serial.print(ccs.geteCO2());
	  Serial.print("ppm, ");
	  Serial.print("TVOC: ");
	  Serial.print(ccs.getTVOC());
	  Serial.print("ppb, ");
	  Serial.print("Temp: ");
	  Serial.println(temp);
	 }
	 else{
	  Serial.println("ERROR!");
	  while(1);
	 }
	}

//Eine Sekunde warten	
delay(1000);
}

Nach dem Kompilieren und Hochladen des Sketches sollte der Arduino CO2 Sensor nun folgendes im Serial Monitor anzeigen:

CCS811 Serial Monitor

Mehr zum Thema Arduino

Arduino Kompendium Buch

Möchtest du mehr interessante Arduino Projekte kennen lernen und weiter in die Welt der Mikrocontroller einsteigen? Dann empfehle ich das Buch Arduino Kompendium: Elektronik, Programmierung und Projekte  – damit ist es möglich auch ohne umfassende Elektronik- und Programmiervorkenntnisse eigene intelligente Arduino-Projekte umzusetzen.

3 Kommentare

  1. Hallo,
    ich konnte nach längerer Recherche zwei Fragen nicht beantworten:
    1. Warum werden die SDA, SCL Anschlüsse des Sensors nicht an SDA, SCL des Arduino angeschlossen?
    2. Wenn A4, A5 belegt sind: wo in der SW kann man auf alternative Ports umschalten?
    Vielen Dank im Voraus für jegliche konstruktive Hilfe!
    Alles Gute,
    peman

  2. Hi IotSpace,
    nutze einen MKRwifi 1010 und habe den Sensor an die I2C-Ports angeschlossen und es funktioniert.
    Trotzdem vielen Dank an Dich,
    Peman

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.