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?