BerryBase
  • Shop
  • Raspberry Pi
  • Projekte
    • Alle
    • Audio / Sound
    • Display
    • Fun
    • IoT / Smart Tech
    • Kamera
    • LED
    • Luft / Wetter
    • Software
    MakerBeam: Modular bauen ohne Schweißen & Bohren

    MakerBeam: Modular bauen ohne Schweißen & Bohren

    Der Raspberry Pi Imager und seine Tücken

    Der Raspberry Pi Imager und seine Tücken

    Raspberry Pi 5 NAS mit Radxa Penta SATA HAT und OpenMediaVault 8 – Nachfolger zum Argon EON Pi NAS

    Raspberry Pi 5 NAS mit Radxa Penta SATA HAT und OpenMediaVault 8 – Nachfolger zum Argon EON Pi NAS

    Pixeljäger: Microcontroller-Spiel zum Nachbauen

    Pixeljäger: Microcontroller-Spiel zum Nachbauen

    MediaWiki mit Docker installieren – Schritt-für-Schritt Guide für Portainer & Docker Compose

    MediaWiki mit Docker installieren – Schritt-für-Schritt Guide für Portainer & Docker Compose

    Weihnachtsdeko DIY: Weihnachts Lötbausatz für Bastler

    Weihnachtsdeko DIY: Weihnachts Lötbausatz für Bastler

    Smart Speaker selber bauen: Alte Lautsprecher mit dem HiFiBerry AMP2 modernisieren

    Smart Speaker selber bauen: Alte Lautsprecher mit dem HiFiBerry AMP2 modernisieren

    Kodi auf dem Raspberry Pi – die umfassende Anleitung zur Installation, Einrichtung und Optimierung

    Kodi auf dem Raspberry Pi – die umfassende Anleitung zur Installation, Einrichtung und Optimierung

    Home Assistant auf dem Raspberry Pi – Schritt-für-Schritt Anleitung ohne Cloud

    Home Assistant auf dem Raspberry Pi – Schritt-für-Schritt Anleitung ohne Cloud

    • Audio / Sound
    • Display
    • Fun
    • IoT / Smart Tech
    • Kamera
    • LED
    • Luft / Wetter
    • Software
  • Themen
    • Alle
    • Ad Blocker
    • Arduino
    • ESP
    • Gaming & Emulatoren
    • Hausautomation
    • IoT
    • Raspberry Pi
    • Robotik
    • Sensoren & Aktoren
    Was ist LoRa? Die Funktechnologie für IoT, Maker & Meshtastic einfach erklärt

    Was ist LoRa? Die Funktechnologie für IoT, Maker & Meshtastic einfach erklärt

    LoRaWAN erklärt: So funktionieren LoRa-Netzwerke mit Gateways & TTN

    LoRaWAN erklärt: So funktionieren LoRa-Netzwerke mit Gateways & TTN

    Meshtastic & MeshCore: Dezentrale Kommunikation ohne Internet, Server oder SIM

    Meshtastic & MeshCore: Dezentrale Kommunikation ohne Internet, Server oder SIM

    Der Raspberry Pi Imager und seine Tücken

    Der Raspberry Pi Imager und seine Tücken

    Raspberry Pi 5 NAS mit Radxa Penta SATA HAT und OpenMediaVault 8 – Nachfolger zum Argon EON Pi NAS

    Raspberry Pi 5 NAS mit Radxa Penta SATA HAT und OpenMediaVault 8 – Nachfolger zum Argon EON Pi NAS

    Pixeljäger: Microcontroller-Spiel zum Nachbauen

    Pixeljäger: Microcontroller-Spiel zum Nachbauen

    MQTT Basics: Was ist MQTT und wie richte ich einen Broker ein?

    MQTT Basics: Was ist MQTT und wie richte ich einen Broker ein?

    Raspberry Pi 5 Gehäuse Guide – Vergleich, Unterschiede und Kaufempfehlungen

    Raspberry Pi 5 Gehäuse Guide – Vergleich, Unterschiede und Kaufempfehlungen

    Raspberry Pi 5 Retro Gaming Guide 2025 – Emulatoren, SSDs & Controller im Vergleich

    Raspberry Pi 5 Retro Gaming Guide 2025 – Emulatoren, SSDs & Controller im Vergleich

    • Raspberry Pi
    • Arduino
    • ESP
    • Sensoren & Aktoren
    • IoT
    • Hausautomation
  • Kaufberatung
    • Alle
    • Produkte
    • Reviews
    • Top 10 Listen
    • Unboxing
    MakerBeam: Modular bauen ohne Schweißen & Bohren

    MakerBeam: Modular bauen ohne Schweißen & Bohren

    Raspberry Pi 5 Gehäuse Guide – Vergleich, Unterschiede und Kaufempfehlungen

    Raspberry Pi 5 Gehäuse Guide – Vergleich, Unterschiede und Kaufempfehlungen

    Weihnachtsdeko DIY: Weihnachts Lötbausatz für Bastler

    Weihnachtsdeko DIY: Weihnachts Lötbausatz für Bastler

    Vom HackberryPi Zero zum HackberryPi CM5 – vom mobilen Terminal zum Pocket PC

    Vom HackberryPi Zero zum HackberryPi CM5 – vom mobilen Terminal zum Pocket PC

    HackberryPi Zero: Ein Cyberdeck für die Hosentasche

    HackberryPi Zero: Ein Cyberdeck für die Hosentasche

    Fischertechnik Maker Kits – Neuheiten für die DIY- und Maker-Szene

    Fischertechnik Maker Kits – Neuheiten für die DIY- und Maker-Szene

    Nicla Sense Env – Die leistungsstarke Sensorlösung für Portenta- und MKR-Boards

    Nicla Sense Env – Die leistungsstarke Sensorlösung für Portenta- und MKR-Boards

    Raspberry Pi AI Camera – Eine intelligente Kamera für kreative Projekte

    Raspberry Pi AI Camera – Eine intelligente Kamera für kreative Projekte

    PiNEBOARDS HATs im Test: Erweiterungsmöglichkeiten für den Raspberry Pi 5

    PiNEBOARDS HATs im Test: Erweiterungsmöglichkeiten für den Raspberry Pi 5

    • Produkte
  • How To
    • Alle
    • Guides
    • Software / Programmierung
    • Wissensdatenbank
    Was ist LoRa? Die Funktechnologie für IoT, Maker & Meshtastic einfach erklärt

    Was ist LoRa? Die Funktechnologie für IoT, Maker & Meshtastic einfach erklärt

    LoRaWAN erklärt: So funktionieren LoRa-Netzwerke mit Gateways & TTN

    LoRaWAN erklärt: So funktionieren LoRa-Netzwerke mit Gateways & TTN

    Meshtastic & MeshCore: Dezentrale Kommunikation ohne Internet, Server oder SIM

    Meshtastic & MeshCore: Dezentrale Kommunikation ohne Internet, Server oder SIM

    MakerBeam: Modular bauen ohne Schweißen & Bohren

    MakerBeam: Modular bauen ohne Schweißen & Bohren

    Der Raspberry Pi Imager und seine Tücken

    Der Raspberry Pi Imager und seine Tücken

    Raspberry Pi 5 NAS mit Radxa Penta SATA HAT und OpenMediaVault 8 – Nachfolger zum Argon EON Pi NAS

    Raspberry Pi 5 NAS mit Radxa Penta SATA HAT und OpenMediaVault 8 – Nachfolger zum Argon EON Pi NAS

    Pixeljäger: Microcontroller-Spiel zum Nachbauen

    Pixeljäger: Microcontroller-Spiel zum Nachbauen

    OpenClaw – Der KI-Agent für dein Zuhause

    OpenClaw – Der KI-Agent für dein Zuhause

    Redmine mit Docker installieren und einrichten –                    Einstieg ins Projektmanagement

    Redmine mit Docker installieren und einrichten – Einstieg ins Projektmanagement

    • Guides
    • Wissensdatenbank
    • Software / Programmierung
  • News
