Instrucciones para el Sensor BME280 con Arduino (Presión, Temperatura, Humedad)

¡Aprende a utilizar el sensor BME280 con Arduino para medir presión, temperatura y humedad! En este artículo te proporcionamos las instrucciones paso a paso para sacarle el máximo provecho a este versátil dispositivo. Descubre cómo obtener lecturas precisas y útiles con tan solo unos cuantos pasos sencillos. ¡No te lo pierdas!

Esta guía muestra cómo medir la presión, la temperatura, la humedad y la altitud utilizando el módulo de sensor BME280 y Arduino. Le mostraremos cómo cablear el sensor, instalar las bibliotecas necesarias y escribir un boceto simple para mostrar los valores del sensor.

Instrucciones para el Sensor BME280 con Arduino (Presión, Temperatura, Humedad)

Quizás también quieras leer otras guías de BME280:

  • ESP32 con sensor BME280 usando Arduino IDE
  • Servidor web ESP32 con BME280 – estación meteorológica
  • ESP8266 con BME280 usando Arduino IDE
  • ESP32/ESP8266 con BME280 usando MicroPython

Introducción del módulo de sensor BME280

El Sensor BME280 El módulo mide la presión del aire, la temperatura y la humedad. Dado que la presión cambia con la altitud, también se puede estimar la altitud. Hay varias versiones de este módulo de sensor. El sensor BME280 utiliza el protocolo de comunicación I2C o SPI para intercambiar datos con un microcontrolador.

Usamos el módulo que se muestra en la siguiente figura.

Instrucciones para el Sensor BME280 con Arduino (Presión, Temperatura, Humedad)

Este sensor se comunica mediante el protocolo de comunicación I2C, por lo que el cableado es muy sencillo. Conecta el sensor BME280 a los pines Arduino Uno I2C como se muestra en la siguiente tabla:

BME280 arduino
vino 5V
Dimensiones Dimensiones
SCL A5
ASD A4

Existen otras versiones de este sensor que pueden usar protocolos de comunicación SPI o I2C, como el módulo que se muestra en la siguiente figura:

Instrucciones para el Sensor BME280 con Arduino (Presión, Temperatura, Humedad)

Si usa uno de estos sensores, use los siguientes pines para usar el protocolo de comunicación I2C:

BME280 arduino
SCK (pasador SCL) A5
SDI (pin SDA) A4

Si utiliza el protocolo de comunicación SPI, deberá utilizar los siguientes pines:

BME280 arduino
SCK (reloj SPI) Pluma 13
SDO (MISO) Pluma 12
IDE (MOSI) Pluma 11
CS (selección de chips) Pluma 10

Piezas requeridas

Para completar este tutorial necesitarás las siguientes partes:

Puedes utilizar los enlaces anteriores o ir directamente MakerAdvisor.com/tools ¡Para encontrar todas las piezas para tus proyectos al mejor precio!

Instrucciones para el Sensor BME280 con Arduino (Presión, Temperatura, Humedad)

Esquema

Conecte el sensor BME280 a su placa Arduino como se muestra en el siguiente esquema.

Instrucciones para el Sensor BME280 con Arduino (Presión, Temperatura, Humedad)

Instalación de la biblioteca BME280

Para obtener lecturas del módulo sensor BME280, utilice el Biblioteca Adafruit_BME280Siga los siguientes pasos para instalar la biblioteca en su IDE de Arduino:

Abra su IDE de Arduino y vaya a Bosquejo > incluir biblioteca > Administrar bibliotecas. El administrador de la biblioteca debería abrirse.

Buscar «Adafruit BME280 ”en el campo de búsqueda e instale la biblioteca.

Instrucciones para el Sensor BME280 con Arduino (Presión, Temperatura, Humedad)

Instalación de la biblioteca Adafruit_Sensor

Además, para utilizar la biblioteca BME280, debe tener la Biblioteca Adafruit_SensorSiga los siguientes pasos para instalar la biblioteca en su IDE de Arduino:

Ir a Bosquejo > incluir biblioteca > Administrar bibliotecas y escribe “Sensor unificado de Adafruit”en el campo de búsqueda. Desplácese hacia abajo para buscar e instalar la biblioteca.

Instrucciones para el Sensor BME280 con Arduino (Presión, Temperatura, Humedad)

Después de instalar las bibliotecas, reinicie su IDE de Arduino.

Lectura de presión, temperatura y humedad.

Para leer la presión, la temperatura y la humedad, utilizamos un ejemplo de boceto de la biblioteca.

Instrucciones para el Sensor BME280 con Arduino (Presión, Temperatura, Humedad)

Después de instalar la biblioteca BME280 y la biblioteca Adafruit_Sensor, abra el IDE de Arduino y vaya a archivo > Ejemplos > Biblioteca Adafruit BME280 > bme280 revisión.

/*
 * Complete Project Details https://randomnerdtutorials.com
*/

