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?