Keine Ergebnisse
Alle Ergebnisse anzeigen
  • Shop
  • Raspberry Pi
  • Projekte
    • Alle
    • Audio / Sound
    • Display
    • Fun
    • IoT / Smart Tech
    • Kamera
    • LED
    • Luft / Wetter
    • Software
    MakerBeam: Modular bauen ohne Schweißen & Bohren

    MakerBeam: Modular bauen ohne Schweißen & Bohren

    Der Raspberry Pi Imager und seine Tücken

    Der Raspberry Pi Imager und seine Tücken

    Raspberry Pi 5 NAS mit Radxa Penta SATA HAT und OpenMediaVault 8 – Nachfolger zum Argon EON Pi NAS

    Raspberry Pi 5 NAS mit Radxa Penta SATA HAT und OpenMediaVault 8 – Nachfolger zum Argon EON Pi NAS

    Pixeljäger: Microcontroller-Spiel zum Nachbauen

    Pixeljäger: Microcontroller-Spiel zum Nachbauen

    MediaWiki mit Docker installieren – Schritt-für-Schritt Guide für Portainer & Docker Compose

    MediaWiki mit Docker installieren – Schritt-für-Schritt Guide für Portainer & Docker Compose

    Weihnachtsdeko DIY: Weihnachts Lötbausatz für Bastler

    Weihnachtsdeko DIY: Weihnachts Lötbausatz für Bastler

    Smart Speaker selber bauen: Alte Lautsprecher mit dem HiFiBerry AMP2 modernisieren

    Smart Speaker selber bauen: Alte Lautsprecher mit dem HiFiBerry AMP2 modernisieren

    Kodi auf dem Raspberry Pi – die umfassende Anleitung zur Installation, Einrichtung und Optimierung

    Kodi auf dem Raspberry Pi – die umfassende Anleitung zur Installation, Einrichtung und Optimierung

    Home Assistant auf dem Raspberry Pi – Schritt-für-Schritt Anleitung ohne Cloud

    Home Assistant auf dem Raspberry Pi – Schritt-für-Schritt Anleitung ohne Cloud

    • Audio / Sound
    • Display
    • Fun
    • IoT / Smart Tech
    • Kamera
    • LED
    • Luft / Wetter
    • Software
  • Themen
    • Alle
    • Ad Blocker
    • Arduino
    • ESP
    • Gaming & Emulatoren
    • Hausautomation
    • IoT
    • Raspberry Pi
    • Robotik
    • Sensoren & Aktoren
    Was ist LoRa? Die Funktechnologie für IoT, Maker & Meshtastic einfach erklärt

    Was ist LoRa? Die Funktechnologie für IoT, Maker & Meshtastic einfach erklärt

    LoRaWAN erklärt: So funktionieren LoRa-Netzwerke mit Gateways & TTN

    LoRaWAN erklärt: So funktionieren LoRa-Netzwerke mit Gateways & TTN

    Meshtastic & MeshCore: Dezentrale Kommunikation ohne Internet, Server oder SIM

    Meshtastic & MeshCore: Dezentrale Kommunikation ohne Internet, Server oder SIM

    Der Raspberry Pi Imager und seine Tücken

    Der Raspberry Pi Imager und seine Tücken

    Raspberry Pi 5 NAS mit Radxa Penta SATA HAT und OpenMediaVault 8 – Nachfolger zum Argon EON Pi NAS

    Raspberry Pi 5 NAS mit Radxa Penta SATA HAT und OpenMediaVault 8 – Nachfolger zum Argon EON Pi NAS

    Pixeljäger: Microcontroller-Spiel zum Nachbauen

    Pixeljäger: Microcontroller-Spiel zum Nachbauen

    MQTT Basics: Was ist MQTT und wie richte ich einen Broker ein?

    MQTT Basics: Was ist MQTT und wie richte ich einen Broker ein?

    Raspberry Pi 5 Gehäuse Guide – Vergleich, Unterschiede und Kaufempfehlungen

    Raspberry Pi 5 Gehäuse Guide – Vergleich, Unterschiede und Kaufempfehlungen

    Raspberry Pi 5 Retro Gaming Guide 2025 – Emulatoren, SSDs & Controller im Vergleich

    Raspberry Pi 5 Retro Gaming Guide 2025 – Emulatoren, SSDs & Controller im Vergleich

    • Raspberry Pi
    • Arduino
    • ESP
    • Sensoren & Aktoren
    • IoT
    • Hausautomation
  • Kaufberatung
    • Alle
    • Produkte
    • Reviews
    • Top 10 Listen
    • Unboxing
    MakerBeam: Modular bauen ohne Schweißen & Bohren

    MakerBeam: Modular bauen ohne Schweißen & Bohren

    Raspberry Pi 5 Gehäuse Guide – Vergleich, Unterschiede und Kaufempfehlungen

    Raspberry Pi 5 Gehäuse Guide – Vergleich, Unterschiede und Kaufempfehlungen

    Weihnachtsdeko DIY: Weihnachts Lötbausatz für Bastler

    Weihnachtsdeko DIY: Weihnachts Lötbausatz für Bastler

    Vom HackberryPi Zero zum HackberryPi CM5 – vom mobilen Terminal zum Pocket PC

    Vom HackberryPi Zero zum HackberryPi CM5 – vom mobilen Terminal zum Pocket PC

    HackberryPi Zero: Ein Cyberdeck für die Hosentasche

    HackberryPi Zero: Ein Cyberdeck für die Hosentasche

    Fischertechnik Maker Kits – Neuheiten für die DIY- und Maker-Szene

    Fischertechnik Maker Kits – Neuheiten für die DIY- und Maker-Szene

    Nicla Sense Env – Die leistungsstarke Sensorlösung für Portenta- und MKR-Boards

    Nicla Sense Env – Die leistungsstarke Sensorlösung für Portenta- und MKR-Boards

    Raspberry Pi AI Camera – Eine intelligente Kamera für kreative Projekte

    Raspberry Pi AI Camera – Eine intelligente Kamera für kreative Projekte

    PiNEBOARDS HATs im Test: Erweiterungsmöglichkeiten für den Raspberry Pi 5

    PiNEBOARDS HATs im Test: Erweiterungsmöglichkeiten für den Raspberry Pi 5

    • Produkte
  • How To
    • Alle
    • Guides
    • Software / Programmierung
    • Wissensdatenbank
    Was ist LoRa? Die Funktechnologie für IoT, Maker & Meshtastic einfach erklärt

    Was ist LoRa? Die Funktechnologie für IoT, Maker & Meshtastic einfach erklärt

    LoRaWAN erklärt: So funktionieren LoRa-Netzwerke mit Gateways & TTN

    LoRaWAN erklärt: So funktionieren LoRa-Netzwerke mit Gateways & TTN

    Meshtastic & MeshCore: Dezentrale Kommunikation ohne Internet, Server oder SIM

    Meshtastic & MeshCore: Dezentrale Kommunikation ohne Internet, Server oder SIM

    MakerBeam: Modular bauen ohne Schweißen & Bohren

    MakerBeam: Modular bauen ohne Schweißen & Bohren

    Der Raspberry Pi Imager und seine Tücken

    Der Raspberry Pi Imager und seine Tücken

    Raspberry Pi 5 NAS mit Radxa Penta SATA HAT und OpenMediaVault 8 – Nachfolger zum Argon EON Pi NAS

    Raspberry Pi 5 NAS mit Radxa Penta SATA HAT und OpenMediaVault 8 – Nachfolger zum Argon EON Pi NAS

    Pixeljäger: Microcontroller-Spiel zum Nachbauen

    Pixeljäger: Microcontroller-Spiel zum Nachbauen

    OpenClaw – Der KI-Agent für dein Zuhause

    OpenClaw – Der KI-Agent für dein Zuhause

    Redmine mit Docker installieren und einrichten –                    Einstieg ins Projektmanagement

    Redmine mit Docker installieren und einrichten – Einstieg ins Projektmanagement

    • Guides
    • Wissensdatenbank
    • Software / Programmierung
  • News