#include <Wire.h>
#include <SPI.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>

#define BME_SCK 13
#define BME_MISO 12
#define BME_MOSI 11
#define BME_CS 10

#define SEALEVELPRESSURE_HPA (1013.25)

Adafruit_BME280 bme; // I2C
//Adafruit_BME280 bme(BME_CS); // hardware SPI
//Adafruit_BME280 bme(BME_CS, BME_MOSI, BME_MISO, BME_SCK); // software SPI

unsigned long delayTime;

void setup() {
  Serial.begin(9600);
  Serial.println(F("BME280 test"));

  bool status;
  
  // default settings
  // (you can also pass in a Wire library object like &Wire2)
  status = bme.begin();  
  if (!status) {
    Serial.println("Could not find a valid BME280 sensor, check wiring!");
    while (1);
  }
  
  Serial.println("-- Default Test --");
  delayTime = 1000;

  Serial.println();
}


void loop() { 
  printValues();
  delay(delayTime);
}


void printValues() {
  Serial.print("Temperature = ");
  Serial.print(bme.readTemperature());
  Serial.println(" *C");
  
  // Convert temperature to Fahrenheit
  /*Serial.print("Temperature = ");
  Serial.print(1.8 * bme.readTemperature() + 32);
  Serial.println(" *F");*/
  
  Serial.print("Pressure = ");
  Serial.print(bme.readPressure() / 100.0F);
  Serial.println(" hPa");
  
  Serial.print("Approx. Altitude = ");
  Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA));
  Serial.println(" m");
  
  Serial.print("Humidity = ");
  Serial.print(bme.readHumidity());
  Serial.println(" %");
  
  Serial.println();
}

Ver código sin formato

Cómo funciona el código

Continúe leyendo esta sección para aprender cómo funciona el código o pase a la sección de demostración.

Bibliotecas

El código comienza con la integración de las bibliotecas requeridas: cable Biblioteca para usar I2C y el Adafruit_Sensor Y Adafruit_BME280 Bibliotecas para interactuar con el sensor BME280.

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

comunicación SPI

Dado que estamos utilizando comunicación I2C, se comentan las siguientes líneas que definen los pines SPI:

/*#define BME_SCK 13
#define BME_MISO 12
#define BME_MOSI 11
#define BME_CS 10*/

presión al nivel del mar

una variable llamada SEALEVELPRESSURE_HPA creado.

#define SEALEVELPRESSURE_HPA (1013.25)

Esta variable almacena la presión al nivel del mar en hectopascales (equivalente a milibares). Esta variable se utiliza para estimar la altitud para una presión determinada comparándola con la presión al nivel del mar. Este ejemplo utiliza el valor predeterminado. Sin embargo, para obtener resultados más precisos, reemplace el valor con la presión actual al nivel del mar en su ubicación.

I2C

Este ejemplo utiliza el protocolo de comunicación I2C de forma predeterminada. Como puedes ver, sólo necesitas uno. Adafruit_BME280 Objeto nombrado bme.

Adafruit_BME280 bme; // I2C

Para usar SPI, debe comentar esta línea anterior y descomentar una de las siguientes líneas.

//Adafruit_BME280 bme(BME_CS); // hardware SPI
//Adafruit_BME280 bme(BME_CS, BME_MOSI, BME_MISO, BME_SCK); // software SPI

configuración()

En el configuración()iniciar la comunicación en serie:

Serial.begin(9600);

Y el sensor se inicializa:

status = bme.begin(); 
if (!status) {
  Serial.println("Could not find a valid BME280 sensor, check wiring!");
  while (1);
}

Nota: Si no obtiene lecturas del sensor al probarlo, es posible que necesite encontrar la dirección I2C de su sensor BME280. Con el BME280 conectado a tu Arduino, haz lo siguiente: este boceto del escáner I2C para verificar la dirección de su sensor. Luego pasa la dirección al comenzar() Método.

Imprimir valores

En el Cinta()El imprimirValores() La función lee los valores del BME280 e imprime los resultados en el monitor serie.

void loop() { 
  printValues();
  delay(delayTime);
}

Leer la temperatura, la humedad, la presión y la altitud es fácil utilizando los siguientes métodos en el bme Objeto:

  • bme.readTemperatura() – lee la temperatura en grados Celsius;
  • bme.readHumedad() – lee la humedad absoluta;
  • bme.readPresión() – muestra la presión en hPa (HectoPascal = milibares);
  • bme.readAltitude(SEALEVELPRESSURE_HPA) – estima la altitud en metros basándose en la presión al nivel del mar.

demostración

Instrucciones para el Sensor BME280 con Arduino (Presión, Temperatura, Humedad)

Sube el código a tu placa Arduino.

Instrucciones para el Sensor BME280 con Arduino (Presión, Temperatura, Humedad)

Abra el monitor serie con una velocidad de 9600 baudios.

