0

Sensor de Temperatura e Pressão Atmosférica BMP180

Neste tutorial vou-lhe falar sobre o Sensor de temperatura e pressão atmosférica BMP180.
Pressão atmosférica é a pressão exercida pela camada de moléculas de ar sobre a superfície. A pressão é a força exercida por unidade de área, neste caso a força exercida pelo ar em um determinado ponto da superfície.

O sensor BMP180 é capaz de ler a pressão barométrica (absoluta) e a temperatura ambiente e além disso, através de cálculos matemáticos, é capaz de detetar e calcular diferenças entre alturas.

Montagem e ligações

Para comunicarmos com o módulo usamos a interface I2C, estas seriam as ligações a realizar:
– VIN do módulo ao pino 3.3v do Arduino
– GND do módulo ao pino GND do Arduino
– SCL do módulo ao pino Analógico 5 do Arduino
– SDA do módulo ao pino Analógico 4 do Arduino

Consulte este esquema:

 

Para poder usar este sensor de forma fácil, utiliza a livraria BMP085 de Adafruit, esta livraria é compatível com o nosso módulo e economiza muito tempo e trabalho.

Para instalar a livraria primeiro temos que descarregar o arquivo .ZIP e depois descompactar os arquivos na pasta bibliotecas de nossa instalação do IDE de Arduino, geralmente C: \ Arquivos de programa \ Arduino \ bibliotecas.

 

DESCARREGAR LIVRARIA BMP085 DE ADAFRUIT

Uma vez instalada a livraria, já pode carregar este sketch no nosso Arduino, está comentado linha a linha:

 
#include <wire.h>           //Carregamos a livraria WIRE
#include <bmp095>          //Carregamos a livraria BMP085

Adafruit_BMP085 bmp;           //Iniciamos una instancia da livraria BMP085
  
void setup() {
  Serial.begin(9600);  //Iniciamos a comunicação serie
  if (!bmp.begin()) {  //Se há um erro ao iniciar a livraria ...
  Serial.println("Não se pode iniciar o sensor BMP085, comprova as ligações!");  //Mostramos uma mensagem
  while (1) {}   //Paramos a execução
  }
}
  
void loop() {
    //Lemos os valores do sensor e sacamos a temperatura para o monitor serie
    Serial.print("Temperatura = ");
    Serial.print(bmp.readTemperature());
    Serial.println(" *C");
    
    //Lemos os valores do sensor e sacamos a pressão atmosférica para o monitor serie    
    Serial.print("Pressão = ");
    Serial.print(bmp.readPressure());
    Serial.println(" Pa");
    
    //Calculamos a altitude assumindo a pressão barométrica 'standard' a 1013.25 milibares
    Serial.print("Altitude = ");
    Serial.print(bmp.readAltitude());
    Serial.println(" metros");
    
    //Calculamos a pressão a nivel do mar usando una função da livraria
    Serial.print("Pressão a nivel do mar (calculada) = ");
    Serial.print(bmp.readSealevelPressure());
    Serial.println(" Pa");

    //Podemos obter uma medição da altitude mais precisa sem conhecermos a pressão real a nivel do mar
    //Se é de 1015 millibars isso equivale a 101500 Pascals
    Serial.print("Altitude real = ");
    Serial.print(bmp.readAltitude(101500));
    Serial.println(" metros");
    
    Serial.println();  //Espaçado entre leituras
    delay(10000);      //Pausa de 10 segundos entre leituras
}

 

Todos os produtos utilizados neste artigo podem ser encontrados na Loja de Eletrónica e Robótica – ElectroFun.

Gostaram deste artigo? Deixem o vosso comentário no formulário a baixo e partilhem com os vossos amigos.

Não se esqueçam de fazer like na nossa Página no Facebook.

Podem ainda colocar as vossas dúvidas no nosso Forum da Comunidade Arduino em Portugal ou no nosso Grupo no Facebook Arduino Portugal – Qual o teu projeto?

Comments

Comentários

Jaime Mota

Deixar uma resposta

Este site utiliza o Akismet para reduzir spam. Fica a saber como são processados os dados dos comentários.