Jython
CO2 Sensor

7a. CO2 Sensor

Achtung: Neues TigerJython (ab Version 2.22 [Sep-18-2021]) erforderlich.

Mit dem CO2-Sensor kann man die CO2-Konzentration im Raum messen und überwachen. Der CO2-Wert ist ein zuverlässiger Indikator für die Luftqualität. Frische Raumluft ist heute besonders wichtig, um das Ansteckungsrisiko mit Covid-19 zu reduzieren.

SGP30 Air Quality Sensor

Der Luftqualität-Sensor GY-SPG30 liefert hochpräzise Messwerte über den CO2-Gehalt in geschlossenen Räumen.

Das Modul sgp, welches die Kommunikation mit diesem Sensor unterstützt, ist im TigerJython (ab Version 2.22) integriert und wird automatisch beim Flashen auf den micro:bit kopiert. Bei älteren Versionen kann es mit Tools/Modul hinunterladen nachinstalliert werden (sgp.zip).

 


 


Mit wenig Aufwand kann man eine einfache Messstation für die Messung der CO2-Konzentration zum Beispiel in Ihrem Klassenzimmer einrichten.

Der Sensor wird an einem I2C-Kabel angelötet.
Sie nehmen ein Grove-Kabel mit einem I2C-Stecker, isolieren die viel dünne Kabel ab und löten das schwarze Kabel bei GND, das rote bei VCC, das gelbe bei SCL und das weisse bei SDA an.
 
rot
schwarz
gelb
weiss
 


Am mico:bit wird der Sensor über einen I2C-Hub angeschlossen. Ein solcher Hub ist z.B. im IoT-Set enthalten, kann aber auch einzeln bei der TJGroup bestellt werden..

Bei der TigerJython-Group können auch betriebsbereite CO2-Sensoren mit einem angelöteten I2C-Kabel (Fr. 17.- inkl. Versand) und mbHubs (Fr. 6.- inkl. Versand) hier bestellt werden:

Bestellung CO2-Sensor

Für den Versand ausserhalb der Schweiz werden Versandkosten von Fr. 3.- verrechnet.

 

Beispiel 1: CO2 Konzentration messen und anzeigen

In Programm importiert man mit import sgp das Modul sgp, in dem SGP30-Sensor und das Abfragen der Messwerte des SGP30-Sensor implementiert ist. Der Befehl sgp.getValues() gibt ein Tupel mit zwei Werten zurück:
  • CO2 Konzentration in ppm*
  • TVOC Total Volantile Organic Componds*

Die beiden Werte werden mit print-Befehl im Terminal-Fenster ausgeschrieben. delay(500) gibt die Messperiode an.

 



from microbit import *
import sgp

while True:
    co2, voc = sgp.getValues()
    print ("CO2 = ", co2, "  TVOC = ", voc)   
    sleep(500)
► In Zwischenablage kopieren

Nach dem Programmstart wird der Sensor zuerst Kalibriert und gibt die ersten 20 Sekunden den CO2-Wert 400 zurück. Dann werden die gemessenen CO2-Werte korrekt angezeigt.

* Der CO2-Gehalt in der Luft wird in parts per million, kurz ppm angegeben. SGP30-Sensor gibt die Werte im Bereich 400 - 60000 ppm zurück, wobei für die Werte grösser als 1000, wird die Luft nicht mehr als frisch bezeichnet.

* In Innenräumen gibt es viele Quallen, die Schadstoffe abgeben (Lampen, Bodenbeläge, Reinigungsmittel...). Der Sensor gibt TVOC-Werte im Bereich 0 bis 60 000 zurück.

 

Beispiel 2: Ein Messgerät für CO2 Konzentration im Klassenzimmer

Für die Messung der CO2 Konzentration gelten folgende Grenzwerte:

  • < 1000 ppm: Luft ist frisch
  • 1000 - 1400 ppm: bald lüften
  • > 1400 ppm: Fenster öffnen

Mit den LEDs auf dem micro:bit kann man für diese Messbereiche verschiedene Symbole anzeigen. Das Programm bleibt auf dem micro:bit gespeichert. Man kann ihn also beim Computer ausstecken und an eine andere Stromquelle, beispielsweise Powerbank, anschliessen.

 

from microbit import *
import sgp

while True:
    co2, voc = sgp.getValues()
    print ("Co2 = ", co2) 
    if co2 < 1000:
        display.show(Image.YES)
    elif co2 < 1400:
        display.show(Image.ARROW_S) 
    else:
        display.show(Image.NO)      
    sleep(500)
► In Zwischenablage kopieren

Der Sensor misst den CO2-Gehalt in ppm (parts per million) und liefert Messwerte im Bereich 400-60 000. Für Werte < 1000 ist die Luft gut, bei Werten > 1400 ist eine Frischluftzufuhr unbedingt empfohlen. Eine hohe CO2-Konzentration im Raum erhöht das Ansteckungsrisiko mit dem Corona-Virus.

 

Aufgaben:

1)


Messe die CO2-Werte mit der Messperiode von 2 Sekunden und schreibe die Ergebnisse mit Laufschrift auf dem micro:bit-Display.

2) Baue eine CO2-Messanlage, die bei einem CO2-Wert > 1400 einen akustischen Signal abspielt. Micro:bit V2 verfügt über einen Lautsprecher, beim micro:bit V1 musst du wie im Kapitel "Sound" einen Lautsprecher anschliessen. Zum Testen kannst du den Schwellenwert 1400 ppm herabsetzen.