Cómo usar el sensor de temperatura y presión BMP280 con Arduino

How to Use the BMP280 Temperature and Pressure Sensor with Arduino

El BMP280 es un sensor de alta precisión que mide la presión barométrica, la temperatura y la altitud. Se usa ampliamente en estaciones meteorológicas, rastreadores de altitud y dispositivos IoT debido a su precisión y opciones de comunicación I2C/SPI. Este tutorial lo guiará a través de la conexión y el uso del BMP280 con Arduino.


Lo que necesitarás

  1. Módulo de sensor BMP280
  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 BMP280

El sensor BMP280 admite la comunicación I2C y SPI. La mayoría de los tableros de ruptura predeterminados al modo I2C, que requiere menos cables.

BMP280 PINOUT

Alfiler Función
VCC Fuente de alimentación (3.3V o 5V)
Gnd Suelo
SCL Línea de reloj I2C
SDA Línea de datos I2C
CSB Seleccionar chips para SPI (opcional)
SDO SPI Data Out/I2C Selección de direcciones
  • Nota: Para la comunicación I2C, conecta SDO a GND para la dirección predeterminada (0x76) o a VCC para 0x77.

Paso 2: Cableado el BMP280 a Arduino

Aquí le mostramos cómo conectar el BMP280 a un Arduino UNO en modo I2C:

PIN BMP280 Alfiler de arduino
VCC 5V
Gnd Gnd
SCL A5
SDA A4

Nota: Para otros tableros Arduino, consulte los pines I2C específicos en la documentación de su junta.


Paso 3: Instale la biblioteca requerida

La biblioteca "AdaFruit BMP280" hace que sea fácil interactuar con el sensor.

Pasos para instalar la biblioteca:

  1. Abra el IDE Arduino.
  2. Ir a Bosquejo > Incluir biblioteca > Administrar bibliotecas.
  3. Busque "AdaFruit BMP280" y haga clic Instalar.
  4. Además, instale la biblioteca "AdaFruit Unified Sensor" si se solicita.

Paso 4: cargar el código

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

#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP280.h>

Adafruit_BMP280 bmp; // Create BMP280 object

void setup() {
  Serial.begin(9600);
  while (!Serial);

  Serial.println("BMP280 Sensor Test");

  if (!bmp.begin(0x76)) { // Default I2C address is 0x76
    Serial.println("Could not find a valid BMP280 sensor, check wiring!");
    while (1);
  }
}

void loop() {
  Serial.print("Temperature: ");
  Serial.print(bmp.readTemperature());
  Serial.println(" °C");

  Serial.print("Pressure: ");
  Serial.print(bmp.readPressure() / 100.0F); // Convert to hPa
  Serial.println(" hPa");

  Serial.print("Approx. Altitude: ");
  Serial.print(bmp.readAltitude(1013.25)); // Standard sea level pressure in hPa
  Serial.println(" m");

  Serial.println();
  delay(2000); // Wait for 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 temperatura, presión y altitud que se muestran en el monitor en serie.

Aplicaciones del BMP280

  1. Estaciones meteorológicas
  2. Medición de altitud en drones
  3. Monitoreo ambiental de IoT
  4. Navegación basada en la presión barométrica

Solución de problemas

  • Sin respuesta del sensor: Compruebe dos veces el cableado y asegúrese de que la dirección I2C coincida con la configuración.
  • Lecturas incorrectas: Asegúrese de que el sensor no esté expuesto a condiciones ambientales extremas o alteraciones del flujo de aire.
  • Errores de la biblioteca: Verifique que la biblioteca "AdaFruit BMP280" esté instalada correctamente.

Conclusión

Has interactuado con éxito el sensor BMP280 con Arduino, permitiendo mediciones precisas de temperatura, presión y altitud. Este sensor versátil es perfecto para una variedad de aplicaciones, desde el monitoreo del clima hasta la navegación de drones. ¡Experimente aún más integrando el BMP280 con registradores de datos, pantallas o plataformas IoT para proyectos avanzados!

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.