CO2-Sensor SCD40

Endlich bin ich in den Ferien dazu gekommen, den CO2-Sensor SCD40 umfassend auszuprobieren. Neben dem CO2-Wert gibt der Sensor auch noch die Temperatur und die Luftfeuchtigkeit zurück. Mir gefällt der Sensor wirklich gut.

Die verfügbare MakeCode-Erweiterung für den SCD40 ist erfreulich einfach zu handhaben. Werte auslesen … Werte anzeigen … und fertig! Jetzt stellt sich mir als Physiker die Frage, wie genau dieser Sensor eigentlich ist. Nein, ich möchte keineswegs die Werte im Datenblatt anzweifeln. Ich möchte mich auf die Pseudo-Genauigkeit bei der Bereitstellung der Messwerte in der Software beziehen. Also, ist die Angabe von 12 oder 13 Nachkommastellen für die Temperatur und die Luftfeuchte wirklich sinnvoll?

Falls die erste und zweite Stelle nach dem Komma laut Datenblatt noch verlässlich sein sollten, wäre die Ausgabe dieser beiden Stellen sinnvoll, aber mehr eben nicht. Vielleicht ist aber auch nur die erste Stelle hinter dem Komma aussagekräftig.

Vor dem Hintergrund, dass MakeCode mit seinen Mathematik-Funktionen von sich aus nicht auf eine bestimmte Anzahl von Nachkommastellen runden kann, wäre es für Schulen ungemein hilfreich, die Temperatur und die Luftfeuchte wirklich nur mit zwei Nachkommastellen auszugeben.

Alternativ könnte es einen zusätzlichen Block unter „SCD40 … mehr“ geben, der die Anzahl der Nachkommastellen festlegt. Aber auch hier sollte die Anzahl sinnvoll auf die Auswahl von 0,1,2,3 begrenzt werden, wenn so viele Nachkommastellen wirklich sinnvoll sein sollten, was ich nicht glaube. Die Temperaturanzeige in der Grundschule könnte dann verständlich und einfach ohne Nachkommastelle umgesetzt werden.

Hallo Ralf,

Ich hatte zwar die Blöcke vereinfacht, aber nicht die Nachkommastellen bedacht. Bei meiner Erweiterung für den dht20 habe ich das berücksichtigt weil es sonst wirklich nervig und aufwendig für die Schüler ist.
Ich würde es am Wochenende ändern, Du müsstest aber die Erweiterung per Hand eingeben, da die vorgeschlagene Erweiterung in Makecode selbst immer nur auf dem Stand des Compilierungsdatums von Makecode ist. Müsste ich aber nochmal testen. Zumindest ist das z.B.bei der Groveerweiterung auch so, da ist nämlich auch bei der makecodeversion noch nicht das ESP-Modul dabei.

Viel Spaß beim coden

Michael

Hallo Michael,
dass ist schön, dass du dich so schnell um die Nachkommastellen kümmerst. Wie viele Nachkommastellen sind denn eigentlich realistisch? Sind es nur 0,1,2 oder noch mehr?

Ich habe eine weitere Frage zur Erweiterung https://github.com/calliope-edu/CO2-Sensor-SCD40. In der Datei pxt.json habe ich eine Abhängigkeit vom Modul radio gefunden, obwohl es keine aufgerufene Funktion aus dem Modul radio zu geben scheint. Kann diese Abhängigkeit gelöscht werden? Eine zwanghafte Einbeziehung von radio könnte nämlich das Modul bluetooth und die Nutzung von Tablets beim Programmieren verhindern.

Ralf

Die Erweiterung ist geändert, du musst sie halt bisher noch per Hand eingeben.

@joern.alraun habe bei Euch einen Pull-request erstellt.

Ich verwende immer zum Anzeigen meine OLED-Erweiterung, die hat automatisch gerundet :slight_smile:

Sehe ich es richtig, dass lediglich Calliope deinen Code übernehmen muss und dass dann das Problem für alle Nutzer/innen gelöst ist?

Danke Michael, jetzt sieht es sehr gut aus. Die Temperatur wird mit einer Nachkommastelle angezeigt. Dies ist ohne Probleme auch Grundschulkindern zu vermitteln. :slight_smile:

Ich habe mit dem CO2 Sensor eher das Problem, wo ich ihn im Klassenzimmer aufhängen soll?

In einem Klassenzimmer, wo schon eine offizielle CO2-Ampel an der Wand hängt, zeigt der Calliope immer viel höhere Werte an. Wenn ich mich vor das Gerät an der Wand stelle, um die Anzeige zu studieren, steigt der Wert durch meinen Atem sofort um mehrere Hundert an.

Das ist wie mit der Temperatur, die ist auch an jeder Stelle im Zimmer anders.

Die spannende Frage für die Schule ist auch: Welche Konsequenzen hat welcher Zahlenwert?

Lutz

Hallo Ralf,

Die Version in makecode wurde soeben aktualisiert! Die Schüler:innen haben jetzt also immer nur eine Nachkommastelle.

Hallo Lutz,

Nimm doch ein Array und befülle es jede Minute mit einem Wert. Die erste Minute würde ich warten bis sich der Sensor kalibriert hat. Wenn 5 Werte voll sind bilde den Durchschnittswert. Und das dann jede Minute.
Der SCD40 ist sehr wahrscheinlich genauer wie Deine Ampel, da dort ein billigerer Baustein verwendet wird.

Viel Spaß

Michael