Jython
CO2 Sensor

7. 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 CO2-Sensor SPG30 von Sensirion liefert hochpräzise Messwerte der CO2- Konzentration in der Luft. Der Gas-Sensor TVOC/eCO2 SGP30 kann z.B. bei www.brack.ch für Fr. 12.60 oder bei www.mouser.ch für Fr. 10.25 bestellt werden. Das Anschluss Kabel ist in der Lieferung integriert.

 



 

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

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. Man kann es auch unter Hilfe/APLU Dokumentation hrunterladen und mit Tools/Modul hinunterladen nachinstallieren.


Am mico:bit wird der Sensor mit dem mitgelieferten I2C Kabel über einen I2C-Hub angeschlossen. Ein I2C-Hub, dem am micro:bit angeschraubt werden kann, ist im IoT-Set enthalten, kann aber auch einzeln für Fr. 6.- bei der TJGroup bestellt werden.

Bestellung I2C-Hub für micro:bit

Für den Versand in der Schweiz wird Fr. 1.-, aussehalb der Schweiz 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.  

 

ZUSATZAUFGABE: CO2-SENSOR SELBST ZUSAMMENLÖTEN

Falls du Freude an der Elektronik hast, kannst du einen CO2- Sensor verwenden, bei dem alle Elektronik-Komponenten sichtbar sind. Der GY-SPG30 Air Quality Sensor ist mit dem oben verwendeten SPG30-Sensor kompatibel und kann mir dem gleichen Modul sgp programmiert werden. Er kann bei verschiedenen Lieferanten bestellt werden.  



 


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.