In Zeiten der SARS-CoV-2 / Coronavirus-Pandemie (siehe auch meine Corona-Datenauswertungen) ist häufiges Lüften wichtig um die Übertragung über Aerosole zu unterbinden. Dies gilt insbesondere für Schulen, Kindergärten und Kinderkrippen/KiTas. Ein guter Indikator dafür, dass es Zeit um Lüften ist, ist die CO2 Konzentration in der Luft, wobei ein Wert von 400ppm die Baseline und ein Wert von 1000ppm ein guter Grund zum Lüften ist. Um einen kleinen Beitrag zu leisten, habe ich eine CO2 Ampel entworfen und unserer Schule und KiTa gespendet. Nachbauten ausdrücklich erwünscht.
- CO2 Konzentration wird periodisch (zB alle 15s) gemessen
- Angezeigt via
- als Zahl in ppm
- über eine LED, die von Grün über Blau nach Rot die Farbe (und die Helligkeit) wechselt
- V2: als Zeitverlauf über ein Balkendiagramm mit 2h in die Vergangenheit
- optional: via WiFi, InfluxDB und Grafana exportiert und visualisiert
Ich freue mich über Nachbauten, Feedback und Verbesserungsvorschläge, zB über dieses Kontaktformular.
Genug der Einleitung, kommen wir nun zur Bauanleitung.
Komponente | Preis |
---|---|
Microcontroller ESP32 | 6 € |
CO2 Sensor MH-Z19B | 15-25 € |
4 digit display | 1,60 € |
LED RGB | 1,20 € |
optional OLED (128x64) display | 3,60 € |
Kabel mit Stecker | 0,50 € |
optional Hälfte von Breadboard | 1 € |
SUMME | ca 15 € + MH-Z19B = 30-40€ |
Alle Preise bei Mengenrabatt durch Bestellung von je 5 Stück. Ich habe durch einen Mengenrabatt einen kleinen Vorrat an CO2 Sensoren erworben und biete gerne an diese weiterzugeben.
Da ich ungerne löte, bevorzuge ich es den ESP32 auf ein Breadboard zu stecken und die anderen Komponenten nur einseitig an ein Kabel mit Stecker zu löten. Dazu schneide ich die oben verlinkten Kabel in der Mitte durch um 10cm Kabel mit Stecker auf einer Seite zu bekommen. Als Breadboard empfehle ich das oben verlinkte zu verwenden und dies in der Mitte längs und auf Länge des ESP32 durchzusägen um die die Pins nicht durch den ESP32 zu verdecken.
ESP32 | MH-Z19 |
---|---|
5V | UIn (weiß) |
GND | GND (schwarz) |
G16 (RX) | TX (grau) |
G17 (TX) | RX (lila) |
ESP32 | 4 digit display |
---|---|
3.3V | VCC (lila / weiß) |
GND | GND (blau / schwarz) |
G32 | CLK (weiß / lila) |
G33 | DIO (grau / grau) |
ESP32 | RGB LED KY-016 |
---|---|
GND | GND |
5 | R |
18 | G |
19 | B |
ESP32 | OLED 0.96" 128x64px |
---|---|
GND | GND |
3.3V | VCC |
G22 | SCK |
G21 | SDA |
- 2D Zeichnungsentwurf siehe hier
- TODO: upload 3D Zeichnung von B.T.
- 8mm Stärke passt gut zur Dicke des 4-digit-Displays und MH-Z19B CO2 Sensors (für dessen Sensor unten etwas aussparen)
- Arduino IDE installieren
- ESP32 für Adruino IDE installieren, wichtig dabei der Hinweis, dass die URL der JSON in dem Artikel nicht mehr aktuell ist, sondern diese hier, Quelle
- optional Visual Studio Code als Editor einrichten
- folgende Libs installieren
- MH-Z19 by Jonathan Dempsey
- Adafruit BME280 Library
- BH1750 by Christopher Laws
- InfluxDbClient by Influx Data
- U8g2 by oliver
- TM1637 by Avishay Orpaz
- ESP32 AnalogWrite by ERROPiX
- Meine Library manuell hinzufügen
- Meinen Arduino Code herunterladen
- Dort in der device_setup.h die verwendeten Komponenten und gewünschte Messfrequenz auswählen
- kompilieren & Daumen drücken
Wer gerne bastelt und lötet, aber keine Erfahrung mit der Arduino Programmierung hat und auch keine Lust hat in das Gebiet abzutauchen, dem biete ich gerne an die Software auf seinen Microcontroller EPS32 einzuspielen.
- für die Unterstützung beim Coding an Ingmar und Gerhard
- für das 3D-Zeichnen und Zuschneiden des Gehäuses für unsere Schule an Bastian
V1.2: Massenproduktion mit 2h-Zeitverlauf als Bar-Chart via OLED Display
V0.5 Prototyp für unseren Kindergarten