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.