Hoe de BMP280 -temperatuur- en druksensor te gebruiken met Arduino

How to Use the BMP280 Temperature and Pressure Sensor with Arduino

De BMP280 is een zeer nauwkeurige sensor die barometrische druk, temperatuur en hoogte meet. Het wordt veel gebruikt in weerstations, hoogtetrackers en IoT -apparaten vanwege de nauwkeurigheid en I2C/SPI -communicatieopties. Deze tutorial zal u begeleiden door de BMP280 te verbinden en te gebruiken met Arduino.


Wat u nodig hebt

  1. BMP280 Sensor -module
  2. Arduino Board (bijv. UNO, Mega, Nano)
  3. Breadboard en jumper draden
  4. Een computer met de Arduino Ide geïnstalleerd

Stap 1: Inzicht in de BMP280

De BMP280 -sensor ondersteunt zowel I2C- als SPI -communicatie. De meeste breakout -boards standaard naar de I2C -modus, waarvoor minder draden vereist.

BMP280 pinout

Pin Functie
VCC Voeding (3.3V of 5V)
GND Grond
SCL I2c kloklijn
SDA I2C -gegevenslijn
CSB Chip Select voor SPI (optioneel)
SDO SPI Data Out/I2C -adresselectie
  • Opmerking: Verbind voor I2C -communicatie SDO naar GND voor het standaardadres (0x76) of om te vcc voor 0x77.

Stap 2: De BMP280 bedraden aan Arduino

Hier leest u hoe u de BMP280 in I2C -modus verbindt met een Arduino UNO:

BMP280 PIN Arduino Pin
VCC 5V
GND GND
SCL A5
SDA A4

Opmerking: Controleer voor andere Arduino -boards de specifieke I2C -pinnen in de documentatie van uw bord.


Stap 3: Installeer de vereiste bibliotheek

De bibliotheek "Adafruit BMP280" maakt het gemakkelijk om met de sensor te communiceren.

Stappen om de bibliotheek te installeren:

  1. Open de Arduino Ide.
  2. Gaan naar Schetsen > Library innemen > Bibliotheken beheren.
  3. Zoek naar "adafruit bmp280" en klik Installeren.
  4. Installeer ook de "Adafruit Unified Sensor" -bibliotheek indien gevraagd.

Stap 4: Upload de code

Hier is een voorbeeldschets om temperatuur, druk en hoogte van de BMP280 te lezen:

#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP280.h>

Adafruit_BMP280 bmp; // Create BMP280 object

void setup() {
  Serial.begin(9600);
  while (!Serial);

  Serial.println("BMP280 Sensor Test");

  if (!bmp.begin(0x76)) { // Default I2C address is 0x76
    Serial.println("Could not find a valid BMP280 sensor, check wiring!");
    while (1);
  }
}

void loop() {
  Serial.print("Temperature: ");
  Serial.print(bmp.readTemperature());
  Serial.println(" °C");

  Serial.print("Pressure: ");
  Serial.print(bmp.readPressure() / 100.0F); // Convert to hPa
  Serial.println(" hPa");

  Serial.print("Approx. Altitude: ");
  Serial.print(bmp.readAltitude(1013.25)); // Standard sea level pressure in hPa
  Serial.println(" m");

  Serial.println();
  delay(2000); // Wait for 2 seconds before the next reading
}

Stap 5: Test de installatie

  1. Sluit de Arduino via USB aan op uw computer.
  2. Open de Arduino IDE en selecteer de juiste Bord En Haven onder de Hulpmiddelen menu.
  3. Upload de code naar de Arduino door te klikken Uploaden.
  4. Open de seriële monitor (Hulpmiddelen > Serie -monitor) en stel het baudrates in op 9600.
  5. Bekijk de temperatuur-, druk- en hoogtewaarden die worden weergegeven in de seriële monitor.

Toepassingen van de BMP280

  1. Weerstations
  2. Hoogtemeting in drones
  3. IoT -omgevingsmonitoring
  4. Barometrische drukgebaseerde navigatie

Problemen oplossen

  • Geen reactie van de sensor: Controleer de bedrading dubbel en zorg ervoor dat het I2C-adres overeenkomt met de opstelling.
  • Onjuiste metingen: Zorg ervoor dat de sensor niet wordt blootgesteld aan extreme omgevingscondities of luchtstroomstoornissen.
  • Bibliotheekfouten: Controleer of de bibliotheek "Adafruit BMP280" correct is geïnstalleerd.

Conclusie

Je hebt de BMP280 -sensor met succes met Arduino gekoppeld, waardoor precieze metingen van temperatuur, druk en hoogte mogelijk zijn. Deze veelzijdige sensor is perfect voor een verscheidenheid aan toepassingen, van weermonitoring tot drone -navigatie. Experimenteer verder door de BMP280 te integreren met dataloggers, displays of IoT -platforms voor geavanceerde projecten!

Laat een reactie achter

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.