Ich habe schon verschiedene Projekte umgesetzt und jetzt folgt eine selbst gebaute CO2 Ampel. Es gibt bereits viele Bauanleitung im Netz und ich hoffe mit meiner Schritt für Schritt Anleitung den Bau der Ampel für jeden zu ermöglichen der Interesse an Elektronik hat. Ausschlaggeben für mich war mit dieser Bauanleitung die Kosten für eine gut funktionieren CO2 Ampel weiter zu senken und vor allem beim Programmieren der Ampel ein paar weiterführende Einblicke zu geben wie z. B. der CO2 Sensor kalibriert werden kann. Da der Spaß an diesem Projekt im Vordergrund stehen soll habe ich einige Bilder und Zeichnungen angefertigt die genau beschreiben wie die einzelnen Komponenten zusammengebaut und angeschlossen werden.
Los geht mit der Komponentenliste um exakt die nachfolgende CO2 Ampel selber zu bauen ohne viel Geld ausgeben zu müssen.
Komponentenliste
Die Links der folgenden Komponentenliste verweisen unteranderem auf den Amazon Web-Shop und sind somit Affiliate Links. Teilweise wird aber auch auf Elektronikhändler verwiesen die die notwendigen Sensoren die aktuell schnell vergriffen sind führen.
ESP8266 NodeMCU
Das Gehirn der CO2 Ampel samt WIFI Modul ist der ESP8266 NodeMCU. Dank seinem niedrigen Preis und vielen Anschlussmöglichkeiten ist er ideal für dieses Projekt. Sollen die gemessenen Daten auch noch via Web-Tools ausgewertet werden kann die CO2 Ampel dank dem WIFI Modul des ESP8266 zusätzlich in das lokale WIFI eingebunden werden.
Sensirion SCD30 – CO2 / Kohlendioxid Sensor
Den Sensirion SCD30 CO2 Sensor käuflich erwerben zu können ist aktuell gar nicht so leicht da die Nachfrage sehr groß ist. Er ist somit häufig vergriffen und ich habe meinen bei Watterott bestellt einem Händler den ich seit Jahren sehr schätze.
https://shop.watterott.com/Sensirion-SCD30-CO2-Kohlendioxid-Sensor
OLED Display
Mit diesem günstigen SSD1306 OLED Display können die gemessenen CO2 Werte, die Luftfeuchte und Temperatur auf dem Display ausgegeben werden. So bekommt man einen besseren Eindruck wie gut die Luft noch ist. Aber mit dem NeoPixel Ring würde sich auch eine Abstufung realisieren lassen.
Adafruit NeoPixel Ring – 12 Pixel RGB LED
Ich habe mir einen Neo Pixel Ring mit 12 Pixeln gekauft um eine bessere und vor allem hellere Darstellung der Luftqualität im Raum zu erreichen. Auch mit das Programmieren und ausprobieren mit den Neo Pixel Ring viel Freude.
Jumper Kabel
Um alles gut verkabeln zu können empfiehlt es sich immer solch ein Jumper-Kabel Set in der Werkstatt zu haben. So sind die Verbindungen schnell gemacht. Wenn alles funktioniter dann verklebe ich die Stecker immer mit etwas Kleber aus der Heissklebepistole.
Stiftleiste
Für den Bau des I2C Hubs um den CO2 Sensor und das OLED Display anschließen zu können werden vier 8x Stiftleisten benötigt. Diese kann man aus z. B. einer 40er Stiftleisten bauen. Wie genau der I2C Hub gebaut werden kann erkläre ich weiter unten.
Streifenrasterplatine
Auf die Streifenrasterplatine werden dann die vier Stiftleisten aufgelötet und bilden so den I2C Hub. Wie genau der I2C Hub gebaut werden kann erkläre ich weiter unten.
Abstandshalter
Für die Befestigung der elektronischen Komponenten wie das OLED Display eignen sich diese kleinen Abstandshalter aus Messing sehr gut. Mit der hier angebotenen Box steht einem eine große Auswahl von unterschiedlichen Längen zur Verfügung.
LED Anzeige RGB (optional)
Wenn kein Neo Pixel Ring zum Einsatz kommen soll können auch einfache LEDs verwendet werden für die farbliche Anzeige (Rot, Gelb und Grün) der Luftqualität im Raum. Hier bietet es sich an ein LED Set zu kauen wenn man vor hat etwas mehr zu basteln anstatt die LEDs einzeln zu bestellen..
Damit die LEDs am ESP8266 NodeMCU angeschlossen werden können benötigt ihr noch Vorwiderstände damit die Spannung nicht zu hoch ist und die LED beschädigt wird. Pro LED wir jeweils ein Vorwiderstand benötigt. Dieser hat in der Regel zwischen 220 Ohm kann aber auch direkt berechnet werden je nach LED die verwendet wird. Entsprechende Rechner finden sich z. B. über die Google Suche im Internet.
Zusammenbau der CO2 Ampel
Wie zu Beginn des Beitrages geschrieben werde ich Schritt für Schritt den Zusammenbau der CO2 Ampel aus einzelnen Komponenten beschreiben. Denn meine Überzeugung ist so lernt man am besten die Technik dahinter verstehen und kann sich bei Problemen am besten selber helfen.
I2C Hub
Der Sensirion SCD30 CO2 Sensor und das SSD1306 OLED Display verfügen beide über den I2C und werden mit diesem am ESP8266 NodeMCU angeschlossen. Da derESP8266 NodeMCU aber nur einen Anschluss für ein Gerät hat brauchen wir einen I2C Hub. Diese kann man fertig kaufen oder einfach für wenig Geld selber bauen. Wie solch ein I2C Hub selber gebaut werden kann habe ich auf meinem Roboter Blog www.custom-build-robots.com bereits ausführlich beschrieben.
Hinweis: I²C Hub selber bauen
Verkabelung des I2C Bus
Nachfolgend erkläre ich wie der I2C Hub, der CO2 Sensor und das OLED Display am ESP8266 NodeMCU angeschlossen werden. Dazu wird der I2C Hub benötigt und 12 Female-to-Female Jumper Kabel.
Hinweis: Wichtig wäre jetzt wenn schon klar ist in welche Box oder Pappe der Aufbau der CO2 Ampel erfolgen soll.
Am besten in Ruhe die Verkabelung anschauen und dann loslegen. Das wichtigste ist, dass die Spannung 3,3V beträgt und nicht 5 V.
Auf dem nachfolgenden Bild ist die Verkabelung nicht komplett zu sehen aber rechts ganz gut der I2C Hub den ich mir selber gebaut hatte.
Neo Pixel Ring anschließen
Der Neo Pixel Ring wird mit 3,3V betrieben und mit drei Female-to-Female Jumper Kabel am ESP8266 NodeMCU direkt angeschlossen. Bei mir kommt die Steuerung für die Farbe über den Pin D8 des ESP8266.
ESP8266 NodeMCU | Neo Pixel Ring |
GND | GND |
3,3V | VIN |
D8 | DI |
Damit die Verkabelung etwas besser ersichtlich ist hier noch ein Bild wie der Neo Pixel Ring angeschlossen werden kann.
Das Bild zeigt den Neo Pixel Ring und den ESP8266 NodeMCU fertig verkabelt.
Jetzt sind alle Komponenten miteinander verkabelt und es kann mit dem Aufspielen des Programmes weiter gehen.
Software für die CO2 Ampel
Das Programm für die Steuerung der CO2 Ampel findet sich auf meinem GitHub Account. Es steuert den Neo Pixel Ring an, den CO2 Sensor und gibt auf dem OLED Display den gemessenen CO2 Wert aus, die Temperatur und die Luftfeuchte. Wenn ich etwas mehr Zeit habe werde ich hier noch etwas detaillierter auf das Programm eingehen und es etwas schöner beschreiben.
Dazu jetzt auf GitHub einfach das Programm herunter laden und auf den ESP8266 NodeMCU schreiben. Wie genau das geht und was alles vorbereitet werden muss habe ich auf meinem Blog Arduino Entwicklungsumgebung einrichten bereits beschrieben.
GitHub CO2 Ampel mit Neo Pixel Ring: CO2_Ampel_SCD30_NeoPixel_Ring_OLED_Display.ino
Zusammenfassung
Ich hoffe mit dieser kleinen Schritt für Schritt Anleitung den Bau einer eigenen CO2 Ampel gut beschrieben zu haben. Bei mir läuft diese schon seit mehreren Tagen an einer Power Bank ohne Probleme und zeigt mir in meinem kleinen Büro schön an wenn es Zeit ist zu lüften.
Meine Buchempfehlungen
Alle die jetzt mit dem Projekt starten und vielleicht etwas mehr rund um die Micro Controller Familie ESP und den Arduino erfahren möchten empfehle ich die beiden folgenden Bücher. Beide Bücher erklären auch sehr viel zum Thema Elektronik und wie diese am besten verbaut und angeschlossen wird. Auch wird jeweils auf die Programmierung eingegangen.
Das folgende Buch erklärt sehr gut die ESP32 Familie und viele davon kann auch auf den ESP8266 NodeMCU übertragen werden der in dem CO2 Ampel Projekt zum Einsatz kommt.
Wer ganz neu in die Welt des ESP8266 startet sei das folgende Buch empfohlen. Es bietet einen tollen Einstieg in die Welt der Arduino und Klone wie dem ESP8266 NodeMCU.
Ich habe mal eine kleine Box zu diesem Projekt designed 😉
https://www.thingiverse.com/thing:4725027
Sehr chick, danke! Leider zu groß für meinen 10x10x10-Printer. Habs jetzt auf ein Holzbrett geschraubt :).
Hallo
Ich bin auf dein tolles Projekt gestossen und wollte es soeben nachbauen! 🙂 Leider kommt beim Kompilieren immer folgende Fehlermeldung: “‘Dialog_bold_16’ was not declared in this scope” (Es betrifft die Zeilen 271, 273, 275 und 277)
Hast Du eine Idee, was ich falsch mache?
Wenn ich es hinkriege, werde ich die STL-Datei der Box auch gerne verlinken. 😉
Hallo,
klasse das Dir das Projekt gefällt.
Leider sagt mir die Fehlermeldung nichts. Kann es vielleicht sein, dass das falsche Board ausgewählt wurde für das der Scatch kompelliert wird?
Gerne kann ich mir den Link auf die STL-Datei anschauen und anschließend auch verlinker.
Maker
Hatte das gleiche Problem. Meine SSD1306-Library kannte den Font wohl nicht. Einfach die Zeilen mit “//” (ohne “”) auskommentieren. Alternativ hat bei mir das hier (als Ersatz) geklappt:
display.setFont(ArialMT_Plain_16);
Erst einmal vielen Dank für die Möglichkeit dieses klasse Projekt nachzubauen!
Ich muss dazu sagen, dass ich Anfänger bin und erhalte beim Kompilieren leider zwei Fehlermeldungen, mit denen ich nichts anfangen kann:
– SSD1306Wire.h: No such file or directory (finde auch nichts in der Bibliothek)
– ‘display’ was not declared in this scope
Könntest Du mir bitte sagen, woran es liegen könnte und wie ich diese Fehler beseitigen kann?
Klingt, als hättest du keine/die falsche Library für das OLED-Display installiert.
@ByteYourLife: Welche SSD1306-Library hast du denn verwendet? Gibts ja nen Dutzend verschiedene…