Keine Ergebnisse
Alle Ergebnisse anzeigen
BerryBase
Keine Ergebnisse
Alle Ergebnisse anzeigen
Startseite Projekte

DIY CO2-Ampel mit dem MH-Z19C

Maik Rygiel von Maik Rygiel
16. Juni 2026
in Projekte, Arduino, Display, Hausautomation, Luft / Wetter, Sensoren & Aktoren, Themen
Lesezeit: 10 Min. Lesezeit
A A
14

Aufgrund der Gefahr einer Corona-Infektion wird seit einiger Zeit empfohlen, regelmäßig Innenräume zu lüften, damit sich nicht zu viele potenziell ansteckende Aerosole in der Luft sammeln können. Aber auch sonst ist es ratsam, mehrmals pro Tag durchzulüften. Eine CO2-Ampel könnte dir dabei helfen dein Lüften zu optimieren.

Die Frage, die ich mir gestellt habe, ist: Wann macht es Sinn zu lüften und wann kann man es sich sparen? Gerade in der kalten Jahreszeit sind die Heizkosten ja ohnehin ein Faktor, der nicht zu verachten ist. In diesem Zusammenhang ist mir die Idee gekommen, den CO2-Gehalt der Luft zu messen und mit einer einfachen Zwei-Farben-LED anzeigen zu lassen, wann gelüftet werden muss und ob der CO2-Gehalt in der Luft noch akzeptabel ist.

