Vandaag willen we u de BMP-sensormodule Voorstellen.
De module is uitgerust met een omgevingssensor van Bosch. Dit combineert de 2 verschillende sensortypes: druksensor en temperatuursensor. Dit alles in een kleine 8-pins koffer.
Het is gelegen op een klein bord met 4 pinnen: VIN, GND, SCL en SDA.
Dit maakt het heel gemakkelijk om de sensor via I2C aan te sluiten op een microcontroller.
In dit voorbeeld gebruiken we een ESP32 Dev kit
We verbinden de volgende pinnen:
ESP32 Dev Kit |
BMP280-module |
3.3v |
Vin |
Gnd |
Gnd |
Scl |
Scl |
Sda |
Sda |
We gebruiken 2 bibliotheken van Adafruit voor ons project: "Adafruit Unified Sensors" en "Adafruit BMP280 Library"
Als ze nog niet zijn geïnstalleerd, de makkelijkste manier om ze te integreren is via de bibliotheek manager van de Arduino IDE.
Dan, via "File" - "Voorbeelden" - "Adafruit BMP Library" - "bmp280test" open de testschets.
Nadat de schets is gecompileerd en geüpload, openen we de seriële monitor door rechtsboven op het pictogram te klikken (of met de toetscombinatie Ctrl+Shift+M):
Code:
#include <Draad.H> #include <Adafruit_Sensor.H> #include <Adafruit_BMP280.H> #define BMP_SDA 21 #define BMP_SCL 22 Adafruit_BMP280 Bmp; I2c Void Setup() { Seriële.Beginnen(9600); Seriële.println(V("BMP280-test")); Als (!Bmp.Beginnen()) { Seriële.println("Kon niet vinden een geldige BMP280!"); Terwijl (1); } } Void Lus() { Seriële.Afdrukken("T = "); Seriële.Afdrukken(Bmp.leesTemperatuur()); Seriële.println(" °C"); Seriële.Afdrukken("P = "); Seriële.Afdrukken(Bmp.leesDruk()/100); Seriële.println(" hPa "); Seriële.Afdrukken("H = "); Seriële.Afdrukken(Bmp.readAltitude(1013.25)); Seriële.println("m"); Seriële.println(); Vertraging(2000); }
tot de volgende post :)
3 Reacties
User
In einem anderen Forum habe ich folgende Aussage dazu gefunden wie Steffen schon bemerkt hat: "Connecting SDO to GND results in slave address 1110110 (0×76), connecting it to VCC results in slave address 1110111 (0×77), which is the same as BMP180’s I²C address. "
Steffen
Das BMP280 Board (blau) hat Konnektoren! Um die Sensoren per Adafruit_BMP280 Bibliothek per I2C ansprechen zu können, muss zusätzlich der SDO Pin auf Vcc gelegt werden. Sonst stimmen die I2C Adressen nicht.
Sebastian
Moin,
Ist es richtig das der BMP auch Luftfeuchtigkeit misst? Ich dachte das macht nur der BME?
Mit freundlichen Grüßen Sebastian