Instrucciones para el Sensor BME280 con Arduino (Presión, Temperatura, Humedad)

Deberías ver las lecturas en el monitor serie.

Instrucciones para el Sensor BME280 con Arduino (Presión, Temperatura, Humedad)

Envolver

El BME280 ofrece una forma sencilla y rentable de determinar los valores de presión, temperatura y humedad. El sensor se comunica mediante el protocolo de comunicación I2C, lo que significa que el cableado es muy sencillo. Todo lo que necesitas hacer es conectar el sensor a los pines Arduino I2C.

Escribir el código para recuperar los valores del sensor también es muy sencillo gracias a la biblioteca BME280_Adafruit. Sólo tienes que leer temperatura(), leerhumedad() Y leer imprimir() Métodos. También puede ajustar la altura usando el leer altura() Método.

Tenemos guías para otros sensores y módulos que utilizan Arduino que pueden resultarle útiles:

  • Sensor de humedad y temperatura DHT11/DHT22 con Arduino
  • Sensor de temperatura DS18B20 con Arduino
  • Pantalla OLED I2C con Arduino
  • Módulo de relé con Arduino
  • Sensor ultrasónico HC-SR04 con Arduino

Si desea obtener más información sobre Arduino, consulte nuestros recursos:

  • Curso de proyecto Arduino paso a paso.
  • Proyectos y tutoriales gratuitos de Arduino
  • mini curso de arduino

Gracias por leer.

Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded

<!DOCTYPE html>






Instrucciones para el Sensor BME280 con Arduino (Presión, Temperatura, Humedad)

Introducción al Sensor BME280

El sensor BME280 es un módulo que lee la presión barométrica, la temperatura y la humedad. Además, debido a que la presión cambia con la altitud, también puedes estimar la altitud. Existen varias versiones de este módulo de sensor, siendo la versión que utiliza el protocolo de comunicación I2C la más común.

¿Qué necesitas para utilizar el Sensor BME280 con Arduino?

  1. Sensor BME280
  2. Arduino
  3. Protoboard
  4. Cables jumper

Diagrama Esquemático

Para comenzar, debes cablear el sensor BME280 a tu placa Arduino de la siguiente manera:

Instalación de las Bibliotecas Necesarias

Para poder obtener lecturas del sensor BME280, es necesario instalar la biblioteca Adafruit_BME280 en tu IDE de Arduino. Sigue los siguientes pasos:

  1. Abre tu IDE de Arduino y ve a Sketch > Include Library > Manage Libraries.
  2. Busca «adafruit bme280» en la barra de búsqueda e instala la biblioteca.

Además, para utilizar la biblioteca BME280, también necesitas instalar la biblioteca Adafruit_Sensor. Sigue estos pasos:

  1. Ve a Sketch > Include Library > Manage Libraries e ingresa «Adafruit Unified Sensor» en la búsqueda.
  2. Desplázate hacia abajo para encontrar la biblioteca y procede a instalarla.

Lectura de Presión, Temperatura y Humedad

Para leer presión, temperatura y humedad, se puede utilizar un sketch de ejemplo proporcionado por la biblioteca. Asegúrate de tener todo correctamente conectado y sube el siguiente código a tu placa Arduino:

«`C++
#include
#include
#include

#define BME_SCK 13
#define BME_MISO 12
#define BME_MOSI 11
#define BME_CS 10

#define SEALEVELPRESSURE_HPA (1013.25)

Adafruit_BME280 bme; // I2C

unsigned long delayTime;

void setup() {
Serial.begin(9600);
Serial.println(F(«BME280 test»));

bool status;

status = bme.begin();
if (!status) {
Serial.println(«No se pudo encontrar un sensor BME280 válido, ¡verifica las conexiones!»);
while (1);
}

Serial.println(«– Prueba Predeterminada –«);
delayTime = 1000;
}

void loop() {
printValues();
delay(delayTime);
}

void printValues() {
Serial.print(«Temperatura = «);
Serial.print(bme.readTemperature());
Serial.println(» *C»);

Serial.print(«Presión = «);
Serial.print(bme.readPressure() / 100.0F);
Serial.println(» hPa»);

Serial.print(«Altitud Aproximada = «);
Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA));
Serial.println(» m»);

Serial.print(«Humedad = «);
Serial.print(bme.readHumidity());
Serial.println(» %»);

Serial.println();
}
«`

Una vez subido el código, abre el Monitor Serial con una velocidad de 9600 baudios para ver las lecturas del sensor.

Conclusión

El sensor BME280 proporciona una forma fácil y económica de obtener lecturas de presión, temperatura y humedad. Además, la comunicación a través del protocolo I2C hace que la conexión con Arduino sea muy sencilla. ¡Experimenta con este sensor y descubre las posibilidades que te ofrece en tus proyectos!


4 comentarios en «Instrucciones para el Sensor BME280 con Arduino (Presión, Temperatura, Humedad)»

Deja un comentario