Nr. 23 – BME280 Luftdruck-, Luftfeuchtigkeits- und Temperatursensor

Inhaltsverzeichnis

BME 280 Sensor am Arduino Mikrocontroller verwenden

Aufgabenstellung

Aufgabe: Der BME280 Sensor soll Temperatur-, Luftdruck- und Luftfeuchtigkeitswerte im seriellen Monitor anzeigen.

In dieser Aufgabe möchten wir uns die Eigenschaften des BME280 Sensors näher ansehen.
Der Sensor ist in der Lage den Temperatur-, Luftdruck und den Luftfeuchtigkeitswert der Umgebung zu messen.
Diese Messwerte sollen uns im sogenannten „Seriellen Monitor“ angezeigt werden.

WICHTIG:
Der Sensor verwendet eine 3,3V Spannung!
Eine Stromzufuhr mit mehr als ~3,6V kann permanenten Schaden am Modul verursachen!

Des Weiteren können Erschütterungen die Messwerte des BME280 beeinträchtigen.

Der BME280 Sensor verfügt über sechs Pins.
Bei der Bearbeitung dieser Aufgabe verwenden wir die Pins:

VCC – Pin für die Spannungsversorgung, anzuschließen an den 3,3V Pin des Arduinos
GND – „Ground Pin“, anzuschließen an den GND Pin des Arduinos
SCL – „Serial Clock“ Pin , wird zusammen mit dem SDA(Serial Data) Pin als Signalleitung des I²C verwendet, anzuschließen an den A5 Pin des Arduinos
SDA – „Serial Data“ Pin , wird zusammen mit dem SCL(Serial Clock) Pin als Signalleitung des I²C verwendet, anzuschließen an den A4 Pin des Arduinos

Ausserdem findet man noch zwei weitere Pins, welche wir in dieser Aufgabe jedoch nicht verwenden.

SDO – Pin für die Festlegung der Hexcodierung, die normale I²C Adresse lautet 0x77. Verbindet man den SDO und einen Ground Pin, so verändert sich die Adresse zu 0x76.
CSB – „Chip Select“ Pin

Schaltplan

Schaltplan zu der Aufgabenstellung

Sobald die Verkabelung abgeschlossen ist und wir unser Ergebnis noch einmal überprüft haben, schauen wir uns den Sketch an.

Bitte beachte, dass der Sensor sowohl die I²C Bibliothek „<Wire.h>“, als auch eine eigene <Seeed_BME280.h> benötigt. Die „<Wire.h>“ Bibliothek ist bereits auf deinem Arduino vorinstalliert. Die Bibliothek <Seeed_BME280.h> muss manuell installiert werden. In der Bibliotheksverwaltung findet man die Bibliothek unter dem Suchbegriff „Grove – Barometer Sensor BME280“.

Eine ausführliche Anleitung des Installationsprozesses findest du hier.

Beispielsketch

#include <Seeed_BME280.h> // Implementieren der Seeed Bibliothek, ermöglicht die Kommunikation mit dem BME
#include <Wire.h>  // Implementieren der Wire Bibliothek, ermöglicht dem Arduino mit Geräten zu kommunizieren, welche das I²C Protokoll verwenden
 
BME280 bme280;

void setup ()
{
   Serial.begin(9600); // Einstellen der Baudrate
   if(!bme280.init()) // Wenn keine Daten vom BME abgefragt werden können...
   
        {
          Serial.println("FEHLER!"); // ...dann soll eine Fehlermeldung ausgegeben werden.
        }
}

void loop() // Starten unserer Schleife

{
  float Druck; // Deklarieren der Variablen
  float Pascal;
  double Bar;
  
          Serial.print("Temperatur : ");   
          Serial.print(bme280.getTemperature()); // Abfrage und Ausgabe der Temperatur
          Serial.println("C");
          Serial.print("Druck : ");
          
  Pascal = bme280.getPressure();  // Abfrage des Drucks in Pascal
  
          Serial.print(Pascal);  // Ausgabe des Drucks in Pascal
          Serial.print(" Pascal oder auch ");
          
  Bar = (Pascal/100000); // Wandlung des Pascal-Werts in Bar
  
          Serial.print(Bar); // Ausgabe des Drucks in Bar
          Serial.println(" Bar");
          
          Serial.print("Feuchtigkeit : "); 
          Serial.print(bme280.getHumidity()); // Abfrage und Ausgabe der Feuchtigkeit
          Serial.println("%");
          Serial.println(" ");
          
  delay(1000); 
  
}

Funduino - Dein Onlineshop für Mikroelektronik

  • Dauerhaft 10% Rabatt für Schüler, Studenten und Lehrkräfte
  • Mehr als 3.500 Artikel sofort verfügbar!
  • Über 8 Jahre Erfahrung mit Arduino, 3D-Druck und co.
SALE