Luftqualität kontrollieren und fit bleiben!

raumluft

Maker: MikrocontrollerProjekte

Sicher kennt ihr das folgende Problem: Ihr arbeitet mit mehreren Menschen zusammen in einem Büro und nach einiger Zeit fällt eure Konzentrationsfähigkeit stark ab. Also entscheidet ihr euch, einen Kaffee zu holen, um der Müdigkeit entgegenzuwirken. Als ihr mit dem frischen Kaffee in der Hand zurückkehrt, merkt ihr sofort, dass die Luft im Büro verbraucht und stickig ist. Also öffnet ihr das Fenster um zu lüften. Was wäre gewesen, wenn ihr schon vor einer Stunde gelüftet hättet? Wäre die letzte Stunde produktiver gewesen? Vermutlich ja, aber wie soll man merken, wann der richtige Moment zum Lüften ist, während ihr konzentriert über Euren Aufgaben grübelt. Viele Chemikalien in der Luft sind zudem geruchslos. Hier kommt der SGP30 Air Quality Sensor ins Spiel! Dieser ermöglicht euch permanent die Raumluftqualität bezüglich CO2 und flüchtiger organischer Verbindungen (VOCs) zu überwachen und frühzeitig zu lüften. Somit lässt sich die Produktivität und das Wohlbefinden steigern.

 

Im folgenden YouTube Video Tutorial von MikrocontrollerProjekte findet ihr alle Schritte ausführlich dargestellt:

 

 

Benötigte Hardware

  • Adafruit SGP30 Air Quality Sensor Breakout Board 
  • Nucleo-F401RE 
  • USB-Kabel type A to mini-B 
  • 4x Jumper-Wire 

 

Benötigte Software (vollständig kostenlos)

  • ST-LINK Utility
  • RS232 Terminal z.B. HTerm
  • (optional: Python 3 + PySerial)
  • (optional: System Workbench for STM32)

 

Hardwareaufbau

Der Hardwareaufbau ist denkbar einfach. Ihr verbindet das SGP30 Breakout Board mit dem NucleoF401RE mithilfe der Jumper-Wires (siehe Video) nach folgendem Schema:

hardware

 nucleo

 

Schnelleinstieg

Schritt 1: Ladet das ST-LINK Utility herunter und installiert es vollständig inkl. Treiber.

Schritt 2: Schließt die Hardware, wie im Kapitel Hardwareaufbau beschrieben, per USB Kabel an euren PC an.

Schritt 3: Ladet die fertig kompilierte Software (SGP30_AirQualitySensor.bin) von GitHub herunter und überspielt sie mit Hilfe des ST LINK Utilitys (File -> Open File -> „SGP30_AirQualitySensor.bin“, dann: Target -> Programm and Verify -> Start) in das Nucleo Board:

https://github.com/MikrocontollerProjekte/YouTubeProjects/tree/master/SGP30%20Gas%20Sensor/Firmware

Schritt 4: Wenn alles korrekt zusammengebaut ist und die Software erfolgreich mit dem Sensor kommuniziert, sollte die grüne User LED (LD2) sekündlich blinken. Nun müsst ihr über den Windows Geräte-Manager den COM-Port heraussuchen, mit dem das ST-Board einen virtuellen COM-Port an eurem PC angemeldet hat.

Schritt 5: Nun könnt ihr über ein beliebiges RS232 Terminal Programm z.B. HTerm über euren COMPort mit den Einstellungen (Baudrate 115200, 8 Datenbits, 1 Stoppbit, keine Parität) die seriellen Daten auslesen, die das Board sendet. Damit habt ihr bereits das wichtigste geschafft, der Sensor funktioniert und misst erfolgreich!

 

Für Fortgeschrittene

Erst wenn der Schnelleinstieg erfolgreich war, könnt ihr hier fortfahren. Um die Sensordaten über mehrere Stunden sinnvoll auswerten zu können, z.B. mit Excel oder Matlab, habe ich ein kleines Python 3 Skript geschrieben.

Dieses liest dank der Erweiterung PySerial die RS232 Daten direkt von der seriellen Schnittstelle und speichert sie in ein Logfile (*.csv), mit einem Semikolon getrennt.

Schritt 1: Ladet euch Python 3 herunter und installiert es. Anschließend müsst ihr noch die Python Erweiterung PySerial installieren. Dies geht komfortabel über das Python Paketverwaltungsprogramm PIP indem ihr in der Windows Eingabeaufforderung folgenden Befehl eintippt: „pip install pyserial“.

Schritt 2: Ladet euch das Python Skript von GitHub herunter:

