Jak użyć czujnika ciśnienia barometrycznego BMP180 z Arduino

How to Use the BMP180 Barometric Pressure Sensor with Arduino

BMP180 jest precyzyjnym czujnikiem ciśnienia barometrycznego i temperatury, który można łatwo połączyć z Arduino za pomocą protokołu I2C. Jest szeroko stosowany w monitorowaniu pogody, pomiarach wysokości i aplikacji IoT. Ten samouczek poprowadzi Cię przez połączenie i użycie BMP180 z Arduino.


Czego będziesz potrzebować

  1. Moduł czujnika BMP180
  2. Arduino Board (np. UNO, Mega, Nano)
  3. Druty chleba i skoczków
  4. Komputer z zainstalowanym Arduino IDE

Krok 1: Zrozumienie BMP180

BMP180 mierzy ciśnienie barometryczne i temperaturę i może obliczać wysokość na podstawie odczytów ciśnienia. Komunikuje się z Arduino za pomocą protokołu I2C.

BMP180 Pinout

Szpilka Funkcjonować
Vin Zasilacz (3,3 V/5 V)
GND Grunt
SDA I2C Linia danych
Scl Linia zegara I2C

Krok 2: Okablowanie BMP180 do Arduino

Oto jak podłączyć BMP180 z Arduino Uno:

Pin BMP180 PIN Arduino
Vin 5v
GND GND
SDA A4
Scl A5

Notatka: W przypadku innych tablic Arduino sprawdź szpilki I2C w dokumentacji swojej tablicy (np. Mega używa pinów 20 i 21 dla SDA i SCL).


Krok 3: Zainstaluj wymaganą bibliotekę

Biblioteka „Adafruit BMP085 Unified” może być używana dla BMP180, ponieważ jest w pełni kompatybilna.

Kroki do zainstalowania biblioteki:

  1. Otwórz Arduino IDE.
  2. Idź do Naszkicować > Uwzględnij bibliotekę > Zarządzaj bibliotekami.
  3. Wyszukaj „Adafruit BMP085 Unified” i kliknij Zainstalować.

Krok 4: Prześlij kod

Oto przykład szkicu do odczytu temperatury, ciśnienia i obliczenia wysokości:

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

Krok 5: Przetestuj konfigurację

  1. Podłącz Arduino do komputera za pomocą USB.
  2. Otwórz Arduino IDE i wybierz poprawne Tablica I Port pod Narzędzia menu.
  3. Prześlij kod do Arduino, klikając Wgrywać.
  4. Otwórz monitor szeregowy (Narzędzia > Monitor szeregowy) i ustaw wskaźnik transmisji na 9600.
  5. Obserwuj odczyty ciśnienia, temperatury i wysokości wyświetlane w monitorze szeregowym.

Zastosowania BMP180

  1. Systemy monitorowania pogody
  2. Pomiar wysokości u dronów i lotnictwa
  3. Monitorowanie środowiska IoT
  4. Rejestrowanie danych ciśnienia barometrycznego

Rozwiązywanie problemów

  • Brak odpowiedzi od czujnika: Sprawdź okablowanie i upewnij się, że używane są prawidłowe piny I2C.
  • Nieprawidłowe odczyty: Sprawdź, czy czujnik nie jest narażony na ekstremalne warunki środowiskowe.
  • Błędy biblioteczne: Upewnij się, że biblioteka „Adafruit BMP085 Unified” jest poprawnie zainstalowana.

Wniosek

Z powodzeniem połączyłeś barometryczny czujnik ciśnienia BMP180 z Arduino. Ten wszechstronny czujnik jest idealny do projektów wymagających dokładnych pomiarów ciśnienia i temperatury. Eksperymentuj dalej, integrując go z rejestratorami danych, wyświetlaczami lub platformami IoT!

Zostaw komentarz

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.