Cómo usar el sensor de presión barométrica BMP180 con Arduino

How to Use the BMP180 Barometric Pressure Sensor with Arduino

El BMP180 es un sensor de presión y temperatura barométrica de alta precisión que se puede interactuar fácilmente con Arduino usando el protocolo I2C. Se usa ampliamente en el monitoreo del clima, las mediciones de altitud y las aplicaciones IoT. Este tutorial lo guiará a través de la conexión y el uso del BMP180 con Arduino.


Lo que necesitarás

  1. Módulo de sensor BMP180
  2. Arduino Board (por ejemplo, Uno, Mega, Nano)
  3. Cables de placa y jersey
  4. Una computadora con el Arduino IDE instalado

Paso 1: Comprender el BMP180

El BMP180 mide la presión y la temperatura barométricas y puede calcular la altitud en función de las lecturas de presión. Se comunica con Arduino usando el protocolo I2C.

BMP180 PINOUT

Alfiler Función
Empuje Fuente de alimentación (3.3V/5V)
Gnd Suelo
SDA Línea de datos I2C
SCL Línea de reloj I2C

Paso 2: Cableado el BMP180 a Arduino

Aquí le mostramos cómo conectar el BMP180 a un Arduino Uno:

Pin bmp180 Alfiler de arduino
Empuje 5V
Gnd Gnd
SDA A4
SCL A5

Nota: Para otros tableros Arduino, verifique los pines I2C en la documentación de su junta (por ejemplo, Mega usa Pins 20 y 21 para SDA y SCL).


Paso 3: Instale la biblioteca requerida

La biblioteca "AdaFruit BMP085 unificada" se puede usar para el BMP180, ya que es totalmente compatible.

Pasos para instalar la biblioteca:

  1. Abra el IDE Arduino.
  2. Ir a Bosquejo > Incluir biblioteca > Administrar bibliotecas.
  3. Busque "AdaFruit BMP085 unificado" y haga clic en Instalar.

Paso 4: cargar el código

Aquí hay un ejemplo de boceto para leer la temperatura, la presión y calcular la altitud:

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

Paso 5: prueba la configuración

  1. Conecte el Arduino a su computadora a través de USB.
  2. Abra el IDE Arduino y seleccione el correcto Junta y Puerto bajo el Herramientas menú.
  3. Sube el código al Arduino haciendo clic en Subir.
  4. Abra el monitor en serie (Herramientas > Monitor en serie) y establecer la tasa de baudios en 9600.
  5. Observe las lecturas de presión, temperatura y altitud que se muestran en el monitor en serie.

Aplicaciones del BMP180

  1. Sistemas de monitoreo del clima
  2. Medición de altitud en drones y aviación
  3. Monitoreo ambiental de IoT
  4. Registro de datos de presión barométrica

Solución de problemas

  • Sin respuesta del sensor: Verifique el cableado y asegúrese de que se usen los pines I2C correctos.
  • Lecturas incorrectas: Verifique que el sensor no esté expuesto a condiciones ambientales extremas.
  • Errores de la biblioteca: Asegúrese de que la biblioteca "AdaFruit BMP085 unificada" esté instalada correctamente.

Conclusión

Has interactuado con éxito el sensor de presión barométrica BMP180 con Arduino. Este sensor versátil es ideal para proyectos que requieren mediciones precisas de presión y temperatura. ¡Experimente aún más integrándolo con registradores de datos, pantallas o plataformas IoT!

Escribir un comentario

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.