Dale a tu próximo proyecto la capacidad de sentir el mundo que lo rodea con BME280. Estos sensores están pre-calibrados y son fáciles de utilizar. No requieren componentes adicionales para que pueda comenzar a medir la temperatura, la humedad, la presión atmosférica y una altitud aproximada.
NOTA: También te puede interesar ver los sensores dht22, BMP280 y HTU21D.
En el corazón del módulo se encuentra el sensor digital de temperatura, humedad y presión de próxima generación fabricado por Bosch: BME280. Es un sucesor de sensores como BMP180, BMP085 o BMP183.
Este sensor de precisión puede medir la humedad relativa de 0 a 100 % con una precisión de ±3 %, la presión barométrica de 300 Pa a 1100 hPa con una precisión absoluta de ±1 hPa y la temperatura de -40 °C a 85 °C con una precisión de ±1,0 °C.
Las mediciones de presión son tan precisas (ruido de baja altitud de 0,25 m), incluso puede usarlo como un altímetro con una precisión de ± 1 metro.
Componentes requeridos (lista de materiales):
- Placa de desarrollo ESP32, ESP8266, Wemos d1 mini o equivalente.
- BME280 Sensor de temperatura, presión barométrica y altitud aproximada
- Cables de conexión. Estos cables te los puedes fabricar tú mismo siguiendo este tutorial.
- Fuente de alimentación de 5V (Micro USB o Externa).
Puede comprar los componentes requeridos de la mejor calidad. Elijo los componentes según la mejor relación calidad-precio.
Especificaciones técnicas BME280 sensor
- Rango de humedad: 0-100%
- El rango de temperatura es de-40 ° C- + 85 ° C
- Medición de humedad tiempo de respuesta: 1S
- Lag: humedad correspondiente 2%
- Rango de presión: 300-1100 hPa
- Precisión de la presión absoluto: Valor absoluto ± 1hPa (después de la soldadura)
- Precisión de temperatura total: ± 0,5 ° C (a 25 ° C)
- Interfaz de comunicación: I²C, SPI
- Voltaje de trabajo: DC5V (He visto algunos modelos de este sensor que funcionan a DC3.3V. Cuando compres, verifica el tuyo a que voltaje lo tienes que conectar.)
Requisitos de energía
El módulo viene con un regulador LM6206 de 3,3 V integrado y un traductor de nivel de voltaje I²C, por lo que puede usarlo con un microcontrolador lógico de 3,3 V o 5 V como Arduino sin preocupaciones.
El BME280 consume menos de 1 mA durante las mediciones y solo 5 μA durante la inactividad. Al ser de bajo consumo este módulo puede ser instalado en dispositivos cómo GPS, relojes y teléfonos móviles.
Interfaz I²C
El módulo presenta una interfaz I²C simple de dos cables que se puede conectar fácilmente con cualquier microcontrolador de su elección.
La dirección I²C predeterminada del módulo BME280 es 0x76 HEX y se puede cambiar fácilmente a 0x77 HEX con el puente de soldadura además del chip.
Procedimiento para cambiar la dirección I²C
- Localice el puente de soldadura además del chip. Por defecto, la almohadilla de cobre del medio está conectada a la almohadilla izquierda.
- ·Raspe la conexión entre la almohadilla de cobre del medio y la izquierda para desconectarlas con un cuchillo afilado.
- Agregue una gota de soldadura entre el medio y la almohadilla de cobre derecha para unirlos. Le permite configurar la dirección I²C 0x77 HEX.
Asignación de pines del sensor BME280
El módulo BME280 tiene solo 4 pines que lo conectan con el mundo exterior. Las conexiones son las siguientes:
- VIN es la fuente de alimentación para el módulo que puede estar entre 3,3 V y 5 V.
- GND tiene que estar conectado a GND
- SCL es un pin en serie para la interfaz I2C.
- ASD es un pin de datos en serie para la interfaz I2C.
Cableado del módulo BME280 sensor
Conectemos el módulo BME280. Las conexiones son bastante simples. Comience conectando el pin VIN a la salida de 5V y conecte GND a tierra (GND). Luego conectamos SCL con SCL y SDA con SDA.
Configuración del sensor BME280 en ESPHome
# Código I²C conectado a una placa ESP8266 el sda y scl cambia dependiendo de la placa
i2c:
sda: GPIO4
scl: GPIO5
scan: true
# Código del sensor
sensor:
- platform: bme280
temperature:
name: "BME280 albert Temperature"
oversampling: 16x
pressure:
name: "BME280 albert Pressure"
humidity:
name: "BME280 albert Humidity"
address: 0x76
update_interval: 60s
En address, si no te funciona con 0x76 intenta con 0x77
Variables de configuración:
- temperature (opcional): la información de la temperatura. sensor
- name (Obligatorio, cadena): El nombre del sensor de temperatura.
- oversampling (opcional): el parámetro de sobremuestreo para el sensor de temperatura.
- id (opcional, ID): establezca la ID de este sensor para usar en lambdas.
- Todas las demás opciones de Sensor.
- pressure (Opcional): La información para el sensor de presión.
- name (Obligatorio, cadena): El nombre del sensor de presión.
- oversampling (opcional): el parámetro de sobremuestreo para el sensor de temperatura.
- id (opcional, ID): establezca la ID de este sensor para usar en lambdas.
- Todas las demás opciones de Sensor.
- humidity (Opcional): La información para el sensor de presión.
- name (Obligatorio, cadena): El nombre del sensor de humedad.
- oversampling (opcional): el parámetro de sobremuestreo para el sensor de temperatura.
- id (opcional, ID): establezca la ID de este sensor para usar en lambdas.
- Todas las demás opciones de Sensor.
- address (opcional, int): especifique manualmente la dirección I²C del sensor. El valor predeterminado es
0x77
. Otra dirección puede ser0x76
. - iir_filter (opcional): configure un filtro de respuesta de impulso infinito para aumentar la precisión. Uno de
OFF
,2x
,4x
,16x
. El valor predeterminado esOFF
. - update_interval (opcional, tiempo): el intervalo para comprobar el sensor. El valor predeterminado es
60s
.
Opciones de sobre muestreo (oversampling)
Por defecto, el sensor BME280 mide cada valor 16 veces al solicitar un nuevo valor. Sin embargo, puede configurar esta cantidad. Posibles valores de oversampling (sobre muestreo):
- N
ONE (
se salta el valor) 1x
2x
4x
8x
16x
(defecto)
Precio sensor BME280
Cómo siempre, el precio variará dependiendo de dónde se compre, pero el precio está entre los 5 y los 18 euros. Cuidado de no confundir este sensor con el BMP280.
Descargo de responsabilidad
Esta guía asume que el lector tiene conocimientos intermedios y experiencia con prototipos electrónicos, soldadura, secuencias de comandos, depuración y prácticas seguras. Como con cualquier proyecto, hay muchas formas de lograr el resultado deseado y esta es solo una de ellas. Si bien he realizado esta guía con el máximo de rigor posible, no ofrezco garantía ni asumo ninguna responsabilidad por el resultado de seguir cualquiera o todas las instrucciones aquí descritas.