Inhaltsverzeichnis
  • Diese Hardware wird für die CO2-Ampel benötigt:
    • Benötigtes Werkzeug und Materialien:
  • So Verkabelst du die Komponenten der CO2-Ampel
  • So installierst du den Sketch auf dem Mikrocontroller
    • Variante 1 mit Arduino IDE:
    • Variante 2 mit ESP Easy:
  • So baust du die Komponenten der CO2-Ampel in ein Gehäuse ein
  • So kalibrierst du den MH-Z19
    • Variante 1 (Auto-Kalibrierung)
    • Variante 2 (Software-Kalibrierung)
    • Variante 3 (Hardware-Kalibrierung)
  • Herzlichen Glückwunsch, deine CO2-Ampel ist nun fertig!

Diese Hardware wird für die CO2-Ampel benötigt:

MH-Z19C Infrarot CO2 Sensor mit Pinleiste
D1 Mini, alternativ Pro oder Lite
KY-011 Two-color 3 mm oder Kingbright BI-Color Indicator LED + 2 x 100 Ohm Widerstände
Kunststoff Kleingehäuse 72x50x28mm
Dupont Kabel

Benötigtes Werkzeug und Materialien:

3-mm- und 5-mm-Holzbohrer
Bohrmaschine (am besten eine Standbohrmaschine)
Heißklebepistole
Lötkolben und Lötzinn
Kleine Metallsäge
Kleine Metallfeile oder Schleifpapier
Kleiner Kreuzschraubendreher

WARENKORB

Alle für dieses Projekt notwendigen Artikel landen mit einem Klick auf den Button direkt in deinem Warenkorb, sofern sie in unserem Shop verfügbar sind. Kontrolliere daher deinen Warenkorb genau!

So Verkabelst du die Komponenten der CO2-Ampel

Bevor du anfängst, das Ganze in das Gehäuse zu bauen, solltest du zunächst einmal den D1 Mini mit den Sensoren und den LEDs verbinden. Hier solltest du dir die Frage stellen, ob du die Pinleisten vom D1 Mini einlöten möchtest oder ob du die Kabel direkt an den D1 Mini lötest. Ich würde die Kabel direkt anlöten. Das geht schneller und du musst dir nicht überlegen, wie du die zweimal GND auf den einen Pin bekommst.

MH-Z19C anschließen:
RX -> D2 (Orangenes Kabel)
TX -> D1 (Gelbes Kabel)
VIN -> 5V (Rotes Kabel)
GND -> G (Braun Kabel)

Variante 1 mit KY-011 anschließen:

GND -> G (Braunes Kabel)
RED -> D6 (Grünes Kabel)
GREEN -> D7 (Blaues Kabel)

Die Schaltung sieht dabei folgendermaßen aus:

Verkabelung CO2-Ampel Variante 1
So wird die KY-011 LED angeschlossen.

Du musst natürlich keine KY-011 LED für deine CO2-Ampel verwenden, sondern kannst auch eine Kingbright BI-Color Indicator LED verwenden. Diese wird folgendermaßen angeschlossen:

Variante 2 mit Kingbright BI-Color Indicator LED:

Äußere Anschlüsse -> D6 (Grünes Kabel)
Mittlerer Anschluss -> G (Braunes Kabel)
Äußere Anschlüsse -> D7 (Blaues Kabel)

Hinweis: Bei den äußeren Anschlüssen ist es egal, ob D6 oder D7 außen ist. Dies lässt sich per Sketch oder durch Umstecken lösen.

Verkabelung CO2-Ampel Variante 2
Variante der Schaltung mit Kingbright BI-Color Indicator LED.

Jetzt hast du alle Komponenten miteinander Verbunden und kannst den benötigten Sketch auf deinen Mikrocontroller spielen.

So installierst du den Sketch auf dem Mikrocontroller

