In diesem Beitrag stelle ich dir den Barometer Sensor (BME280) von der Firma Seeeduino vor.
Von der Firma Seeedstudio.com habe ich (fast) kostenfrei einige Grove Shields zur Verfügung gestellt bekommen. Die Shields stelle ich dir Stück für Stück auf meinem Blog vor.
In diesem Beitrag möchte ich nun den Barometer Sensor (BME280) für das Messen von der Temperatur, der Luftfeuchtigkeit sowie des Luftdrucks mit der besagten Grove Schnittstelle vorstellen.




Bezug
Den Sensor kann man über den Shop von Seeedstudio.com für derzeit ca. 15,12 € (17 $) bestellen. Es kommen natürlich noch die Versandkosten dazu! Diese Versandkosten sind abhängig welches Transportunternehmen man wählt. Es stehen einem diverse Anbieter zur Verfügung. Wobei natürlich der Schnellste auch der Kostenintensivere Anbieter ist.
Ich habe für mein Paket DHL ausgewählt und hatte Versandkosten in höhe von knapp 9$ (ca. 8€).
Technische Daten des Sensors BME280
Mit der Grove Schnittstelle ist es nun sehr einfach geworden den Sensor mit einem Arduino Board zu verbinden daher muss man nun nicht mehr wirklich darauf achten, ob der Sensor mit 5V oder vielleicht doch 3.3V betrieben wird.
- Betriebsspannung 3.3V oder 5V
- Stromaufnahme 0.4mA
- Grove Schnittstelle I2C
- Messwerte
- Temperatur
- Messbereich -40 °C bis +85 °C
- Genauigkeit ± 1 °C
- Luftdruck
- Messbereich 300 bis 1100 hPa
- Genauigkeit ± 1.0 hPa
- Luftfeuchtigkeit
- Messbereich 0 bis 100 %
- Genauigkeit ± 3 %
- Temperatur
Aufbau der Schaltung
Durch die speziellen Kabel ist der Aufbau der Schaltung sehr einfach, denn diese lassen sich nur in eine Richtung mit dem Modul und dem Mikrocontroller verbinden.
In diesem Tutorial verwende ich den Seeeduino Nano welche dem Arduino Nano sehr ähnelt jedoch hat dieser ein paar Features welche ihn noch funktionaler machen.
Video
Quellcode
In dem Tutorial Arduino Lektion 44: BME280 Temperatur, Luftfeuchtigkeit und Luftdruck Sensor habe ich bereits einen solchen Sensor vorgestellt.
Adafruit Bibliothek
Für das nachfolgende Beispiel wird jedoch eine neuere Adafruit Bibliothek benötigt, hier wurden einige Funktionen umbenannt und es ist zumindest mindestens eine entfallen.
Hier nun der aktualisierte Quellcode mit der „neuen“ Adafruit Bibliothek.
#include <Wire.h> #include <SPI.h> #include <Adafruit_Sensor.h> #include <Adafruit_BME280.h> #define SEALEVELPRESSURE_HPA (1013.25) Adafruit_BME280 bme; // I2C const unsigned int PAUSE = 1000; void setup() { Serial.begin(9600); if (!bme.begin()) { Serial.println("Es konnte kein BME280 Sensor gefunden werden!"); Serial.println("Bitte überprüfen Sie die Verkabelung!"); while (1); } Serial.println("Luftdruck\t|Höhenmeter\t|Luftfeuchtigkeit\t|Temperatur"); Serial.println("-------------------------------------------------------------------"); } void loop() { Serial.print(bme.readPressure()/100.0F); Serial.print("hPa\t|"); Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA)); Serial.print("m\t\t|"); Serial.print(bme.readHumidity()); Serial.print("%\t\t\t|"); Serial.print(bme.readTemperature()); Serial.print(" °C"); Serial.println(); delay(PAUSE); }
Da jeder guten Bibliothek einpaar Beispiele beiliegen kann man dort sich immer die Funktionsweise abschauen.
Ausgabe auf dem seriellen Monitor
Auf dem seriellen Monitor der Arduino IDE habe ich mit dem obrigen Quellcode die Daten tabellarisch ausgegeben.
Download
Hier nun der Sketch zum einfachen Download.
Wechsel der Adresse
Das Modul arbeitet standardmäßig über die Adresse 0x76 man kann jedoch durch das Setzen eines Lötpunktes auf der Rückseite der Platine, die Adresse zu 0x77 ändern. Dieses wäre zbsp. Nötig wenn man 2 Module anschließen möchte.
Gehäuse aus dem 3D Drucker
Seit kurzen besitze ich auch einen 3D-Drucker. Nun fühlte ich mich dazu inspiriert ein Gehäuse für diesen Sensor zu entwerfen. Hier nun das erste Modell.
Zu dem Gehäuse fehlt noch der Deckel, welcher noch entworfen wird, wenn dieses Modell fertig ist, kannst du dieses von meinen Thingiverse.com Profil herunterladen.
Fazit
Das BME280 Grove Shield ist wie auch das einfache Modul leicht zu programmieren und liefert zuverlässig die Werte.
Durch den einfachen Anschluss über das mitgelieferte Kabel entfällt das etwas aufwendige und ggf. fehleranfällige Verkabeln. Einzig muss man darauf achten das dieses Modul an den I2C Anschluss angeschlossen wird.