DIY Luftqualitäts-Monitor: PM2.5, CO2, VOC, Ozon, Temp & Feuchte mit Arduino
Haben Sie sich je gefragt, wie gut die Luft ist, die Sie atmen? Oder warum Sie im Büro müde werden oder morgens trotz ausreichend Schlaf erschöpft sind? Schlechte Luftqualität verursacht Gesundheitsprobleme, Müdigkeit, Kopfschmerzen, Konzentrationsverlust, erhöhten Puls. Luftqualitäts-Monitoring ist wichtiger, als man denkt. In diesem Tutorial bauen wir unseren eigenen Luftqualitäts-Monitor für PM2.5, CO2, VOC, Ozon, Temperatur & Luftfeuchte. Video ansehen oder schriftliche Anleitung unten lesen. Ich erkläre, wie jeder Parameter uns beeinflusst und wie die Sensoren funktionieren. Herzstück: Arduino Pro Mini + 2,8″ Nextion Touch-Display für gute Benutzeroberfläche. Echtzeit-Messwerte aller Sensoren. Klick auf Sensor → letzte 24 h Verlauf. Dim-Funktion: Display-Helligkeit reduzieren oder ganz ausschalten – praktisch für Schlafzimmer-Nachtmessung. Nachts Display aus, morgens Einzelwerte prüfen. Nun der komplette Bauprozess. Am Ende können Sie selbst einen bauen. Los geht's. Vier Hauptsensoren. PMS5003 misst PM2.5 (Feinstaub ~2,5 µm). Partikel = schädlichste Luftverschmutzung: dringen tief in Lunge, Blut, Gehirn ein. Funktionsprinzip: Laserstreuung. Lüfter erzeugt definierten Luftstrom → Partikel durch fokussierten Laserstrahl. Partikel streuen Licht → Photodiode detektiert → Mikroprozessor rechnet PM-Konzentration aus. Ergebnisse zuverlässig, liefert auch PM1 & PM10. MH-Z19 misst CO2. Menschen atmen CO2 aus → Innenraumkonzentration steigt schnell. Hohe CO2-Werte: gefährlich, verursachen Schläfrigkeit, Müdigkeit, Produktivitätsverlust. Prinzip: Nicht-dispersive Infrarot-Spektroskopie (NDIR). IR-Quelle strahlt durch Messrohr (Luftprobe). Gegenüber: Optischer Filter + IR-Detektor misst durchgelassenes IR-Licht. CO2-Moleküle absorbieren spezifisches IR-Band, lassen andere Wellenlängen passieren. CO2-Gehalt = Differenz emittiertes vs. detektiertes IR-Licht. Ergebnisse präzise. MP503 (VOC) & MQ-131 (Ozon) = beheizte Metalloxid-Sensoren. Prinzip: Widerstandsänderung bei Zielgas-Präsenz. Spezifischer Strom durch Metallsubstrat → Widerstand ändert sich proportional zu Gaskonzentration. MQ-131 Zielgas: Ozon. Haushaltsquellen: bestimmte Luftreiniger, Gesichtsbedampfer, UV-Keimtötungslampen. MP503: Multiple Zielgase (Alkohol, Rauch, Isobutan, Formaldehyd u. a.). VOC = flüchtige organische Verbindungen aus Alltagsprodukten: Waschmittel, Reiniger, Lufterfrischer, Farbe, Make-up etc. Wirkungen: Kopfschmerzen, Augenreizung, Hautreaktionen, Schwindel. Schaltplan & Verkabelung: Komponenten: Hinweis: Affiliate-Links. Als Amazon-Partner verdiene ich an qualifizierten Käufen. Richtige Widerstandswerte: R1=1k, R2=2k, R6=100k oder 1M, R7=1k PM2.5-Sensor: Seriell an Arduino, 5 V Betrieb, RX-Logik 3,3 V → Spannungsteiler nötig. CO2-Sensor & Nextion-Display: ebenfalls seriell. VOC & Ozon: Analog-Eingänge. DHT22: Digitaler Pin. Zwei Transistoren schalten Sensor-Heizungen. DS3231 RTC (I2C) für Zeitstempel bei Datenspeicherung. Stromversorgung: 5 V via Mini-USB. Siehe auch: Die 8 besten Arduino Starter Kits [2021 Update] Alles zusammenstecken → Kabelsalat. → PCB zwingend nötig. PCB-Design mit Altium Designer (Video-Sponsor). Altium Designer = jahrzehntelange Innovation für einheitliche Design-Umgebung. Balance aus Power & Benutzerfreundlichkeit → meistgenutzte PCB-Design-Lösung. Design-Prozess in Altium: Schema erstellen. Eingebaute Bibliotheken + Hersteller-Teilesuche (bequem). Beispiel: Mini-USB-Buchse per Manufacturer Part Search gefunden – Zugriff auf 3D-Modelle, Footprints, Datenblätter. Eigene Komponentenbibliotheken möglich. Ich erstellte die meisten selbst für eigene 3D-Footprints → komplettes PCB in 3D. 3D-Modelle für Footprints: beliebiges CAD → .STEP → Altium importieren. Schema fertig → PCB generieren. Bauteile platzieren, Auto-Route → alle Leiterzüge automatisch. Manuelle Nachbearbeitung möglich. Design Rules für Auto-Router, verschiedene Breiten pro Net etc. 3D-Ansicht & Export für Gehäuse-Design. Danke an Altium für Sponsoring. Mehr Infos & Testen: Altium Designer Free Trial – https://www.altium.com/yt/howtomechatronics Altium-Projektdateien (Projekt, Libraries, .STEP-Dateien): PCB Gerber-Datei: Gerber & NC-Drill als ZIP → PCB-Fertigung beauftragen. Bei JLCPCB: ZIP per Drag & Drop, visuelle Prüfung, Eigenschaften wählen, günstig bestellen. PCBs angekommen, Top-Qualität, exakt wie Design. Bestückung: Kleine Teile zuerst (Widerstände, 2 Transistoren). Arduino Pro Mini einlöten. Zuerst Pinheader anlöten. Nicht alle Pins nötig, aber A4, A5, DTR nicht vergessen! Exakt dieses Pro Mini-Layout verwenden (Pinout variiert manchmal). DHT22 einlöten: Pins 90° abwinkeln. Blu-Tack hilft beim Fixieren beim Löten. Zwei Kondensatoren für Spannungsstabilisierung. Stromversorgung via Mini-USB (5 V). Rechts neben Stromanschluss: zwei Schalter. Einer = Ein/Aus, zweiter = Upload-Modus für Arduino-Programmierung. Dann Pinheader für USB-UART, Display, PM2.5, VOC, Ozon, CO2 einlöten. DS3231 RTC: Pins 90° abwinkeln, einlöten. Pufferbatterie einlegen (Zeit bei Stromausfall). PCB fertig – Kabel für PM2.5 & Display konfektionieren. PM2.5-Kabel: mitgeliefertes Kabel + Male-Pinheader angelötet → Steckverbindung. Display: 4 Drähte an Rückseite des Display-Steckers gelötet → PCB. Luftqualitäts-Monitor hardwaremäßig fertig. Fehlt: Gehäuse. 3D-Modell der PCB-Assembly aus Altium → CAD importieren → Gehäuse designen. Ich nutzte SOLIDWORKS: Minimalistisches Gehäuse, 2 Teile + wenige Schrauben. Material: transparentes Acryl (4 mm) – PCB & Bauteile sichtbar, toll für DIY-Präsentation. 3D-Modell auf Thangs herunterladen/erkunden: Download bei Thangs. 4 mm Acryl passt perfekt zum Display. Ohne CNC: manuell mit Metallsäge zuschneiden. Display-Ausschnitt: 2 Bohrungen, Mini-Metallsägeblatt durchführen, Form aussägen. Feile für Glättung. 3-mm-Bohrer für alle Befestigungslöcher (PCB & Plattenverbindung). Schutzfolie abziehen (befriedigend!). PCB auf Bodenplatte: M3-Schrauben/Muttern. PM2.5-Sensor: M2-Schrauben. Distanzhülsen (je 1 weiblich + 1 männlich) verbinden beide Platten auf gewünschten Abstand. Gehäuse gefällt mir: funktional (Luftzirkulation um Sensoren), schick. Gerät per Mini-USB mit 5 V versorgen (USB-Netzteil, Ladegerät, Powerbank). Arduino Pro Mini programmieren: USB-Serial-Adapter an Programmierheader. Wichtig: Erst Hauptstrom EIN, dann USB-Adapter an PC – PC-USB liefert nur 500 mA, evtl. zu wenig. Upload-Schalter auf PCB umschalten. Arduino-Code & Nextion-Display-Programm herunterladen: Arduino IDE: Board „Arduino Pro Mini“, korrekten Prozessor (3,3 V/8 MHz oder 5 V/16 MHz), Port, Programmer „USBasp“ wählen. Code hochladen. Dann Nextion-Display programmieren. Nextion hat eigenen ARM-Controller – Grafik (Buttons, Text, Bilder, Variablen) läuft autonom auf Display. Nextion Editor für UI-Erstellung. Arduino ↔ Display: 2 Drähte (Hardware-Serial). Arduino sendet Sensorwerte → Display, Display sendet Daten → Arduino (bei Bedarf). Display-Programm hochladen: microSD-Karte mit .TFT-Datei (Nextion Editor Output). Karte bei ausgemachtem Gerät einstecken, einschalten → Upload läuft automatisch. Karte entfernen, wieder einschalten → Monitor läuft. Libraries pro Sensor (Links: MHZ19, PMS, MQ131, DHT, DS3231). Docs & Examples lesen für Verständnis. Arduino liest Sensoren, sendet Daten an Nextion. Beispiel: Nextion-Variable „tempV“: Update via Kommando Nextion-Programm: Timer (Loop-ähnlich) aktualisiert Display-Werte zyklisch. Timer-Event: Hintergrundfarbe pro Sensor je nach Wert ändern. Seite 2: Wellenform (Verlauf 24 h) – Werte vom Arduino. Stunden & Y-Achse ebenfalls vom Arduino. Transparenten „Hotspots“ (Buttons) über Werten/Welle: Klick → Event → Seitenwechsel (z. B. „page 0“). Gesamtfunktionsweise verstanden → Sensor-Libraries & Nextion-Grundlagen lernen. Hinweis VOC: Nur Rohwerte (0–1024 Analog), keine ppm/ppb. Höher = VOC-Präsenz. Hinweis Ozon: Für Genauigkeit Hoffe, Video hat gefallen & was Neues vermittelt. Support auf Patreon willkommen. Fragen in Kommentaren, Arduino-Projekte-Sammlung anschauen.Überblick


