Hoe de BMP180 -barometrische druksensor te gebruiken met Arduino

How to Use the BMP180 Barometric Pressure Sensor with Arduino

De BMP180 is een zeer nauwkeurige barometrische druk- en temperatuursensor die gemakkelijk kan worden ingebouwd met Arduino met behulp van het I2C-protocol. Het wordt veel gebruikt bij weerbewaking, hoogtemetingen en IoT -toepassingen. Deze zelfstudie zal u begeleiden door de BMP180 te verbinden en te gebruiken met Arduino.


Wat u nodig hebt

  1. BMP180 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 BMP180

De BMP180 meet barometrische druk en temperatuur en kan de hoogte berekenen op basis van de drukwaarden. Het communiceert met Arduino met behulp van het I2C -protocol.

BMP180 PINOUT

Pin Functie
Vin Voeding (3.3V/5V)
GND Grond
SDA I2C -gegevenslijn
SCL I2c kloklijn

Stap 2: de BMP180 bedraden aan Arduino

Hier leest u hoe u de BMP180 verbindt met een Arduino UNO:

BMP180 PIN Arduino Pin
Vin 5V
GND GND
SDA A4
SCL A5

Opmerking: Controleer voor andere Arduino -boards de I2C -pinnen in de documentatie van uw bestuur (bijv. Mega gebruikt pins 20 en 21 voor SDA en SCL).


Stap 3: Installeer de vereiste bibliotheek

De bibliotheek "Adafruit BMP085 Unified" kan worden gebruikt voor de BMP180 omdat deze volledig compatibel is.

Stappen om de bibliotheek te installeren:

  1. Open de Arduino Ide.
  2. Gaan naar Schetsen > Library innemen > Bibliotheken beheren.
  3. Zoek naar "Adafruit BMP085 Unified" en klik Installeren.

Stap 4: Upload de code

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

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

Adafruit_BMP085_Unified bmp = Adafruit_BMP085_Unified(10085);

void setup() {
  Serial.begin(9600);
  Serial.println("BMP180 Sensor Test");

  if (!bmp.begin()) {
    Serial.print("Could not find a valid BMP180 sensor, check wiring!");
    while (1);
  }
}

void loop() {
  sensors_event_t event;
  bmp.getEvent(&event);

  if (event.pressure) {
    // Display pressure
    Serial.print("Pressure: ");
    Serial.print(event.pressure);
    Serial.println(" hPa");

    // Display temperature
    float temperature;
    bmp.getTemperature(&temperature);
    Serial.print("Temperature: ");
    Serial.print(temperature);
    Serial.println(" °C");

    // Calculate altitude
    float seaLevelPressure = 1013.25; // hPa
    Serial.print("Altitude: ");
    Serial.print(bmp.pressureToAltitude(seaLevelPressure, event.pressure));
    Serial.println(" m");
    Serial.println();
  } else {
    Serial.println("Sensor error!");
  }

  delay(2000); // Wait 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 druk-, temperatuur- en hoogtewaarden die worden weergegeven in de seriële monitor.

Toepassingen van de BMP180

  1. Weerbewakingssystemen
  2. Hoogtemeting in drones en luchtvaart
  3. IoT -omgevingsmonitoring
  4. Barometrische drukgegevenslogboekregistratie

Problemen oplossen

  • Geen reactie van de sensor: Controleer de bedrading en zorg ervoor dat de juiste I2C -pinnen worden gebruikt.
  • Onjuiste metingen: Controleer of de sensor niet wordt blootgesteld aan extreme omgevingscondities.
  • Bibliotheekfouten: Zorg ervoor dat de bibliotheek "Adafruit BMP085 Unified" correct is geïnstalleerd.

Conclusie

Je hebt met succes de BMP180 -barometrische druksensor met Arduino gekoppeld. Deze veelzijdige sensor is ideaal voor projecten die nauwkeurige druk- en temperatuurmetingen vereisen. Experimenteer verder door het te integreren met dataloggers, displays of IoT -platforms!

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.