Sensor de presión y temperatura bmp180

El sensor de presión y temperatura BMP180 permite crear un barómetro para Arduino Uno. Con este sensor, puedes crear una estación meteorológica para tu casa añadiendo al circuito un sensor de temperatura y un display 1602 I2C. Veamos cómo conectar correctamente el sensor de presión al Arduino bmp180 (bmp080) y la salida de los datos de la presión del aire al monitor del puerto IDE de Arduino y a la pantalla LCD 1602.

Para esta actividad necesitaremos:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • sensor de presión barométrica bmp180;
  • pantalla LCD 16×2 i2c;
  • cables de conexion;
  • librerias SFE_BMP180.h y LiquidCrystal_I2C.h

Sensor de presión BMP180 datasheet, pinout

Capteur de pression bmp180 (datasheet)
Capteur de pression barométrica bmp180 pinout, datasheet

Características sensor presion BMP180:

  • Voltaje de Operación: 3.3V – 5V DC
  • Interfaz de comunicación: I2C (3.3V)
  • Rango de Presión: 300 a 1100 hPa (0.3-1.1bar)
  • Resolución: 1 Pa
  • Precisión absoluta: 1 hPa
  • Resolución de temperatura: 0.1°C
  • Precisión Temperatura: 1°C

Un barómetro es un aparato que mide la presión atmosférica. Los modernos barómetros electrónicos GY-68 Arduino y BMP180 se basan en el método piezoresistivo o de galgas extensométricas, es decir, los sensores cambian la resistencia del material bajo la acción de fuerzas de deformación. Observa que el sensor de presión de aire GY-68 está conectado a la alimentación de 3,3 voltios del microcontrolador Arduino Uno / Arduino Nano.

Cómo conectar sensor de presión BMP180 Arduino

Conexión un capteur de presión Arduino
Conexión un capteur de presión y temperatura Arduino
BMP180 (GY-68) Arduino Uno Arduino Nano Arduino Mega
GND GND GND GND
VIN 5V 5V 5V
SDA A4 A4 20
SCL A5 A5 21

La conexión con el microcontrolador Arduino se realiza a través de la interfaz I2C. Los contactos SCL / SDA y la alimentación del módulo se llevan al grupo de contactos. Además, para trabajar con el sensor BMP180, necesitarás instalar la biblioteca, que simplifica el trabajo con el módulo. Los comandos para bmp180 (bmp080) y gy-68 son los mismos, por lo que la biblioteca SFE_BMP180.h funcionará para todos los barómetros de la lista.

Programa Arduino para sensor de presión BMP180

#include "Wire.h"
#include "SFE_BMP180.h"

SFE_BMP180 pressure;
#define ALTITUDE 1655.0

void setup(){
   Serial.begin(9600);
   pressure.begin();
}

void loop(){
   char status;
   double T,P,p0,a;

   Serial.println();
   Serial.print("provided altitude: ");
   Serial.print(ALTITUDE,0);
   Serial.println(" meters");
  
   status = pressure.startTemperature();
   if (status != 0){
      delay(status);

      status = pressure.getTemperature(T);
      if (status != 0){
         Serial.print("temperature: ");
         Serial.print(T,2);
         Serial.println(" deg C");

         status = pressure.startPressure(3);
         if (status != 0){
            delay(status);

            status = pressure.getPressure(P,T);
            if (status != 0){
               Serial.print("absolute pressure: ");
               Serial.print(P,2);
               Serial.print(" mb, ");
               Serial.print(P*0.0295333727,2);
               Serial.println(" inHg");

              p0 = pressure.sealevel(P,ALTITUDE);
              Serial.print("relative (sea-level) pressure: ");
              Serial.print(p0,2);
              Serial.print(" mb, ");
              Serial.print(p0*0.0295333727,2);
              Serial.println(" inHg");
           }
        else Serial.println("error retrieving pressure measurement\n");
      }
      else Serial.println("error starting pressure measurement\n");
    }
    else Serial.println("error retrieving temperature measurement\n");
  }
  else Serial.println("error starting temperature measurement\n");

  delay(5000);
}

Explicación del código para sensor de presión de aire bmp180:

  1. para eliminar el efecto de la altitud al medir la presión atmosférica, utilice la función de nivel del mar y la altitud actual;
  2. si la temperatura del aire cambia, la presión se corrige.
Cnectar capteur bmp180 Arduino y LCD 1602
Cómo conectar capteur bmp180 Arduino y LCD 16×2 i2c
LCD 1602 i2c Arduino Uno Arduino Nano Arduino Mega
GND GND GND GND
VCC 5V 5V 5V
SDA A4 A4 20
SCL A5 A5 21

En el siguiente ejemplo, los datos de temperatura y presión se muestran en la pantalla LCD 1602 (la pantalla no incluye toda la información) con dos dispositivos conectados al bus i2c al mismo tiempo. En total, se pueden conectar hasta 127 dispositivos al bus i2c Arduino. Conecte la pantalla de texto al microcontrolador (según el diagrama mostrado arriba) y cargue el siguiente programa de ejemplo para el sensor GY-68 (BMP180).

Conectar sensor presion BMP180 Arduino y LCD 1602

#include "Wire.h"
#include "SFE_BMP180.h"

SFE_BMP180 pressure;
#define ALTITUDE 1655.0

#include "LiquidCrystal_I2C.h"
LiquidCrystal_I2C LCD(0x27,16,2);

void setup(){
   pressure.begin();
   LCD.init();
   LCD.backlight();
}

void loop(){
   char status;
   double T,P,p0,a;
 
   status = pressure.startTemperature();
   if (status != 0){
      delay(status);

      status = pressure.getTemperature(T);
      if (status != 0){
         LCD.setCursor(0, 0);
         LCD.print("Temp: ");
         LCD.print(T,2);
         LCD.print(" *C");

         status = pressure.startPressure(3);
         if (status != 0){
            delay(status);

            status = pressure.getPressure(P,T);
            if (status != 0){

              p0 = pressure.sealevel(P,ALTITUDE);
              LCD.setCursor(0, 1);
              LCD.print("Pres: ");
              LCD.print(p0,2);
              LCD.print(" mb, ");
           }
        else Serial.println("error retrieving pressure measurement\n");
      }
      else Serial.println("error starting pressure measurement\n");
    }
    else Serial.println("error retrieving temperature measurement\n");
  }
  else Serial.println("error starting temperature measurement\n");

  delay(5000);
}

Explicación del código para sensor bmp180 Arduino y LCD 1602:

  1. cambiando el code, puede mostrar la presión atmosférica absoluta en lugar de la temperatura;
  2. la biblioteca estándar LiquidCrystal.h para QAPASS se utiliza para este ejemplo.

Conclusión. El sensor de presión barométrica bmp180 es muy fácil de conectar a la placa y la biblioteca SFE_BMP180 permite utilizar este módulo en muchos proyectos de Arduino para principiantes. Esperamos que esta revisión le haya sido útil, y si tiene alguna pregunta sobre el trabajo con el módulo bmp180 (gy-68) – déjela en los comentarios de este artículo. Haremos todo lo posible para responder a cualquier pregunta.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *