Arduino Lektion 44: BME280 Temperatur, Luftfeuchtigkeit und Luftdruck Sensor

In diesem Tutorial möchte ich den digitalen Temperatur, Luftfeuchtigkeit und Luftdruck Sensor BME280 vorstellen. Dieser Sensor wurde mir vom Onlineshop Makershop.de kostenlos für dieses Review zur Verfügung gestellt.

BME280 - Temperatur, Luftfeuchtigkeit und Luftdruck Sensor
BME280 – Temperatur, Luftfeuchtigkeit und Luftdruck Sensor

Technische Daten des BME280

  • Abmaße (L x B) – 14mm x 10mm
  • Betriebsspannung – 1.8V bis 5V
  • Schnittstelle – I2C
  • Messbereiche
    • Temperatur -40°C bis +85°C
    • Luftdruck 300hPa bis 1100hPa ±0.25%
    • Luftfeuchtigkeit ±3% relative Genauigkeit, ≤ 2% Hysterese

Anschluss

Der Sensor BME280 verfügt über 4 Pins welche wiefolgt an den Arduino UNO angeschlossen werden:

BME280Arduino UNO
 VIN 5V
GNDGND
SCLanaloger PIN A5
SDAanaloger PIN A4

Schaltung

In diesem Kapitel möchte ich nun eine kleine Schaltung mit dem BME280 und einem Display für die Ausgabe der Werte erzeugen.

Wenn du diese Schaltung nachbauen möchtest so benötigst du:

  • 1x Arduino Nano
  • 1x Sensor BME280
  • 4x Breadboard Kabel
  • 1x Breadboard 400 Pin

Schaltung BME280 Sensor am Arduino Nano
Schaltung BME280 Sensor am Arduino Nano

BME280 Bibliothek

Für den Sensor gibt es eine Bibliothek von Adarfuit welche über die Arduino IDE installiert werden kann. Wie genau das funktioniert habe ich im nachfolgenden Video gezeigt.

Installieren der Adafruit Bibliothek für den Sensor BME280 in der Arduino IDE

Zusätzlich wird noch die Bibliothek Adafruit Sensor benötigt. Diese kann leider nur vom GitHub Repository https://github.com/adafruit/Adafruit_Sensor geladen werden.

Leider hat diese Bibliothek mit meinem Arduino Nano nicht funktioniert daher habe ich zur Bibliothek von http://cactus.io gewechselt. Hier musste ich im Beispiel nur die I2C Adresse „0x76“ auskommentieren. Und es funktionierte von Anhieb sehr gut.

Ausgabe BME280 Sensor
Ausgabe BME280 Sensor

Quellcode

Beispiel zur Bibliothek von http://cactus.io

Den nachfolgenden Quellcode habe ich von der Seite http://cactus.io/hookups/sensors/barometric/bme280/hookup-arduino-to-bme280-barometric-pressure-sensor kopiert und deutsche Texte verpasst. Das Beispiel erzeugt auf dem seriellen Monitor eine Ausgabe.

Beispiel – Ausgabe auf einem 0,9″ OLED Display

Sensor BME280 mit Taster und 0,91" OLED Display
Sensor BME280 mit Taster und 0,91″ OLED Display

Für diese Schaltung benötigst du:

  • einen Taster
  • einen 10KOhm Widerstand (als PullDown)
  • ein 0,91″ OLED Display
  • einen Arduino Nano
  • 12 Breadboard Kabel
  • ein 400 PIN Breadboard
  • ein BME280 Sensor
Schaltung BME280 mit OLED_Display und Taster
Schaltung BME280 mit OLED_Display und Taster

Quellcode

Video

Sensor BME280 mit 0,91" OLED Display am Arduino Nano

 

 

5 Gedanken zu „Arduino Lektion 44: BME280 Temperatur, Luftfeuchtigkeit und Luftdruck Sensor

  • Februar 8, 2019 um 22:21
    Permalink

    Vielen Dank für diese Infos. Auch bei mir funktionierte Adafruit Code nicht. Mit dem Cactus Code alles bestens.
    Habe dann nochmal Adafruit ausprobiert und nachdem ich die Adresse in dem header file „Adafruit_BME280.h“ von 0X77 in 0X76 geändert hatte, funktionierte es.

    Antwort
  • Mai 8, 2019 um 14:13
    Permalink

    Hallo zusammen,

    ich suche nach einem ähnlichen Projekt, werde aber leider nicht fündig.

    Folgende Situation: In jedem Raum befindet sich ein Raumtermostat, welches 3 der 5 verlegten Kabel benötigt. Die Kabel sind jeweils vom Raumtermostat in den zentralen Heizungsverteiler verlegt. Dort könnte man also die übrigen 2 Kabel jeweils mit einer anderen Spannung etc. versorgen.
    Ich möchte gern in allen Zimmern die Temperatur und Luftfeuchte messen. Hinter dem Raumtermostat ist jeweils eine Unterputzdose verbaut und ausreichend Platz für die übrige Technik. Am Raumtermostat möchte ich dann 2 LED (1x gelb und 1x rot) betreiben, welche mit lokal anzeigen, dass die Luftfeuchte zu hoch ist.
    Zentral möchte ich dann die Daten via ESP? an mein FHEM senden um dort damit weiter zu arbeiten.

    Könnte sich jemand das mal anschauen.

    Vielen Dank im Vorraus
    Grüße Marcus

    Antwort
  • Juli 21, 2019 um 21:51
    Permalink

    SDA -> Analog 4 (nicht 5)
    SCL -> Analog 5 (nicht 4)

    Antwort
    • Juli 22, 2019 um 10:15
      Permalink

      Hi,

      danke für den Hinweis, da ist mir wohl ein kleiner Fehler unterlaufen.
      Habe ich sofort korrigiert.

      Gruß,

      Stefan Draeger

      Antwort

Schreibe einen Kommentar

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