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
- Módulo de sensor BMP180
- Arduino Board (por ejemplo, Uno, Mega, Nano)
- Cables de placa y jersey
- 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:
- Abra el IDE Arduino.
- Ir a Bosquejo > Incluir biblioteca > Administrar bibliotecas.
- 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
- Conecte el Arduino a su computadora a través de USB.
- Abra el IDE Arduino y seleccione el correcto Junta y Puerto bajo el Herramientas menú.
- Sube el código al Arduino haciendo clic en Subir.
- Abra el monitor en serie (Herramientas > Monitor en serie) y establecer la tasa de baudios en
9600
. - Observe las lecturas de presión, temperatura y altitud que se muestran en el monitor en serie.
Aplicaciones del BMP180
- Sistemas de monitoreo del clima
- Medición de altitud en drones y aviación
- Monitoreo ambiental de IoT
- 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!