Cum se folosește senzorul de presiune barometric BMP180 cu Arduino

How to Use the BMP180 Barometric Pressure Sensor with Arduino

BMP180 este un senzor de presiune barometrică și temperatură barometrică de înaltă precizie, care poate fi ușor interfațat cu Arduino folosind protocolul I2C. Este utilizat pe scară largă în monitorizarea vremii, măsurătorile altitudinii și aplicațiile IoT. Acest tutorial vă va ghida prin conectare și utilizarea BMP180 cu Arduino.


Ce vei avea nevoie

  1. Modul de senzor BMP180
  2. Arduino Board (de exemplu, Uno, Mega, Nano)
  3. Tablă de pâine și jumper
  4. Un computer cu IDE Arduino instalat

Pasul 1: Înțelegerea BMP180

BMP180 măsoară presiunea și temperatura barometrică și poate calcula altitudinea pe baza citirilor de presiune. Comunică cu Arduino folosind protocolul I2C.

BMP180 PINOUT

Ac Funcţie
Vin Sursă de alimentare (3.3V/5V)
GND Sol
SDA Linia de date I2C
SCL Linia de ceas I2C

Pasul 2: Cablarea BMP180 către Arduino

Iată cum să conectați BMP180 la un Arduino UNO:

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

Nota: Pentru alte tablouri Arduino, verificați pinii I2C din documentația consiliului dvs. (de exemplu, Mega folosește pinii 20 și 21 pentru SDA și SCL).


Pasul 3: Instalați biblioteca necesară

Biblioteca „Adafruit BMP085 Unified” poate fi utilizată pentru BMP180, deoarece este complet compatibilă.

Pași pentru instalarea bibliotecii:

  1. Deschideți IDE Arduino.
  2. Du -te la Schiţa > Include biblioteca > Gestionați bibliotecile.
  3. Căutați „Adafruit BMP085 Unified” și faceți clic pe Instala.

Pasul 4: Încărcați codul

Iată un exemplu de schiță pentru a citi temperatura, presiunea și calcularea altitudinii:

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

Pasul 5: Testați configurarea

  1. Conectați Arduino la computer prin USB.
  2. Deschideți IDE Arduino și selectați corect Bord şi Port sub Instrumente meniu.
  3. Încărcați codul la Arduino făcând clic pe Încărcați.
  4. Deschideți monitorul în serie (Instrumente > Monitor în serie) și setați rata de transfer la 9600.
  5. Observați citirile de presiune, temperatură și altitudine afișate în monitorul serial.

Aplicațiile BMP180

  1. Sisteme de monitorizare a vremii
  2. Măsurarea altitudinii la drone și aviație
  3. IoT Monitorizare a mediului
  4. Înregistrare barometrică a datelor de presiunea barometrică

Depanare

  • Fără răspuns din partea senzorului: Verificați cablarea și asigurați -vă că sunt utilizate pinii I2C corecți.
  • Citiri incorecte: Verificați dacă senzorul nu este expus la condiții extreme de mediu.
  • Erori de bibliotecă: Asigurați -vă că biblioteca „Adafruit BMP085 Unified” este instalată corect.

Concluzie

Ați interfațat cu succes senzorul de presiune barometric BMP180 cu Arduino. Acest senzor versatil este ideal pentru proiectele care necesită măsurători precise de presiune și temperatură. Experimentați în continuare integrându -l cu jurnaluri de date, afișaje sau platforme IoT!

Lasă un comentariu

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.