Projeto101 - Como usar o sensor BMP280 para medir pressão atmosférica, altitude e temperatura com Arduino
- Detalhes
- Angelo Luis Ferreira
- Acessos: 1037
Básico - Projeto 101
Medindo pressão, temperatura e altitude com BMP280 e display LCD
Objetivo
O objetivo deste projeto é mostrar como utilizar o sensor BMP280 junto com o Arduino para medir a temperatura ambiente, a pressão atmosférica e a altitude. Os valores aferidos são exibidos em um display de LCD através de um menu simples controlado por chaves táteis (push buttons).
Módulo Sensor de Pressão e Temperatura BMP280 é um componente eletrônico desenvolvido pela empresa Bosch capaz de medir com precisão a temperatura ambiente e a pressão atmosférica, apesar do seu tamanho reduzido. Por essa característica o módulo BMP280 se tornou bastante comum em dispositivos móveis e portáteis.
O módulo BMP280 funciona com interfaces I2C ou SPI e tensão mínima de 1,7 V a 3,6 V, sendo que o baixo consumo de energia permite o funcionando por longos períodos com alimentação por bateria, e é indicado para projetos como drones, estações meteorológicas, dispositivos com GPS, relógios, etc.
O BMP280 realiza medições de pressão com precisão de ±1 hPa e temperatura com precisão de ±1 °C. Com essa precisão, é possível realizar medições de altitude local aproximada.
Definições
Pressão atmosférica ou pressão barométrica é a força exercida, por unidade de área, pela coluna de ar atmosférico acima de nós. A pressão atmosférica pode ser lida em diversas unidades, sendo as mais comuns o atm (atmosfera) e o pascal (1 atm =101.325 Pa). Portanto, 1 atm = 1.013,25 hPa (hectopascal).
A pressão atmosférica varia com a altitude e a temperatura: Quanto maior for a altitude, menor será a pressão atmosférica. Ao nível do mar a pressão atmosférica é igual a 1 atm. Sempre que houver aumento da pressão atmosférica, haverá aumento da temperatura. É justamente por isso que, em maiores altitudes, a temperatura tende a ser menor do que ao nível do mar. Leia mais sobre pressão atmosférica: Wikipédia
Referências
Projeto 48 - Como controlar um display LCD com o módulo I2C
Aplicação
Para fins didáticos e projetos que necessitem aferir pressão atmosférica e temperatura ambiente.
Componentes necessários
Referência |
Componente |
Quantidade |
Imagem |
Observação |
Protoboard | Protoboard 830 pontos | 1 | ![]() |
No mínimo utilizar protoboard com 400 pontos |
Jumpers | Kit cabos ligação macho / macho | 1 | |
|
Módulo Sensor de Pressão |
Módulo Sensor de Pressão BMP280 |
1 | |
Especificações: – BMP280 (datasheet) – Tensão de operação: 1.7V a 3.6V – Consumo de corrente: 2.7µA – Interfaces: I2C e SPI – Faixa de medição pressão: 300 – 1100hPa (equiv. +9000 à -500m acima/abaixo do nível do mar) – Precisão: ±0.12hPa (equiv. ±1m) – Faixa de temperatura: -40 à 85 °C – Precisão temperatura: ±1.0 °C – Dimensões: 15 x 12 x 2,3mm (sem os pinos) |
Display LCD |
Display LCD 16X2 |
1 |
LCD que utilize o controlador HD44780 (veja na descrição ou datasheet do componente) O display poderá ser de qualquer cor (fundo verde, azul ou vermelho) |
|
Módulo I2C para display LCD | Módulo I2C com CI PCF8574 | 1 | ![]() |
O módulo I2C poderá vir separado ou já soldado no display LCD Se você não possui um módulo I2C para display LCD, poderá adaptar o projeto para o display LCD sem o adaptador. |
Push Button | Push button 6X6X5mm | 2 | ||
Arduino UNO R3 | Arduino UNO | 1 | ![]() |
Você poderá utilizar uma placa Arduino UNO original ou similar |
Observação: Você poderá adquirir os componentes acima na loja: Baú da Eletrônica.
Montagem do Circuito
Conecte os componentes no Protoboard como mostra a figura abaixo. Verifique cuidadosamente os cabos de ligação antes de ligar seu Arduino. Lembre-se que o Arduino deve estar totalmente desconectado da força enquanto você monta o circuito.
ATENÇÃO: O módulo BMP280 deverá estar conectado no Arduino na fonte de energia 3.3V (Vcc). Tensões muito maiores podem queimar o componente.
Atenção
1. Veja na imagem abaixo a "pinagem" do módulo BMP280, que funciona com interfaces SPI ou I2C.
1.1. Observe que temos os pinos de alimentação Vcc 3.3V e GND, e os pinos de interface: SCL(Clock) e SDA (Data), CSB (Chip Select) e SDO (Serial Data OUT).
1.1.1. Para a interface SPI, usamos os pinos SCL, SDA, CSB e SDO.
1.1.2. Para a interface I2C, vamos usar os pinos SCL, SDA e SDO.