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 die Luftqualität, bzw. den Kohlendioxid-Gehalt der Raumluft zu messen eignet sich ein Arduino CO2 Sensor.
Arduino CO2 Sensor – MH-Z19
Zum Messen des Kohlendioxid-Gehalts in der Raumluft wird ein sogenannter MH-Z19B Sensor genutzt. Dieser misst mithilfe des NDIR-Prinzips (Non-Dispersive Infrarot) das Vorhandensein von CO2 in der Luft.
Technische Daten
- Versorgungsspannung: 4,5 – 5,5V DC
- median Stromaufnahme: < 20 mA
- maximale Stromaufnahme: 150 mA
- Interface: 3,3 V (kompatibel mit 5 V)
- Ausgabe: seriell (UART, TTL 3,3 V), PWM oder analoger Output (DAC)
- Aufwärmzeit: 3 min
- Reaktionszeit: T90 <120s
- Arbeitsumgebung: 0 bis +50 °C; rel. Luftfeuchtigkeit 0-90 %
- Messgenauigkeit: ± (50 ppm + 5 % des Messwerts)
- Lebensdauer: > 5 Jahre
Weitere technische Parameter sind im Datenblatt der Herstellers zu finden.
Pinout
PIN | Beschreibung |
---|---|
Pin 1 – Vo | Vout – Output Voltage 3.3V, Output Current lower than 10mA |
Pin 2 – RX | UART RXD – digital input |
Pin 3 – TX | UART TXD – digital output |
Pin 4 – SR | factory reserved |
Pin 5 – HD | factory reserved – zero calibration |
Pin 6 – Vin | Input Voltage |
Pin 7 – GND | GND |
Pin 8 – AOT | factory reserved |
Pin 9 – PWM | Pulse Modulation |
Aufbau und Schaltplan
Im Versuchsaufbau wurden folgende Bauteile verwendet:
Arduino CO2 Sensor – Sketch
// Arduino CO2 Sensor - MH-Z19 Beispiel und Sketch // https://iotspace.dev/arduino-co2-sensor-mh-z19-beispiel-und-sketch int DataPin = 6; int ppmrange = 5000; unsigned long pwmtime; int PPM = 0; float pulsepercent=0; void setup() { pinMode(DataPin, INPUT); Serial.begin(152000); } void loop() { pwmtime = pulseIn(DataPin, HIGH, 2000000) / 1000; float pulsepercent = pwmtime / 1004.0; PPM = ppmrange * pulsepercent; Serial.print("CO2 Konzentration in der Luft in PPM: "); Serial.println(PPM); delay(5000); }
Die ausgegebenen Werte allein sagen natürlich noch nicht viel aus. Um diese besser einschätzen zu können, kann die folgende Tabelle genutzt werden:
CO² Konzentration in ppm | Luftqualität |
---|---|
bis 400 | frische Außenluft |
bis 800 | hohe Raumluftqualität |
bis 1000 | akzeptabel „Pettenkoferzahl“ |
1000–2000 | Hygienisch auffällig |
über 2000 | Hygienisch inakzeptabel |
Mehr zum Thema Arduino Sensoren und Co
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 spannende IoT Projekte umzusetzen.