Hogyan kell használni a BMP180 barometrikus nyomásérzékelőt Arduino -val

How to Use the BMP180 Barometric Pressure Sensor with Arduino

A BMP180 egy nagy pontosságú barometrikus nyomás- és hőmérsékleti érzékelő, amely könnyen összekapcsolható az Arduino-val az I2C protokoll segítségével. Széles körben használják az időjárási megfigyelésben, a magasságmérésekben és az IoT alkalmazásokban. Ez az oktatóanyag vezeti a BMP180 csatlakoztatását és használatát az Arduino -val.


Mire lesz szüksége

  1. BMP180 érzékelő modul
  2. Arduino Board (például Uno, Mega, Nano)
  3. Kenyérlemez és jumper vezetékek
  4. Egy számítógép, amelyen az Arduino IDE telepített

1. lépés: A BMP180 megértése

A BMP180 a barometrikus nyomást és a hőmérsékletet méri, és a nyomás leolvasása alapján kiszámítja a magasságot. Az I2C protokoll segítségével kommunikál az Arduino -val.

BMP180 Pinout

Csap Funkció
Vin Tápegység (3,3 V/5 V)
GND Föld
SDA I2C adatsor
SCL I2C óravonal

2. lépés: A BMP180 bekapcsolása Arduino -ra

Így lehet csatlakoztatni a BMP180 -at egy Arduino UNO -hoz:

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

Jegyzet: Más Arduino táblák esetén ellenőrizze az I2C csapjait a testület dokumentációjában (például a Mega a 20. és 21. csapot használja az SDA és az SCL számára).


3. lépés: Telepítse a szükséges könyvtárat

Az "AdaFruit BMP085 Unified" könyvtár használható a BMP180 -hoz, mivel ez teljesen kompatibilis.

Lépések a könyvtár telepítéséhez:

  1. Nyissa meg az Arduino IDE -t.
  2. Elindul Vázlat > Tartalmazza a könyvtárat > Könyvtárak kezelése.
  3. Keressen az "AdaFruit BMP085 Unified" -re, és kattintson Beilleszt.

4. lépés: Töltse fel a kódot

Íme egy példa vázlat a hőmérséklet, a nyomás és a magasság kiszámításához:

#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
}

5. lépés: Tesztelje a beállítást

  1. Csatlakoztassa az Arduino -t a számítógépéhez USB -n keresztül.
  2. Nyissa meg az Arduino IDE -t, és válassza ki a megfelelőt Bizottság és Kikötő a Szerszámok menü.
  3. Töltse fel a kódot az Arduino -ba kattintással Feltöltés.
  4. Nyissa meg a soros monitort (Szerszámok > Soros monitor) és állítsa be az adatátviteli sebességet 9600.
  5. Vegye figyelembe a soros monitorban megjelenített nyomást, hőmérsékletet és magassági leolvasást.

A BMP180 alkalmazásai

  1. Időjárás -megfigyelő rendszerek
  2. Magasságmérés drónokban és repülésben
  3. IoT környezetvédelmi megfigyelés
  4. Barometrikus nyomásadatok naplózása

Hibaelhárítás

  • Nincs válasz az érzékelőtől: Ellenőrizze a vezetéket, és ellenőrizze, hogy a helyes I2C csapok használják -e.
  • Helytelen olvasmányok: Ellenőrizze, hogy az érzékelő nem szabad -e kitéve a szélsőséges környezeti feltételeknek.
  • Könyvtári hibák: Győződjön meg arról, hogy az "AdaFruit BMP085 Unified" könyvtár helyesen van telepítve.

Következtetés

Sikeresen csatlakoztatta a BMP180 barometrikus nyomásérzékelőt az Arduino -val. Ez a sokoldalú érzékelő ideális olyan projektekhez, amelyek pontos nyomást és hőmérsékleti mérést igényelnek. Kísérletezzen tovább azáltal, hogy integrálja azt adatnaplókkal, kijelzőkkel vagy IoT platformokkal!

Hagyj egy megjegyzést

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.