Sobald wir alles angeschlossen haben, solltest du das Ganze auch testen. Für diesen Zweck kannst du eine der beiden folgenden Vorgehensweisen auswählen – je nachdem, ob du mit Arduino IDE oder ESP Easy arbeitest:

Variante 1 mit Arduino IDE:

Du benötigst die Library von WifWaf die du in die Arduino IDE importierst: Die Library kannst du hier herunterladen. Klicke auf der Seite auf den grünen Button “Code” und danach auf “Download ZIP“. In der Arduino IDE musst du unter „Sketch“ -> „Bibliothek einbinden“ -> „ZIP-Bibliothek hinzufügen…“ die heruntergeladene ZIP Datei (MH-Z19-master.zip) auswählen und auf „Öffnen“ klicken. Jetzt könnst du den nachfolgenden Sketch kopieren, in die Arduino IDE hinzufügen und dann auf den D1 Mini spielen:

#include <Arduino.h>
#include "MHZ19.h"                                        
#include <SoftwareSerial.h>
#define RX_PIN 5         //MH-Z19 RX-PIN                                         
#define TX_PIN 4         //MH-Z19 TX-PIN                                   
#define BAUDRATE 9600    //Terminal Baudrate
#define REDPIN 13     //Pin für Rote LED
#define GREENPIN 12   //Pin für Grüne LED
#define SCHWELLE 1500 //Schwellwert wenn die LED von Grün auf Rot wechseln soll.
//Klassen definierung
MHZ19 myMHZ19;                               
SoftwareSerial mySerial(RX_PIN, TX_PIN); 
unsigned long getDataTimer = 0;
void setup(){
  //LED PIN Mode festlegen
pinMode(REDPIN, OUTPUT);
pinMode(GREENPIN, OUTPUT);
  //Serielle Intialisierung
Serial.begin(BAUDRATE);
mySerial.begin(BAUDRATE);                   
myMHZ19.begin(mySerial);
}
void loop(){
  //Prüfung ob 2 Sekunden um sind.
if (millis() - getDataTimer >= 2000){
      int CO2; //Variable darf nur Zahlen enthalten
CO2 = myMHZ19.getCO2(); //Variable schreiben
    //Ermittel ob der Schwellwert überschritten wurde und Schalten der LED
 if(CO2 > SCHWELLE){ 
      digitalWrite(GREENPIN, LOW);
      digitalWrite(REDPIN, HIGH);
      delay(100);
    }else {
      digitalWrite(REDPIN, LOW);
      digitalWrite(GREENPIN, HIGH);
      delay(100);
    }
    //Ausgabe auf den Seriellen Monitor
    Serial.print("CO2 (ppm): ");
                Serial.println(CO2);
    getDataTimer = millis();
    }
}

Wenn der Sketch aufgespielt ist, müsst du ca. eine Minute warten. Anschließend sollte die Lampe rot oder grün leuchten. Falls nicht, ist ein Kabel falsch angeschlossen. Sollte die LED rot oder grün leuchten, solltest du dir die CO2-PPM-Werte anschauen. Das geht über „Werkzeuge“ -> „Serieller Monitor“. Wenn dort die Werte unter 1500 ppm liegen, sollte die LED grün leuchten. Wenn der Wert über 1500 ppm liegt, leuchtet die LED rot. Sollte das bei dir andersrum sein, stecke die Kabel an der LED um oder setze oben in Sketch den REDPIN auf 12 und den GREENPIN auf 13. Den Schwellwert kannst du auch oben in Sketch ändern.

Variante 2 mit ESP Easy:

Diese Variante ist besonders praktisch, weil ich hierbei den aktuellen Wert ganz einfach über den Webbrowser am Computer oder Handy einsehen und auch ohne großen Aufwand den Schwellwert anpassen kann. Zudem benötige ich für den Code weniger Zeilen. Wie ESP Easy installiert und konfiguriert wird, kannst du hier nachlesen.

Wenn du mit der Installation und der Konfiguration von ESP Easy fertig bist, ändere unter „Hardware“ -> „I2C Interface“ den SDA auf GPIO-16 (D0) und den SCL auf GPIO-14 (D5), denn hier ist als Standard D1 und D2 festgelegt und diese brauchen wir ja für unseren Sensor.

ESP Easy

Klicke unten auf „Submit“ und gehe dann auf den Reiter „Devices“, klicke dort auf „Add“ und wähle in der Liste den Sensor „Gases – CO2 MH-Z19“ aus. Trage einen Namen für den Sensor ein und setze das Häckchen bei „Enabled“. Bei „Serial Port“ wählst dz „SoftwareSerial“ und gibst bei GPIO < TX GPIO-4 (D2) und bei GPIO > RX GPIO-5 (D1) ein. Unten rechts musst du noch den Decimals bei allen Werten auf 0 stellen. Da nämlich keine Dezimalzahlen ausgegeben werden, sieht es so schöner aus. Die Temperatur lag bei mir um 4 Grad daneben, daher habe ich bei „Temperature“ im Formula-Teil noch %value%-4 eingegeben. Dadurch geht das System immer von 4 Grad weniger aus, als tatsächlich gemessen wurden. Das Ganze sollte dann so aussehen:

Hier können die Messwerte angepasst werden.

Wenn alles richtig eingestellt ist, klicke auf „Submit“. Danach solltest du unter „Devices“ schon die aktuellen Werte sehen. Jetzt musst du nur noch unter „Rules“ den folgenden Code einfügen:

