Unterrichts- und Lernmaterial für Mikrocontroller
Unterrichts- und Lernmaterial fürMikrocontroller

Seeeduino Nano und Grove

1 Grove Barometer Sensor (BME280)

Vorbemerkung

 

 

 

 

Abb. 1

Das Grove Barometer in einem Grove Red Wrapper. Bevor man den Sensor in den Wrapper einbaut, sollten ggf. noch Pads auf der Unterseite des Moduls zusammengelötet oder getrennt werden.

Den kleinen Bruder des BME280 aus dem Hause Bosch, den BMP180, habe ich hier an anderer Stelle unter dem Stichwort Höhenbestimmung schon vorgestellt. Der Grove Barometer aus dem Haus Seeedstudio wird in einer schlanken Plastiktüte ohne jegliche Beschreibung geliefert – wenn man mal von dem kleinen Beipackzettel absieht. Das Modul lässt sich sowohl an einer SPI- als auch I2C-Schnittstelle betreiben. Mit einem Seeeduino Nano und Grove Shield mit I2C-Buchse wird natürlich die I2C-Schnittstelle bedient. Und da beginnt auch schon das Problem.

Wie bei den meisten Sensoren, kann man sich auch zu diesem Sensor eine Bibliotheksdatei bei Github herunterladen.

Nach der Installation und dem Start der Beispieldatei bme280_example passiert erst einmal … nix.

Woran liegt`s?

  1. Die Beschreibung bei Seeedstudio und der Platinenaufdruck (v. 1.0) sind nicht identisch – man hat offensichtlich SPI und I2C Anschlüsse verwechselt; wie insgesamt die Beschreibung etwas schlampert zusammengestellt erscheint. Das ist einfach nur ärgerlich und ein wahrer Spaßkiller.
  2. Dass die beiden pads für die Wahl zwischen I2C und SPI Anschluss auf der Unterseite der Platine nach Vorgabe bereits überbrückt sind -  stimmt nicht. Sie müssen vor einer I2C-Nutzung erst überbrückt werden.
  3. Schaut man sich dann noch die Datei Grove_BME280.h genauer an, erkennt man, dass als Basisadresse 0x77 (SPI) angesprochen wird und nicht 0x76 (I2C). Wenn man also mit I2C-Schnittstelle arbeitet, muss dieser Wert verändert werden.

 

 

 

Abb. 2

Die Unterseite des Grove Barometer Sensor. Die default-Einstellung für das I2C-Interface stimmt nicht mit dem Aufdruck überein. Die Pads müssen überbrückt werden.

Hat man Punkt 2. und 3. ausgeführt und startet jetzt in der Arduino IDE erneut das Programm bme280_example.ino, tut sich was auf dem seriellen Monitor. Temperatur, Luftdruck und Höhe ü. NN werden angezeigt.

In der folgenden Übung werden Luftdruck, Temperatur und Höhe über NN bestimmt. Die Größen Luftdruck und Temperatur werden vom Sensor gemessen, die Höhe über NN wird rechnerisch ermittelt. Die dazu notwendigen Formeln finden sich unter "Höhenbestimmung mit dem BMP180".

Es kann nicht schaden, wenn man sich vorher die folgenden beiden Kapitel durchliest.

Übung: BME280 – Luftdruck und Temperatur messen

Material

  • 1x  Seeeduino Basis-Set
  • 1x  Grove Barometer Sensor (BME280)
  • 1x  Verbindungskabel

 

Aufgaben

  • Baue die Schaltung nach Schaltungsvorgabe auf.
  • Übertrage das Programm bme280_TpH.ino in den Arduino Editor und speichere es ab.
  • Starte das Programm und nimm an verschiedenen Orten Messungen vor.

Das Programm

Die Messergebnisse

Abb. 3 - Die Messwerte sind aus jeweils 1000 Einzelmessungen gemittelt worden.

Der Luftdruck der nächstgelegenen Wetterstation ist am Messtag mit 1007 hPa angegeben. Die gemessene Temperatur ist Zimmertemperatur unter dem Dach; hat also nichts mit gemessener Außentemperatur zu tun und ist trotzdem sehr genau. Die gemessene Höhe über Meeresspiegel entspricht den Angaben im Netz (google maps).

Optionale Projekte

  • Wetterdatenaufzeichnung
  • Temperaturüberwachung eines Raumes
  • In Verbindung mit einem GPS-Modul lassen sich ortsgebundene Wetterdaten abspeichern oder auch Höhenprofile erstellen.
Druckversion | Sitemap
© Reinhard Rahner - Gettorf