Come utilizzare il sensore di pressione barometrico BMP180 con Arduino

How to Use the BMP180 Barometric Pressure Sensor with Arduino

Il BMP180 è un sensore barometrico e temperatura barometrico ad alta precisione che può essere facilmente interfacciato con Arduino usando il protocollo I2C. È ampiamente utilizzato nel monitoraggio meteorologico, nelle misurazioni dell'altitudine e nelle applicazioni IoT. Questo tutorial ti guiderà attraverso la connessione e l'utilizzo del BMP180 con Arduino.


Cosa avrai bisogno

  1. Modulo sensore BMP180
  2. Arduino Board (ad es. Uno, Mega, Nano)
  3. Breadboard e fili jumper
  4. Un computer con l'IDE Arduino installato

Passaggio 1: Comprensione del BMP180

BMP180 misura la pressione e la temperatura barometriche e può calcolare l'altitudine in base alle letture della pressione. Comunica con Arduino usando il protocollo I2C.

Pinout BMP180

Spillo Funzione
Vin Alimentazione (3.3V/5V)
GND Terra
SDA Linea di dati I2C
SCL Linea di orologio i2c

Passaggio 2: Cablaggio del BMP180 ad Arduino

Ecco come collegare il BMP180 a un Arduino Uno:

Pin BMP180 Arduino Pin
Vin 5v
GND GND
SDA A4
SCL A5

Nota: Per altre schede Arduino, verificare i pin i2C nella documentazione della tua scheda (ad esempio, Mega usa i pin 20 e 21 per SDA e SCL).


Passaggio 3: installare la libreria richiesta

La libreria "Adafruit BMP085 Unified" può essere utilizzata per BMP180 in quanto è completamente compatibile.

Passaggi per installare la libreria:

  1. Apri l'IDE Arduino.
  2. Vai a Schizzo > Includi la libreria > Gestisci le biblioteche.
  3. Cerca "Adafruit BMP085 Unified" e fai clic su Installare.

Passaggio 4: caricare il codice

Ecco uno schizzo di esempio per leggere la temperatura, la pressione e calcolare l'altitudine:

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

Passaggio 5: testare l'installazione

  1. Collega l'Arduino al tuo computer tramite USB.
  2. Apri l'IDE Arduino e seleziona il corretto Asse E Porta sotto il Utensili menu.
  3. Carica il codice su Arduino facendo clic Caricamento.
  4. Apri il monitor seriale (Utensili > Monitor seriale) e impostare il tasso di baud su 9600.
  5. Osservare le letture di pressione, temperatura e altitudine visualizzate nel monitor seriale.

Applicazioni del BMP180

  1. Sistemi di monitoraggio meteorologico
  2. Misurazione dell'altitudine nei droni e nell'aviazione
  3. Monitoraggio ambientale IoT
  4. Registrazione dei dati di pressione barometrica

Risoluzione dei problemi

  • Nessuna risposta dal sensore: Controllare il cablaggio e assicurarsi che vengano utilizzati i perni I2C corretti.
  • Letture errate: Verificare che il sensore non sia esposto a condizioni ambientali estreme.
  • Errori della libreria: Assicurarsi che la libreria "Adafruit BMP085 Unified" sia installata correttamente.

Conclusione

Hai interfacciato con successo il sensore di pressione barometrico BMP180 con Arduino. Questo sensore versatile è ideale per progetti che richiedono misurazioni accurate di pressione e temperatura. Sperimenta ulteriormente integrandolo con logger di dati, display o piattaforme IoT!

Lascia un commento

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.