CO2-Messungen in Schulen haben im Verlauf der Covid-19-Pandemie an Bedeutung gewonnen, weshalb nebst kommerziellen Geräten unterdessen verschiedene Bauanleitungen zu Verfügung stehen. Der hier vorgestellte Lösungsansatz unterscheidet sich von anderen Geräten dadurch, dass er folgende Anforderungen erfüllt:
- Das Gerät soll die tatsächliche CO2-Konzentration einigermassen genau messen und diese nicht aus anderen Werten (z.B. dem Vorhandensein von Wasserstoff) ableiten.
- Die Messdaten sollen auf unterschiedliche Weise ausgewertet werden können: direkte Anzeige, grafischer Verlauf, weitere Auswertung am Computer.
- Das Gerät soll in einer blockbasierten Sprache von Schülerinnen und Schülern der Sekundarstufe I selbst programmiert werden können.
- Teile des Gerätes sollen im MINT-Unterricht auch für andere Zwecke verwendet werden können.
Um diese Anforderungen zu erfüllen, wird eine Kombination aus dem Mikrocomputer Adafruit CLUE, der mit MicroBlocks programmiert wird und dem CO2-Sensor SCD-30 verwendet. Dies ist dank der von Markus Gälli freigegebenen Bibliothek für den CO2-Sensor seit Dezember 2021 möglich: https://github.com/MarkusGaelli/MicroBlocks-SCD30, wobei die Bibliothek voraussichtlich in der nächsten Version von MicroBlocks offiziell aufgenommen wird.
Das CO2-Messgerät und seine Funktionen
In der hier beschriebenen Version können die Messdaten auf dem Bildschirm des Adafruit CLUEs als Zahlenwerte und grafisch ausgegeben werden.

Die Daten können via die MicroBlocks-Umgebung direkt an den Computer übergeben werden, an den der Adafruit CLUE mittels USB-micro-Kabel angeschlossen wird und von dort aus als CSV-Datei für die weitere Datenauswertung abgespeichert werden. Ausserdem verfügt die vorgestellte Variante über eine einfache Menüführung, welche flexibel ausgebaut werden kann.
MicroBlocks
Microblocks (https://microblocks.fun) ist eine blockbasierte Programmierumgebung für Mikrocomputer wie den micro:bit, Calliope und andere ähnliche Geräte, bei der Programme sofort ausgeführt werden können und die recht performant ist. Unterdessen stellt die Webseite auch diverse Anleitungen für den Unterricht (teilweise in deutscher Sprache) zu Verfügung. Wie der Mikrocomputer von MicroBlocks aus angesprochen wird, ist beispielsweise hier beschrieben: QuickStart.
Die Programmierung
Das komplette Programm für das vorgestellte CO2-Messgerät findet sich hier: https://github.com/mattgig/CO2-Messung.
Das Hauptprogramm nebst bereits vorhandenen einige zusätzliche Bibliotheken:
- SCD30.ubl von Markus Gälli
Stellt die Blöcke zum Ansprechen und Auslesen des SCD30 zu Verfügung. - digits.ubl
Erlaubt die Anzeige der Ziffern 0-9 in beliebiger Grösse als Digitalzahlen. - drawGraph.ubl
Stellt eine in der Höhe anpassbare Grafik für den Adafruit CLUE zu Verfügung. - menuOptions.ubl
Erlaubt die Programmierung eines einfachen Menüsystems für den Adafruit CLUE.
Die eigentliche Messung wird in einem Block mit verschiedenen Unterbefehlen durchgeführt.

Zuerst werden diverse Parameter gesetzt und dann die Messwerte innerhalb einer repeat-until-Schleife ausgelesen, wobei jeweils die letzten 240 Werte in einer Liste gespeichert werden. Dabei stehen folgende Darstellungsmöglichkeiten der Messwerte zu Verfügung:
- Anzeige als Text auf dem Bildschirm des Adafruit CLUE mittels displayIniformation;
- direkte Ausgabe auf dem Bildschirm des Computers, falls der CLUE damit verbunden ist über say;
- Weitergabe der Messwerte an das Graphmodul von Microblocks;
- Ausgabe des aktuellen Messwertes als Farbinformation via NeoPixel-LED;
- grafische Ausgabe der letzten 240 Messwerte auf dem Bildschirm des Adafruit CLUE.
Das Zeitintervall für die Messungen kann schrittweise von 5 – 120 Sekunden festgelegt werden, wodurch die grafische Ausgabe einen Zeitraum von 20 Minuten bis 8 Stunden abdeckt.

Dabei kann jeweils über die Taste A der nächste Wert angesteuert und dieser über die Taste B ausgewählt werden. Das Drücken beider Tasten gleichzeitig führt zurück ins Hauptmenü.
Die Möglichkeiten, Messdaten über Funk an einen anderen Mikrocomputer zu senden, ist aktuell noch nicht implementiert, kann aber mit wenigen Befehlen (unter allfälliger Anpassung des Menüs) durchgeführt werden.
Verwendung im Unterricht
Erst einmal kann das Gerät für die CO2-Messung im Schulzimmer verwendet werden, um die Luftqualität zu überprüfen. Ob dabei die genaue Anzeige der aktuellen Messwerte, die Grafik (Zeitreihe von Messwerten) oder die NeoPixel-LED als Anhaltspunkt dient, hängt vom genauen Einsatzzweck ab.

Dann können die Schülerinnen und Schüler das Gerät aber auch verwenden, um mittels gezielter CO2-Messungen eigenen Fragestellungen nachzugehen. Die relativ einfach anpassbare Programmierung erleichtert dabei auch die Untersuchung etwas speziellerer Fragestellungen. Allerdings eignet sich der SCD30-Sensor nicht für schnelle Messungen, da die Messintervalle ca. 2 Sekunden betragen. Da die Messwerte als CSV-Datei gespeichert werden können, steht einer weiteren Auswertung nichts mehr im Wege.
Letztlich kann das Gerät auch als Beispiel für die Programmierung von Mikrocomputern im Informatikunterricht eingesetzt werden, wobei auf Fragestellungen wie Timing, Anzeige von Messwerten, Datenübermittlung usw. fokussiert werden kann.