Seeeduino #1: Barometer Sensor (BME280)

In diesem Beitrag stelle ich dir den Barometer Sensor (BME280) von der Firma Seeeduino vor.

Grove Shield - Barometer Sensor (BME280) von Seeedstudio
Grove Shield – Barometer Sensor (BME280) von Seeedstudio

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 %

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.

Seeeduino - Grove Shield, BME280
Seeeduino – Grove Shield, BME280

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

Grove Shield - Barometer Sensor (BME280)

 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.

Adafruit Bibliothek für den Sensor BME280
Adafruit Bibliothek für den Sensor BME280

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.

Ausgabe der Werte des BME280 Sensors auf dem seriellen Monitor der Arduino IDE
Ausgabe der Werte des BME280 Sensors auf dem seriellen Monitor der Arduino IDE

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.

Wechseln der Adresse von 0x76 auf 0x77 mittels eines Lötpunktes
Wechseln der Adresse von 0x76 auf 0x77 mittels eines Lötpunktes

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.

Plattform für das Grove Shield - BME280 aus dem 3D Drucker
Plattform für das Grove Shield – BME280 aus dem 3D Drucker

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. 

Ein Kommentar

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert