- Componentes requeridos
- Módulo sensor de presión BMP280:
- Diagrama de circuito para interconectar BMP280 con Arduino:
- Programa Arduino para interconectar BMP280 con Arduino:
- Trabajo del proyecto de interfaz del sensor de presión Arduino BMP280
Si desea construir su propio sistema de monitoreo de temperatura o medir la altitud de su dron o simplemente desea medir la presión atmosférica en su área, entonces uno de los mejores módulos para usar en su proyecto es el módulo de sensor de presión BMP280. BMP280 es un sensor de monitoreo de temperatura y presión absoluta que es la versión mejorada de los sensores BMP085, BMP180, BMP183. ¿Por qué se llama versión mejorada? Se discutirá en las siguientes secciones. Ya hemos utilizado la versión anterior BMP180 con Arduino en uno de nuestros tutoriales anteriores.
El módulo sensor BMP280 se puede usar junto con microcontroladores como Arduino, PIC, AVR, etc. Para este proyecto usaremos Arduino Uno con BMP280 junto con un módulo de pantalla LCD 16x2, para mostrar valores de temperatura y presión. Antes de conectar el BMP280 con Arduino, necesitamos descargar la biblioteca BMP280 Arduino, que es desarrollada por Adafruit. Haga clic en este enlace de la biblioteca Adafruit BMP280 para abrir la página de Github respectiva y agregar el archivo de encabezado a su IDE de Arduino.
Componentes requeridos
- Arduino
- BMP280
- Conexión de cables
- Tabla de pan
- LCD- 16x2
Módulo sensor de presión BMP280:
El módulo sensor BMP280 funciona con el voltaje mínimo (VDD) de 1,71 V, mientras que los módulos de sensor de la versión anterior funcionan con 1,8 V (VDD). Cuando se trata de consumo de corriente, BMP280 consume 2.7uA, mientras que BMP180 consume 12uA, y BMP183 y BMP085 consumen 5uA cada uno. El BMP280 también admite nuevos modos de filtro. El módulo de sensor BMP280 admite los protocolos I2c y SPI, mientras que el sensor restante admite I2c o SPI. El módulo de sensor BMP280 tiene una precisión de ± 0,12 hPa, lo que equivale a ± 1 m de diferencia de altitud. Debido a estas características clave, se utiliza principalmente en varias aplicaciones. El sensor BMP consta de un elemento sensor de presión, un elemento sensor de humedad y un elemento sensor de temperatura que se conectan además al extremo frontal de presión, al extremo frontal de humedad y al extremo frontal de temperatura. Estos circuitos integrados frontales son amplificadores analógicos de sensibilidad que se utilizan en la amplificación de pequeñas señales. La salida de estos circuitos integrados analógicos de front-end se alimenta al ADC como una señal de entrada. En este, los valores analógicos se convierten en voltaje digital y este voltaje se alimenta a los circuitos lógicos para una mayor interfaz con el mundo exterior.
El módulo del sensor BMP280 consta de tres modos de energía: modo de suspensión, modo forzado y modo normal. En el modo de reposo, no se realizan mediciones y el consumo de energía es mínimo. En el modo forzado, se realiza una única medición de acuerdo con las opciones de medición y filtro seleccionadas. El modo normal alterna continuamente entre la medición y el período de espera, y el período de tiempo de los ciclos lo define Tstandby. La corriente en el modo de espera es ligeramente más alta que en el modo de suspensión.
Diagrama de circuito para interconectar BMP280 con Arduino:
El diagrama de circuito para conectar el Arduino con el sensor BMP280 y la pantalla LCD se muestra a continuación. Si es completamente nuevo en Arduino y LCD, puede consultar este tutorial de Arduino LCD para comprender cómo usar Arduino con pantallas LCD.
Los pines VCC y GND del sensor están conectados a los pines 3v3 y GND del Arduino. Los pines SCL y SDA del sensor están conectados al A5 y A4 de la placa Arduino. Las conexiones de la pantalla LCD son las siguientes
Nombre del pin LCD |
Pin de Arduino |
VSS y RW |
GND |
RS |
D9 |
mi |
D8 |
D4, D5, D6, D7 |
D5, D4, D3, D2 |
Programa Arduino para interconectar BMP280 con Arduino:
El código completo BMP280 Arduino se puede encontrar en la parte inferior de esta página, que se puede cargar directamente en su placa Arduino. La explicación de la misma se da a continuación.
Estas bibliotecas se incluyen para habilitar las funciones especiales. Los archivos de encabezado #include podemos leer directamente los valores provenientes del sensor. El #include
#incluir
Creando en el objeto BMP para Adafruit_BMP280. Se crea un archivo de objeto para acceder a funciones especiales.
Adafruit_BMP280 bmp; // I2C
Configuración de los pines del Arduino para comunicarse con la pantalla LCD. Usando estos pines, los datos se transferirán.
LCD LiquidCrystal (9, 8, 5, 4, 3, 2);
Inicialización de la pantalla LCD y comunicación en serie.
configuración vacía () {lcd.begin (16,2); Serial.begin (9600); Serial.println (F ("prueba BMP280")); lcd.print ("Bienvenido a"); lcd.setCursor (0,1); lcd.print ("RESUMEN DEL CIRCUITO"); retraso (1000); lcd.clear (); if (! bmp.begin ()) {Serial.println (F ("No se pudo encontrar un sensor BMP280 válido, verifique el cableado!")); mientras (1); }
Esta función funciona cuando falla la inicialización del objeto bmp.
/ * Configuración predeterminada de la hoja de datos. * / bmp.setSampling (Adafruit_BMP280:: MODE_NORMAL, / * Modo de funcionamiento. * / Adafruit_BMP280:: SAMPLING_X2, / * Sobremuestreo de temperatura * / Adafruit_BMP280:: SAMPLING_X16, / * Sobremuestreo de presión * / Adafruit_BMP280:: / FILTER_X16. * / Adafruit_BMP280:: STANDBY_MS_500); /* Tiempo de espera. * /}
Esta parte del código imprime la temperatura en el monitor en serie y tiene fines de depuración.
bucle vacío () {Serial.print (F ("Temperatura =")); Serial.print (bmp.readTemperature ()); Serial.println ("* C");
Las funciones bmp.readPressure y bmp.readTemprature se utilizan para invocar funciones especiales y devolver los valores de temperatura y presión.
lcd.print (bmp.readTemperature ()); lcd.print (bmp.readPressure ());
Trabajo del proyecto de interfaz del sensor de presión Arduino BMP280
Las funciones bmp.readTemprature () y bmp.readPressure () se utilizan para devolver los valores de temperatura y presión. Estas funciones son un grupo de declaraciones que realizan una tarea especial, en nuestro caso, devolver archivos de temperatura y presión. Estas funciones se invocan mediante las funciones bmp.readTemprature () y bmp.readPressure () . El lcd.setCursor establece el cursor de la pantalla en la posición deseada en la pantalla. La impresión lcd. El comando imprime los datos desde la posición establecida por el programador. Si no hay una posición establecida para la pantalla LCD de forma predeterminada, toma (0,0) como posición inicial y continúa imprimiendo los datos. Los siguientes datos toman la posición de la siguiente columna y el procedimiento continúa hasta que llega al final de la fila y cambia a la siguiente fila.
El BMP280 se puede utilizar en juguetes voladores, teléfonos móviles, tabletas, PC, dispositivos GPS, dispositivos sanitarios portátiles, estaciones meteorológicas domésticas, etc. Siguiendo este procedimiento y utilizando archivos de encabezado y algunas funciones especiales, podemos conectar fácilmente el BMP280 con el Arduino. El trabajo completo también se puede encontrar en el video que se muestra a continuación, espero que haya disfrutado de este tutorial de Arduino BMP280 y haya aprendido algo útil. Si tiene alguna pregunta, déjela en la sección de comentarios a continuación o use los foros para otras preguntas técnicas.