- Descrição: O Módulo Real Time Clock RTC DS1307 é um relógio…
Como usar com Arduino – Sensor de Pressão e Temperatura BMP180
– Descrição:
O Sensor de Pressão e Temperatura BMP180 que também é conhecido como barômetro, tem como finalidade fazer a medição de pressão atmosférica e temperatura. A comunicação entre o sensor e a plataforma microcontrolada é feita através de conexão I2C.
Dentre os projetos em que se pode utilizar o Sensor de Pressão e Temperatura BMP180, podemos citar: construção de estações meteorológicas e aperfeiçoamento de navegação GPS.
– Especificações e características:
– Controlador: BMP180
– Tensão de operação: 3,3VDC
– Corrente de operação: 5µA
– Faixa de Pressão: 300 a 1100hPa
– Precisão da pressão: ± 0,06hPa
– Temperatura: 0º a 65º celsius
– Precisão da temperatura: 1ºC
– Interface de comunicação: I2C
– Datasheet:
– Aplicações:
Projetos com Arduino ou outras plataformas microcontroladas em que seja necessário fazer a medição de pressão atmosférica, temperatura e altitude.
– Proposta da prática:
Utilizar o Sensor de Pressão e Temperatura BMP180 em conjunto com o Arduino e obter informações de pressão atmosférica, temperatura e altitude. Estas informações serão exibidas no monitor serial do ambiente de programação do Arduino.
– Lista dos itens necessários:
01 – Arduino com Cabo USB
01 – Sensor de Pressão e Temperatura BMP180
04 – Cabos Jumper macho-fêmea
– Esquema de ligação da prática:
OBS: se estiver utilizando o Arduino Mega 2560, os pinos de conexão I2C serão o 20 (SDA) e o 21 (SCL).
– Tutorial de instalação e configuração do ambiente de programação do Arduino:
Arduino – Instalação e Configuração da IDE no Windows
– Biblioteca:
– Importando bibliotecas para o ambiente de programação do Arduino:
Arduino – Importando bibliotecas para a IDE
– Código:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
#include <Wire.h> //INCLUSÃO DE BIBLIOTECA #include <Adafruit_BMP085.h> //INCLUSÃO DE BIBLIOTECA Adafruit_BMP085 bmp; //OBJETO DO TIPO Adafruit_BMP085 (I2C) void setup(){ Serial.begin(9600); //INICIALIZA A SERIAL if (!bmp.begin()){ //SE O SENSOR NÃO FOR INICIALIZADO, FAZ Serial.println("Sensor BMP180 não foi identificado! Verifique as conexões."); //IMPRIME O TEXTO NO MONITOR SERIAL while(1){} //SEMPRE ENTRE NO LOOP } } void loop(){ Serial.print("Temperatura: "); //IMPRIME O TEXTO NO MONITOR SERIAL Serial.print(bmp.readTemperature()); //IMPRIME NO MONITOR SERIAL A TEMPERATURA Serial.println(" *C (Grau Celsius)"); //IMPRIME O TEXTO NO MONITOR SERIAL Serial.print("Pressão: "); //IMPRIME O TEXTO NO MONITOR SERIAL Serial.print(bmp.readPressure()); //IMPRIME NO MONITOR SERIAL A PRESSÃO Serial.println(" Pa (Pascal)"); //IMPRIME O TEXTO NO MONITOR SERIAL Serial.print("Altitude: "); //IMPRIME O TEXTO NO MONITOR SERIAL Serial.print(bmp.readAltitude()); //IMPRIME NO MONITOR SERIAL A ALTITUDE APROXIMADA Serial.println(" m (Metros)"); //IMPRIME O TEXTO NO MONITOR SERIAL Serial.print("Pressão a nível do mar (calculada): "); //IMPRIME O TEXTO NO MONITOR SERIAL Serial.print(bmp.readSealevelPressure()); //IMPRIME NO MONITOR SERIAL A PRESSÃO A NÍVEL DO MAR Serial.println(" Pa (Pascal)"); //IMPRIME O TEXTO NO MONITOR SERIAL Serial.print("Altitude real: "); //IMPRIME O TEXTO NO MONITOR SERIAL Serial.print(bmp.readAltitude(101500)); //IMPRIME NO MONITOR SERIAL A ALTITUDE REAL Serial.println(" m (Metros)"); //IMPRIME O TEXTO NO MONITOR SERIAL Serial.println("-----------------------------------"); //IMPRIME UMA LINHA NO MONITOR SERIAL delay(2000); //INTERVALO DE 2 SEGUNDOS } |
– Resultado final:
Gostou desta prática? Então deixa seu comentário, dúvida ou sugestão aí embaixo!
Loja online: https://www.masterwalkershop.com.br
Fan page no Facebook: https://www.facebook.com/masterwalkershop
Nos ajude a espalhar conhecimento clicando no botão de compartilhar (f Like) que está mais abaixo.
Obrigado e até a próxima!
Seu feedback é muito importante! Que tal dar uma nota para esta postagem?! Faça sua avaliação aqui embaixo.
Postagem anterior: Como usar com Arduino – Sensor (Detector) Óptico Fototransistor QRD1114
Próxima postagem: Como usar com Arduino – Módulo Real Time Clock RTC DS1302
Saudaçoes
Eu Gostaria de saber para fazer leitura de altura como seria ?
Saudações Euler
Primeiramente, obrigado pelo tutorial.
Hoje, 23 de Agosto 2020, em Governador Celso Ramos – SC, pela internet está mostrando 17º C e no teste realizado (seu sketch) com o sensor BMP180, está mostrando 18.8º C. Pode ser o sensor com defeito? Ou existe alguma compensação que pode ser feita? Obrigado
Olá Daniel.
Agradeço pelo comentário!
Você pode ler a documentação da biblioteca e ver se há alguma função de compensação que possa ser implementada no código.
Lembre-se que o sensor tem uma margem de erro conforme pode ser visto no texto e no datasheet do mesmo.
Olá Daniel, tudo bem?
Se eu entendi bem, você disse que “pela intenrnet” esta mostrando 17º C e pelo seu sensor , a temperatura ambiente é de 18,8ºC.
Veja bem, a temperatura pela internet se baseia em uma temperatura média na sua região. Alguns serviços online usam informações de estações meteorológicas ai na sua cidade. Alguns se baseiam em média usando cidade vizinhas e por ai vai.
Considerando isso, a temperatura lida por você está dentro do esperado. Se você montar dois sensores e coloca um fora da sua casa e outro dentro da sua casa, já pode aparecer esta diferença de aprox 2ºC.
Espero ter ajudado