On CO2Sensor#PPM>0 do
if [CO2Sensor#PPM]>1500
    gpio,13,1
    gpio,12,0
else
    gpio,12,1
    gpio,13,0
endif
endon

Beachte hier, dass CO2Sensor = Name ist und PPM der Wert des Values. Solltest du dies unter „Devices“ ändern, musst du auch unter „Rules“ eine Anpassung vornehmen. Wichtig: immer auf Groß- und Kleinschreibung achten.

Im Code kannst du den Schwellwert anpassen, indem du den Wert 1500 änderst. Sollte die LED-Farbe nicht stimmen, musst du die 12 durch die 13 und die 13 durch die 12 ersetzen.

Das fertige CO2-AMpel Projekt.
Das fertige CO2-Ampel Projekt.

Nun muss nur noch das System in ein Gehäuse eingebaut und der Sensor kalibriert werden.

So baust du die Komponenten der CO2-Ampel in ein Gehäuse ein

Jetzt geht es noch daran, die Konstruktion in das Gehäuse einzubauen. Dazu musst du zunächst für die LED ein 5 mm großes Loch in den oberen Deckel bohren. Anschließend schleifst du dieses leicht ab, damit die Bohrreste verschwinden. Mit dem 3-mm-Bohrer machst du auf der einen unteren Seite mehrere kleine Löcher für den Micro-USB-Anschluss des D1 Mini. Hier sollte man gut schätzen können, damit man die richtige Höhe findet. Danach schleifst du wieder ab. Im unteren Teil auf der anderen Seite sägst du jetzt noch den weißen Teil zurecht. Nutze den MH-Z19 Sensor, um ungefähr einschätzen zu können, wo du sägen musst. Nach dem Einsägen kannst du den Rest vorsichtig rausbrechen. Im Anschluss wieder etwas schleifen. Wenn das erledigt ist, kannst du jetzt alles mit der Heißklebepistole einkleben. Achte darauf, dass sich keine Bauteile an den jeweiligen Enden berühren. Jetzt musst du das Ganze nur noch zusammenschrauben.

CO2-Ampel Gehäuse
Alle Bauteile sind nun im Gehäuse untergebracht.

So kalibrierst du den MH-Z19

Zum Schluss muss noch der Sensor deiner CO2-Ampel kalibriert werden. Hierbei gibt es drei Varianten:

Variante 1 (Auto-Kalibrierung)

Hänge den Sensor für 20 Minuten an die frische Luft (nicht bei Hagel oder Regen und nicht bei weniger als -10 Grad). Der Sensor kalibriert sich alle 24 Stunden mit dem niedrigsten gemessenen Wert. Dabei greift er auf die Werte der letzten 6 Wochen zurück. Empfohlen wird, ihn alle 4 Wochen neu zu Kalibrieren.

Variante 2 (Software-Kalibrierung)

Weiter oben findest du unter dem Punkt „Variante 1 mit Arduino IDE“ die benötigte Library. Wenn diese in Arduino IDE eingebunden ist, findest du unter „Datei“ -> „Beispiele“ -> „MH-Z19“ -> „Calibration“ den Sketch dafür. Hier musst du nur die richtigen RX_PIN (5)/TX_PIN (4) eingeben und den Sketch auf den D1 Mini spielen. Anschließend hängst du die Konstruktion für mindestens 20 Minuten an die frische Luft. Das Prozedere sollte alle 6 Monate wiederholt werden.

Variante 3 (Hardware-Kalibrierung)

Hänge den Sensor für 20 Minuten an die frische Luft. Danach muss der HD-Pin des Sensors für 7 Sekunden auf LOW gestellt werden, z. B. mithilfe eines Schalters. Das Prozedere sollte alle 6 Monate wiederholt werden.

Bei Variante 2 und 3 muss die Auto-Kalibrierung deaktiviert werden.

In Sketch – also über die Arduino IDE – wird dies über den Befehl autoCalibration(false) veranlasst. Den entsprechenden Bereich findest du in ESP Easy in den Einstellungen unter dem Punkt „Auto Base Calibration“. Zum Deaktivieren musst du hier auf „ABC disabled“ und danach auf „Submit“ klicken.

Ich für meinen Teil verwende Variante 1, da ich bei Variante 2 ESP Easy entfernen müsste, um den Sketch nutzen zu können. Bei Variante 3 ist mir der Aufwand, das Gehäuse jedes Mal zu öffnen, zu groß.

Herzlichen Glückwunsch, deine CO2-Ampel ist nun fertig!

Das war auch schon alles zur CO2-Ampel – ich wünsche dir gutes Gelingen! Über Kommentare und gute Bewertungen würde ich mich freuen.

Alle benötigten Teile findest du auch noch einmal hier!

Maik vom BerryBase-Team

Schlagwörter: Arduino IDED1 MiniESP8266Tutorial
TeilenTeilenTwittern
Vorheriger Beitrag

Erste Schritte mit dem Raspberry Pi Pico

Nächster Beitrag

Der ultimative Raspberry Pi Gehäuse Guide / Part 1

Maik Rygiel

Maik Rygiel

ÄhnlicheArtikel

Der Raspberry Pi Imager und seine Tücken
Allgemein

Der Raspberry Pi Imager und seine Tücken

11. Juni 2026
MQTT in der Praxis: Ein Beispiel für die Heimautomation
Guides

MQTT in der Praxis: Ein Beispiel für die Heimautomation

9. April 2026
Welche Sensoren gibt es für Arduino? Dein umfassender Leitfaden
Arduino

Welche Sensoren gibt es für Arduino? Dein umfassender Leitfaden

18. September 2024
Cloudflare Zero Trust einrichten: SSO mit Google OAuth für Homelabs
Software / Programmierung

Cloudflare Zero Trust einrichten: SSO mit Google OAuth für Homelabs

22. August 2024
Nächster Beitrag

Der ultimative Raspberry Pi Gehäuse Guide / Part 1

Kommentare 14

  1. Marc Katscherowski says:
    vor 5 Jahren

    Hallo BerryBase-TEAM,

    ich finde die Anleitung klasse und überlege das nachzubauen.

    Ich würde mich freuen, wenn man den Code noch erweitern würde und die Daten an Thinkspeak übergeben könnte.
    Eine weitere Idee wäre anstatt “roter” und “grüner” LED Euren WS2812B RGB LED Shield (Eure Artikel-Nr.: D1-1LES ) einsetzt und eine dritte Stufe “grün, gelb, rot” festlegt und wenn der festgelegte Höchstwert überschritten ist soll die “rote” LED blinken.

    Ich bin leider nicht in der Lage den Code entsprechend umzustellen und hoffe es findet anklang und erweitert diesen bzw. postet es in den Kommentaren.

    Vielen Dank
    Katsche

    Antworten
  2. Maik Rygiel says:
    vor 5 Jahren

    Hallo Katsche,

    vielen Dank, für deine positive Rückmeldung und die damit verbundenen Anregungen.
    Gerne gebe ich dir hiermit ein paar Anhaltspunkte um Thingspeak und das RGB LED Shield in das Projekt zu integrieren. Der einfachheitshalber würde ich das aber nur mit dem ESP Easy Ansatz umsetzten.

    Thingspeak kannst du direkt im ESP Easy Web Interface unter dem Menüpunkt Controller hinzufügen:
    Locate Controller: Use Hostname
    Controller Hostname: api.thingspeak.com
    Controller Port: 80
    Minimum Send Interval: 15000
    Check Reply: Check Acknowledgement
    API Key: Findest du unter API Key den Write API Key
    Enabled: Häkchen rein machen

    Anschließend kannst du deine Werte auf Thingspeak überwachen und dein Channel müsste umgefähr so (https://thingspeak.com/channels/1323215) aussehen.

    Um die RG LED für das RGB Shield auszutauschen, empfehle ich folgende herangehensweise:
    Im Produktionsumfeld, macht es Sinn die benötigten Kontakte direkt mittels Kabel mit dem D1 Mini zu verbinden, anstatt erst die Pins anzulöten.
    Versorge also zuerst neben dem CO2 Sensor auch das Shield mit GND und VCC (bei USB Stromversorgung 5V oder 3.3V). Als nächstes verbindest du Pin D7 des D1 Minis mit D2 des Shields.

    In ESP Easy gehst du unter Devices -> Add und wählst dort: Output – NeoPixel (Basic):
    Name: led
    Enabled: Häkchen rein
    Led Count: 1
    GPIO: GPIO-13 (D7)
    Strip Type: GRB

    Schließlich änderst du noch im Reiter “Rules” das Script:

    On CO2Sensor#PPM=0 do
    NeoPixel,1,0,0,0
    endon

    On CO2Sensor#PPM>0 do
    if [CO2Sensor#PPM]<800
    NeoPixel,1,0,204,0
    endif

    if [CO2Sensor#PPM]>800 AND [CO2Sensor#PPM]<1200
    NeoPixel,1,255,153,0
    endif

    if [CO2Sensor#PPM]>1200
    NeoPixel,1,255,0,0
    endif
    endon

    Jetzt müsste die LED wie gewünscht leuchten und die Daten auf Thingspeak verfügbar sein.

    Gruß Maik

    Antworten
    • Marc says:
      vor 5 Jahren

      Hallo Maik,

      ich habe mich für deine erste Variante entschieden und habe ein Problem das ich trotz mehrmaliges probieren nicht gelöst bekomme.
      Ich habe den Wemos D1 mini entsprechend deiner Anleitung mit allen Komponenten verbunden und erhalte auch Werte im Serial Monitor jedoch bei Werten unter 1500 ppm schaltet die LED des KY-011 nicht auf “grün”, sondern leuchtet gar nicht, bei Werten über 1500 ppm leuchtet die LED “rot”.

      Ich habe schon die Kabelverbindungen geprüft und umgesteckt bzw. im Sketch geändert jedoch immer das gleiche, die “grüne” LED leuchtet nicht.

      Was könnte ich noch probieren oder woran könnte es liegen (Kabelverbindung oder Sketch)?

      Antworten
      • Maik Rygiel says:
        vor 5 Jahren

        Hallo Marc,
        schön das grundsätzlich alles funktioniert wie es soll, zu deinem Problem mit der LED:

        Insofern du den Sketch komplett von meinem Beispiel übernommen hast, würde ich diesen als Fehlerquelle erstmal ausschließen.
        Ich würde dir empfehlen, die beiden Kabel am KY-011 für Rot und Grün zu tauschen und damit zu testen, ob die LED nun grün leuchtet. Wenn dies der Fall ist, liegt der Fehler höchstwahrscheinlich an der Verkabelung, das heißt nochmal nachlöten oder gegebenenfalls das Kabel austauschen.
        Ansonsten könntest du das Kabel noch an einem anderen Pin testen, wobei diesen natürlich im Sketch abändern müsstest.

        Hoffentlich bekommst du das Problem gelöst.
        Gruß Maik

        Antworten
  3. Eberhard Neef says:
    vor 5 Jahren

    Hallo Berrybase-Team,

    Beschreibung und Anleitung sind sehr gut, externe Stromversorgung zum Testen unabhängig vom Rechner fehlt allerdings. Kann man das Gehäuse E-G02B verwenden? Das heißt, ist das Gehäuse so vorbereitet, dass nur noch die Anbindung des D1 Mini erfolgen muss, natürlich Akku eingesteckt werden müssen und genügend Platz für die angegebene Hardware ist?

    Vielen Dank im voraus

    Antworten
  4. Klaus Baumann says:
    vor 5 Jahren

    Hi, schönes, kleines Projekt 😉
    wäre klasse, wenn ein hochwertiger Sensor (SCT30) und eine Anzeige über OLED integriert wäre…

    Antworten
  5. Klaus Baumann says:
    vor 5 Jahren

    Hi, schönes, kleines Projekt 😉
    wäre klasse, wenn ein hochwertiger Sensor (SCT30) und eine Anzeige über OLED integriert wäre…

    Antworten
  6. Leonidas says:
    vor 3 Jahren

    Moin, schnell mal eben mit D1 mini und MH-Z19C zusammengestöpselt, Arduino-IDE benutzt und läuft. 🙂
    Vielen Dank!

    Antworten
  7. Max Grosse says:
    vor 3 Jahren

    Hallo Maik,

    Dankeschön für die tolle Anleitung. Ich habe zwei Fragen zum gekauften MH-Z19C Sensor.

    * Lt. Spezifikation wird für den MH-Z19C eine Versorgungsspannung von 5 V DC (±0,1V) benötigt, der 5V Pin des D1 mini liefert ohne Last jedoch nur 4.7V. Ist dies ein Problem?
    * Ist die Funktionsweise des MH-Z19C korrekt, obwohl dieser alle 2 Sekunden “rot” leuchtet, in denke somit alle 2 Sekunden eine Messung macht?

    Danke und viele Grüße

    Max

    Antworten
  8. Berd says:
    vor 2 Jahren

    YOLO

    Antworten

Schreibe einen Kommentar Antwort abbrechen

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

News

Der Raspberry Pi Imager und seine Tücken
Allgemein

Der Raspberry Pi Imager und seine Tücken

11. Juni 2026
Raspberry Pi 5 NAS mit Radxa Penta SATA HAT und OpenMediaVault 8 – Nachfolger zum Argon EON Pi NAS
Raspberry Pi

Raspberry Pi 5 NAS mit Radxa Penta SATA HAT und OpenMediaVault 8 – Nachfolger zum Argon EON Pi NAS

19. Juni 2026
Arduino UNO Q – Eine Konkurrenz zum Raspberry Pi?
Allgemein

Arduino UNO Q – Eine Konkurrenz zum Raspberry Pi?

8. Juli 2026
Pixeljäger: Microcontroller-Spiel zum Nachbauen
Allgemein

Pixeljäger: Microcontroller-Spiel zum Nachbauen

23. April 2026
OpenClaw – Der KI-Agent für dein Zuhause
Allgemein

OpenClaw – Der KI-Agent für dein Zuhause

10. April 2026
Redmine mit Docker installieren und einrichten –                    Einstieg ins Projektmanagement
How To

Redmine mit Docker installieren und einrichten – Einstieg ins Projektmanagement

9. April 2026
  • NAS mit einem Raspberry Pi bauen – Eine Anleitung

    NAS mit einem Raspberry Pi bauen – Eine Anleitung

    1 teilen
    Teilen 0 Twittern 0
  • OpenMediaVault auf Raspberry Pi installieren: Tutorial

    0 teilen
    Teilen 0 Twittern 0
  • Raspberry Pi 5 mit M.2 HAT+ und SSD zusammenbauen und einrichten – Guide

    0 teilen
    Teilen 0 Twittern 0
  • Die Top 10 Smart Home Software im Vergleich

    0 teilen
    Teilen 0 Twittern 0
  • Raspberry Pi Betriebssysteme im Vergleich

    0 teilen
    Teilen 0 Twittern 0

Shop-Service

  • Berrys lohnen sich
  • Produktvorschlag
  • Jobs

Information

  • Impressum
  • AGB
  • Cookie-Richtlinie (EU)
  • Kontakt
BerryBase Blog

BerryBase GmbH
Am Studio 20D
12489 Berlin
blog@berrybase.de

© 2025 BerryBase

Keine Ergebnisse
Alle Ergebnisse anzeigen
  • Shop
  • Raspberry Pi
  • Projekte
    • Audio / Sound
    • Display
    • Fun
    • IoT / Smart Tech
    • Kamera
    • LED
    • Luft / Wetter
    • Software
  • Themen
    • Raspberry Pi
    • Arduino
    • ESP
    • Sensoren & Aktoren
    • IoT
    • Hausautomation
  • Kaufberatung
    • Produkte
  • How To
    • Guides
    • Wissensdatenbank
    • Software / Programmierung
  • News

© 2025 BerryBase

Zur mobilen Version gehen