Der PM2.5-Sensor – PMS5003


Der CO2-Sensor – MH-Z19


VOC- & Ozon-Sensoren – MP503 und MQ-131


Schaltplan: DIY Arduino Luftqualitäts-Monitor


PCB für Arduino Luftqualitäts-Monitor erstellen




Altium 365 Viewer: https://www.altium.com/viewer

PCB bestücken






Gehäuse für Luftqualitäts-Monitor bauen




Programmierung





Code-Erklärung
SoftwareSerial Library: MH-Z19 & PMS5003 nutzen serielle Kommunikation. Arduino ↔ Nextion: Hardware-Serial (Default).
Serial.print("tempV.val="); Serial.print(temp); Serial.write(0xff); Serial.write(0xff); Serial.write(0xff);tempV.val=22 (Variablenname + .val + Wert). Drei 0xFF Bytes als Befehlsende nötig.

setTimeToRead() & setR0() per Kalibrierbeispiel setzen. Längere Messzeit blockiert Programm. Workarounds möglich, aber Ozon-Sensor eher weglassen, wenn nicht zwingend nötig.
Herstellungsprozess
- Raspberry Pi Luftqualitäts- & Wetterstation mit InfluxDB & Grafana bauen
- Luftqualität messen mit OpenSensors: Arduino & Python Anleitung
- Helium-basierter solarbetriebener Luftqualitätssensor: Design- und Deployments-Guide
- Monitor-Ambilight selbst bauen mit Arduino Nano & WS2812B LEDs
- K30 CO₂-Sensor: Echtzeit-Luftqualitätsmessung mit Arduino
- Intelligentes Voltmeter mit Arduino & Smartphone bauen – Einfaches DIY-Projekt
- Echtzeit-IoT-Herzfrequenzmonitor mit Arduino & MAX30100
- Arduino Temperaturoverwachung & Echtzeituhr mit 3,2″ TFT-Display
- DIY VR-Skateboard mit Arduino, Google Cardboard und Bluetooth bauen
- Präzisen Luftqualitäts-Monitor mit Sharp GP2Y1010AU0F Sensor bauen