GY-68 BMP180 - Temperatur- und Luftdrucksensor

GY-68 BMP180 - Temperatur- und Luftdrucksensor

Einleitung

Innerhalb dieses Artikels werden wir den barometrischen Sensor BMP180 mit dem ESP32 und Arduino verbinden und programmieren, um diesen im Endeffekt verwenden zu können. Wir werden den Luftdruck und Temperatur messen. Wir werden den BMP180 Sensor mit einem ESP32 und auch mit einem Arduino Uno verkabeln, die benötigte Bibliothek installieren und den Sketch in der Arduino IDE schreiben.


Specs

Erst einmal zu den Specs.
Verbaut ist innerhalb des GY-68 BMP180 Boards ein BMP180 Sensor, wie ihr euch bereits anhand des Titels denken könnt. Dieser kommt von der deutschen Firma Bosch und kann sowohl die Temperatur als auch den Luftdruck messen. Nach Datasheet verbraucht der Sensor zwischen 3 und 32 µA* im Betrieb je nach eingesetztem Betriebsmodus. Wo wir auch schon bei den verschiedenen Modi sind. Diese umfassen neben einem Standby auch noch fünf verschiedene Genauigkeitsgrade. Vier der fünf Modi können über die später angesprochene Library auf unserem ESP32, Arduino oder Raspberry Pi Pico ausgewählt werden.

Befeuert wird das Board mittels einer 3,3v Spannung und die Datenübermittlung an unseren Mikrocontroller erfolgt via I2C Interface.

Gemessen werden kann in Bereichen zwischen -40 und +85 Grad. Die größte Genauigkeit soll jedoch zwischen 0 und 65 Grad erreicht werden, was ich in späteren Tests bestätigen kann.

*Ich habe keinerlei Möglichkeit solch geringe Angaben mit meinem Amateurequipment zu überprüfen. :(


Besonderheiten

  • Digitale Schnittstelle
  • Geringer Stromverbrauch
  • Verschiedenste Modi je nach maximalem Stromverbrauch oder benötigter Genauigkeit einstellbar
  • Messbarkeit von Temperatur & Luftdruck
  • Super einfach zu verwenden

Schaltplan


BMP180 am ESP32



BMP180 am Arduino




Programmierung

ESP32

Für die Programmierung des ESP32 benötigen wir zwei zusätzliche Libraries. Diese schimpfen sich im Coding "Wire" und "Adafruit BMP085 Library". Beide Libraries können wir installieren, indem wir innerhalb der Menüleiste auf "Werkzeuge" gehen, anschließend klicken wir auf "Bibliotheken verwalten..." und suchen nacheinander im Suchfenster nach den beiden Libraries. Der Button "Installieren" regelt dann für uns.

#include 
#include 

Adafruit_BMP085 bmp;
 
void setup() {
 Serial.begin(9600);
 if (!bmp.begin()) {
	Serial.println("Bitte schließe den Sensor korrekt an.");
 }
}
 
void loop() {
 Serial.print("Temperatur: ");
 Serial.print(bmp.readTemperature());
 Serial.println(" Grad");
 
 Serial.print("Luftdruck: ");
 Serial.print(bmp.readPressure());
 Serial.println(" hPa");
 
 delay(2000);
}


Arduino

Für die Programmierung des ESP32 benötigen wir zwei zusätzliche Libraries. Diese schimpfen sich im Coding "Wire" und "BMP180". Beide Libraries können wir installieren, indem wir innerhalb der Menüleiste auf "Werkzeuge" gehen, anschließend klicken wir auf "Bibliotheken verwalten..." und suchen nacheinander im Suchfenster nach den beiden Libraries. Der Button "Installieren" regelt dann für uns.

#include 
#include 

BMP180 bmp; 

void setup()
{
 Serial.begin(9600);
 Wire.begin(); 
 bmp = BMP180(); 
}

void loop()
{
 // Auslesen der Temperatur
 float temperature = bmp.getTemperature();

 // Ausgabe der Temperatur
 Serial.print("Temperatur: ");
 Serial.print(temperature);
 Serial.println(" Grad");

 // Auslesen des Aufdrucks in Pa
 long pressure = bmp.GetPressure();

 // Ausgabe in hPa
 Serial.print("Luftdruck: ");
 Serial.print(pressure / 100);
 Serial.println(" hPa");

 delay(2000);
}


Marvin

Ich bin ein Mensch, der sich neben der Programmierung noch für tausend andere Dinge interessiert, die mal mehr und mal weniger verrückt sind. Vor allem aber bin ich Feuer und Flamme mit der Programmierung von eigenen kleinen Apps und Programmen, die mein Leben bereichern.

Hat dir dieser Artikel gefallen?

Kommentar hinzufügen

*Pflichtfeld