Barometro con bmp 180

Share

Ecco un esempio di codice Arduino per utilizzare il sensore di pressione atmosferica BMP180 per misurare la pressione atmosferica:

#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);
  if (!bmp.begin())
  {
    Serial.println("Impossibile trovare il sensore BMP180, controlla il collegamento!");
    while (1);
  }
  Serial.println("Sensore BMP180 collegato correttamente.");
  delay(1000);
}

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

  if (event.pressure)
  {
    float seaLevelPressure = 1013.25; // Pressione atmosferica al livello del mare (modifica questo valore con il tuo valore di riferimento)
    float atmosphericPressure = bmp.pressure / 100.0F;
    float altitude = bmp.readAltitude(seaLevelPressure);

    Serial.print("Pressione atmosferica: ");
    Serial.print(atmosphericPressure);
    Serial.println(" hPa");

    Serial.print("Altitudine: ");
    Serial.print(altitude);
    Serial.println(" metri");

    Serial.println();
  }
  else
  {
    Serial.println("Errore durante la lettura del sensore.");
  }

  delay(2000); // Aggiorna la lettura ogni 2 secondi
}

Assicurati di avere installato le librerie “Adafruit_Sensor” e “Adafruit_BMP085” nella tua IDE di Arduino. Puoi farlo selezionando “Strumenti -> Gestione Librerie” e cercando i nomi delle librerie.

Il codice inizializza il sensore BMP180 nel metodo ‘setup()‘ e controlla se è correttamente collegato. Nel loop principale, viene acquisita la lettura della pressione atmosferica e calcolata l’altitudine utilizzando il valore di pressione letto. I risultati vengono quindi stampati sulla porta seriale ogni 2 secondi.

Ricorda di impostare il valore corretto della pressione atmosferica al livello del mare nella variabile ‘seaLevelPressure‘ per ottenere letture accurate dell’altitudine. Puoi ottenere questo valore da una stazione meteo locale o da fonti affidabili online.