Tutorial

Tutorial: BME280 Sensor an Arduino Nano mit Datasheet

Arduino und BME280 Sensor

In diesem Tutorial möchten wir Euch heute zeigen, wie man den BME280 Temperatursensor einfach und schnell anschließen kann. Der BME280 Sensor ist ein günstiger Sensor, der sowohl Temperatur und Luftfeuchtigkeit, wie auch den Luftdruck messen kann. Mit diesem Sensor lassen sich eine Vielzahl von Projekten realisieren, beispielsweise eine eigene Wetter-Station oder ein Netzwerk zur Messung von Raumtemperatur und Luftfeuchtigkeit.

Technische Daten des BME280BME280 Temperatur Sensor

  • Abmessung (L x B) – 14mm x 10mm
  • Eingangsspannung – 1.8V bis 5V
  • Schnittstellen – I2C
  • Der Messbereich:
    • Temperatur -40°C bis +85°C
    • Luftdruck 300hPa bis 1100hPa ±0.25%
    • Luftfeuchtigkeit ±3% relative Genauigkeit, ≤ 2% Hysterese

Anschluss per I2C

Der BME280 ist ein Sensor, der über eine sogenannte I2C Schnittstelle verfügt. Diese Schnittstelle hat 4 Anschlüsse. In diesem Beispiel zeigen wir, wie man den BME280 an einem Arduino richtig anschließt.

BME280 SensorPin am wArduino UNO
 VIN 5V
GNDGND
SCLanaloger PIN A4
SDAanaloger PIN A5

Schaltung mit Arduino Nano und BME280

Arduino Nano mit BME280Nun wollen wir eine kleine Schaltung mit einem Arduino Nano realisieren. Die Ausgabe der aktuellen Werte wie Temperatur, Luftfeuchtigkeit und Luftdruck soll hier einfach über die serielle Schnittstelle erfolgen. Zur Realisierung dieser kleinen Schaltung benötigen wir die folgenden Komponenten:

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

 

BME280 Bibliothek

Um den Sensor schnell und einfach anzusteuern, empfehlen wir die Bibliothek von http://cactus.io. Hier muss nur  die I2C Adresse „0x76“ auskommentiert werden.

 

Quellcode

Beispiel zur Bibliothek von http://cactus.io

Den nachfolgenden Quellcode habe wir 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.

[sourcecode language=”C”]
/***************************************************************************
This is a library for the BME280 humidity, temperature & pressure sensor
Designed specifically to work with the BME280 Breakout board
—-> http://www.adafruit.com/products/2650
This sketch only supports the I2C bus for connection.
***************************************************************************/

#include <Wire.h>
#include "cactus_io_BME280_I2C.h"

BME280_I2C bme(0x76); // I2C using address 0x76

void setup() {
Serial.begin(9600);
Serial.println("BME280 Luftdruck, Luftfeuchtigkeit, Temperatur Sensor | cactus.io");
Serial.println("—————————————————————–");
Serial.println("");

if (!bme.begin()) {
Serial.println("Es konnte kein BME280 Sensor gefunden werden!");
Serial.println("Bitte überprüfen Sie die Verkabelung!");
while (1);
}

bme.setTempCal(-1);

Serial.println("Luftdruck\tLuftfeuchtigkeit\t\tTemperatur(Celsius)\t\tTemperatur(Fahrenheit)");
}

void loop() {
bme.readSensor();

Serial.print(bme.getPressure_MB()); Serial.print("\t\t"); // Pressure in millibars
Serial.print(bme.getHumidity()); Serial.print("%\t\t\t\t");
Serial.print(bme.getTemperature_C()); Serial.print(" °C\t\t\t");
Serial.print(bme.getTemperature_F()); Serial.println(" °F");

delay(2000);
}

[/sourcecode]

 

Beispiel – Ausgabe auf einem 0,9″ OLED Display

Für diese Schaltung benötigst du:

  • einen Taster
  • einen 10KOhm Widerstand
  • 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

 

MerkenMerkenMerkenMerken

MerkenMerken

MerkenMerken

MerkenMerken

MerkenMerken

MerkenMerken

MerkenMerken

MerkenMerken

MerkenMerken

MerkenMerken

MerkenMerken

MerkenMerken

MerkenMerken

MerkenMerken

Kommentar zu “Tutorial: BME280 Sensor an Arduino Nano mit Datasheet

  1. Pierre sagt:

    Hallo, danke für die ausführliche Anleitung. Bei mir hat das leider nicht geklappt.
    Bin jedoch mit einer anderen Bibliothek zum Ziel gekommen, zumindest für Temp und Druck, worauf es mir ankam. Hab VCC, CSB und SDO mit 3,3V-PIN verbunden, SDA auf PIN A4 und SDO an PIN A5 (GND natürlich auf GND). Hierzu meinen Code:

    #include
    #include

    Adafruit_BMP280 bmp;

    void setup() {
    Serial.begin(9600);
    bmp.begin();
    pinMode(A4, INPUT);
    pinMode(A5, INPUT);
    }

    void loop() {
    Serial.print(“Temperatur: “);
    Serial.print(bmp.readTemperature());
    Serial.println( ” °C”);
    Serial.print(“Druck: “);
    Serial.print(bmp.readPressure());
    Serial.println( ” Pa”);
    Serial.println();

    delay(2000);
    }

    Hope it helps, wenn noch jemand Probleme hatte.

Schreibe einen Kommentar

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