https://github.com/MikrocontollerProjekte/YouTubeProjects/tree/master/SGP30%20Gas%20Sensor/Python

Schritt 3: Ihr müsst im Python Skript in Zeile 22: (port='COM5', ## <--- change to your COM-Port here) den COM5 durch euren COM-Port austauschen. Diesen findet ihr wieder im Windows GeräteManager heraus. Anschließend das Skript speichern und ausführen.

Schritt 4: Nach dem Starten des Skriptes wird eine csv Datei im gleichen Ordner angelegt. Diese enthält die Messdaten, mit einem Semikolon getrennt. Dieses könnt ihr einfach in Excel importieren und als Diagramm darstellen.

 

Für Maker

Auf meiner GitHub Seite findet ihr den vollständigen Quellcode und ein vorgefertigtes Projekt für die STM32 System Workbench, mit der ich die Firmware für das Nucleo Mikrocontroller Board kompiliert habe.

https://github.com/MikrocontollerProjekte/YouTubeProjects/tree/master/SGP30%20Gas%20Sensor /Project

Somit könnt ihr die Daten direkt im Mikrocontroller weiter verarbeiten und z.B. einen Alarm Beeper zur Signalisierung kritischer Luftverhältnisse programmieren oder einen Motor ansteuern, mit dem ihr automatisiert das Fenster öffnet usw.

Gerne könnt ihr auch auf YouTube unter dem oben verlinkten Video in den Kommentaren posten,welche Projekte ihr mit dem Sensor umgesetzt habt.

An dieser Stelle wünsche ich euch maximalen Erfolg! Sollte etwas nicht auf Anhieb funktionieren, empfehle ich euch, dass YouTube Video nochmals ganz detailliert anzuschauen und die Schritte in  der gezeigten Reihenfolge durchzuführen. Sollte es trotzdem Probleme geben, könnt ihr mich über meinen YouTube Kanal per E-Mail kontaktieren.

Viele Grüße

MikrocontrollerProjekte

13.04.2018 00:00 |

Passende Artikel

  • Adafruit SGP30 Air Quality (Luftqualität) Sensor Breakout VOC und eCO2

    Dies ist ein sehr feiner Luftqualitätssensor mit I2C-Schnittstelle und vollständig kalibrierten Ausgangssignalen mit einer typischen Genauigkeit von 15% innerhalb der gemessenen Werte. Der SGP kombiniert mehrere Metalloxid-Sensorelemente auf einem Chip, um detailliertere Luftqualitätssignale zu liefern. Der Gassensor kann eine Vielzahl flüchtig-organischer Verbindungen (VOCs) und H2 erkennen kann und so die Innenraumluftqualität bestimmen....

    19,46 €*

    Nettopreis: 16,35 €
    Umsatzsteuer: 3,11 €
    * inkl. MwSt. zzgl. Versand
  • STM32 Nucleo development board for STM32 F4 series - with STM32F401RE MCU, supports Arduino

    Das STNucleo-F401RE mit seinem ARM-Cortex-M4-Prozessor ist eine flexible und kostengünstige Möglichkeit in die Welt der STM32-Microkontroller einzusteigen. Dank der Arduino-Kompatibilität und seiner ST Morpho Heades ist das STM32F401RE sehr einfach zu erweitern. Man profitiert dadurch von einer riesigen Auswahl an Shields.    Eigenschaften STM32 Microkontroller mit LQFP64  Zwei Typen von...

    17,65 €*

    Nettopreis: 14,83 €
    Umsatzsteuer: 2,82 €
    * inkl. MwSt. zzgl. Versand
  • Mini USB Kabel - USB-A auf Mini USB-B 1.8m

    Technische Daten: Steckverbinder A: USB-2.0 Typ-A Steckverbinder B: Mini USB-2.0 Typ-B Steckverbinder A: Stecker Steckverbinder B: Stecker Länge: 1.8M Farbe: Schwarz

    1,85 €*

    Nettopreis: 1,55 €
    Umsatzsteuer: 0,30 €
    * inkl. MwSt. zzgl. Versand
  • Jumper Wires Premium 150 mm M/F Pack (10er Pack)

    These are 150mm long jumper wires terminated as male to female. Use these to jumper from any male or female header on any board. Multiple jumpers can be connected next to one another on a 0.1" header. Comes in one pack of ten jumpers (colors shown). Dimensions: 150mm +/-5mm long

    1,79 €*

    Nettopreis: 1,50 €
    Umsatzsteuer: 0,29 €
    * inkl. MwSt. zzgl. Versand