Raspberry Pi Luftdruck Sensor BMP085
Mit dem Raspberry Pi Luftdruck Sensor BMP085 kann man neben der Temperatur auch den Luftdruck messen. Ich zeige euch wie das genau funktioniert, wie man den Sensor mit der GPIO Schnittstelle verkabelt und wie man Messwerte über ein Python Programm einließt und auf der Konsole ausgibt.
Raspberry Pi Luftdruck Sensor BMP085
In meinen letzten Artikeln habe ich euch bereits mehrere Sensoren Vorgestellt, unter anderem den Temperatur Sensor 18B20 und den Luftfeuchtigkeits Sensor DHT11. Für eine Wetterstation benötigen wir aber noch mehr, so zum Beispiel eine Möglichkeit den aktuellen Luftdruck zu bestimmen. Einer kurzen Recherche zufolge gibt es da genau zwei relevante Modelle:
Die beiden Sensoren unterscheiden sich kaum. Beide haben einen Messbereich von 300 bis 1100 hPa und funktionieren in einem Temperaturbereich von -40°C und +85°C, also perfekt für eine Wetterstation. Der einzige Unterschied ist die Genauigkeit der Messwerte, für etwas mehr Geld bekommt man etwas genauere Werte:
- BMP085
Temperatur: ±2°C
Luftdruck: -4 bis +4 hPa - BMP180
Temperatur: ±1°C
Luftdruck: -4 bis +2 hPa
Für diesen Artikel verwende ich den Raspberry Pi Luftdruck Sensor BMP085, jedoch kann man diese Anleitung auch fast 1:1 für den BMP180 verwenden.
Hardware
Der Raspberry Pi Luftruck Sensor BMP085 besteht aus einer kleinen Platine mit 6 Pins. Der Sensor und die Widerstände sind auf der Platine bereits fix integriert, wodurch die Arbeit mit dem Sensor relativ einfach wird. Von den 6 Pins benötigen wir für unsere Messung lediglich die folgenden 4:
- VCC
das ist die Stromversorgung. Wir verbinden diesen Pin mit dem +5 Volt Eingangspin der GPIO Schnittstelle (GPIO 1) - GND
das ist die Masse (Erdung). Wir können diesen Ausgang mit einem beliebigen GND Pin der GPIO Schnittstelle verbinden, beispielsweise GPIO 6. - SDA und SCL
diese beiden Pins verbinden wir mit den I2C Pins des Raspberry Pis. SDA (Daten) mit GPIO 2 und SCL (Takt) mit GPIO 3.
Die genaue Verkabelung ist der oben gezeigten Grafik zu entnehmen. Man benötigt 4 Steckdrähte in meinem Fall männlich-weiblich die man von der GPIO Schnittstelle mit dem Steckbrett verbindet. Am Steckbrett ist der BMP085 Sensor angebracht.
Das Verkabeln ist etwas mühsam, da die Beschriftung der einzelnen Pins auf der Rückseite aufgedruckt ist und man so den Sensor mehrere Male anheben muss um zu konrollieren ob man auch wirklich den korrekten Pin anspricht.
Fazit
Der Raspberry Pi Luftdruck Sensor BMP085 ist recht schnell verkabelt. Dank dem Aufdruck der Pin Inormationen ist das kein Problem. Da die Platine schon alle Widerstände mitbringt benötigt man bei einem +5 Volt Anschluss am Raspberry Pi auch keine zusätzliche Hardware erforderlich. Nun können wir den Sensor verwenden und Messdaten lesen und diese Informationen ausgeben. Wie das funktioniert zeige ich im nächsten Artikel.
Wie messt ihr den Luftdruck? Kennt ihr sonst noch gute Alternativen zu den BMP085 und BMP180 Sensoren?
Hallo,
ich habe an meinem Raspberrypi B+ drei Sensoren geschaltet, VDD an 5V, Out an GPIO4 mit Pullup 4,7k an 3,3V. Alle erforderlichen Eintragungen habe ich gemacht, mehrfach ein reboot durchgeführt. Leider wird in Devices kein Fühler aufgeführt. Modprobe ist auch o.k. ohne Fehlermeldung. Haben sie eine Idee wo der Fehler steckt.
Kann ausgeschlossen werden, dass der Sensor defekt ist?
Hallo Helmuth Baldzer!
Vermute mal, da ist ein Adressenkonflikt zwischen den Sensoren am I²C (auch TWI genannt)..:-(
Oder läßt sich die I²C-Adresse der Sensoren ändern?
Hallo vielen Dank für die Antworten.
Fehler wurde gefunden, lag in der config.txt
Jetzt funktionieren alle Sensoren.
Hallo!
Tolles Projekt! Wie würde denn die Schaltung aussehen wenn ich sagen wir mal 12 dieser Sensoren gleichzeitig an den Raspberry Pi 2 anschließen möchte? Brauch ich da Zusatzhardware? Vielen Dank!
Hallo Werner, habe Deinen Artikel leider erst jetzt gelesen. Du hast Du einige Fehler eingebaut. Die Platine muss mit 3,3 V betrieben werden, da der Raspi an der GPIO nur 3,3 V ab kann, nicht 5 V!!
Zerstörungsgefahr!!! Außerdem müssen die Widerstände von I2C nach 5 V auf der Platine ausgelötet werden. Der Raspi hat Widerstände nach 3,3 V auf dem Board. Habe im Moment die Platine nicht zur Hand, deshalb kann ich die Widerstandsnummern nicht nennen.
Beste Grüße
Pofoklempner
Hallo,
ich würde gerne das gleiche Projekt mit einem Raspberry Pi Zero und dem Barometer Modul GY-63 machen. Allerdings bin ich nur Einsteiger und weiß nicht genau wie ich den Sensor auslesen kann. Vielleicht kann mir jemand helfen? Das wäre super!