Introdução
Se você deseja criar uma estação meteorológica arduino que permite monitorar as variáveis de temperatura e umidade de um ambiente, exibir estes dados em um display LCD e também em seu smartphone, você encontrou o tutorial que precisava.
Neste artigo vamos construir um projeto que é uma estação meteorológica que pode ser usada em diversos ambientes para verificar a situação climatológica, e tudo isso através de um arduino e de seu celular.
Abordaremos com detalhes cada componente utilizado no sistema trazendo um conteúdo completo para todos os níveis de conhecimento em eletrônica.
O que é uma estação meteorológica?
Uma estação meteorológica é um equipamento capaz de monitorar as condições do clima do ambiente ao qual ele for instalado.
Geralmente ele mede variáveis como temperatura e umidade relativa do ar por exemplo. Alguns dispositivos mais sofisticados são capazes de captar a velocidade e direção do vento, radiação solar, chuva e pressão atmosférica.
Um dos dispositivos que utiliza alguns dos mesmos princípios da estação meteorológica são os refrigeradores de forma geral, você pode encontrar mais informações técnicas e profissionais deste segmento no curso de refrigeração online.
Essas variáveis são fundamentais para definir as condições de um ambiente dando a informação se existem condições para plantação, criação de animais, armazenamento de objetos e até se o ambiente pode afetar sua saúde.
Como faremos nossa estação meteorológica arduino?
Para criar nossa própria estação meteorológica para monitorar os dados do clima vamos utilizar várias referências de componentes que foram utilizados em artigos do nosso site para montar o sistema.
A intenção principal é criar um sistema que seja capaz de medir a temperatura e a umidade do ar e apresente estes dados no smartphone em tempo real para que possamos verificar as condições do clima.
Alguns componentes usados:
Para esta montagem utilizaremos:
- 1 – Sensor DHT22
- 1 – Módulo Bluetooth HC-05
- 1 – Arduino Uno
- 1 – Protoboard
- 1 – Resistor 1K Ohm
- 1 – Resistor 2K Ohm
- 1 – Resistor 10K Ohm
- 1 – Potenciômetro 10K Ohm
- 1 – Display LCD 16×2
Temos em nosso site um artigo dando detalhes sobre o funcionamento de cada componente nesta lista. Recomendo que antes de partir para este projeto completo, verifique e estude cada um dos componentes para não encontrar dificuldades no desenvolvimento.
Sensor de temperatura e umidade DHT 22
O sensor DHT é um sensor de temperatura e umidade relativa do ar, capaz de medir temperaturas de -40°C até 80°C com uma precisão de 0,5°C, enquanto a variação da umidade é de 0 a 100% com precisão de 2%
Para o sensor de temperatura e umidade do ar, temos um conteúdo no site onde você pode aprender o tutorial completo do DHT11 Arduino e suas características.
Módulo Bluetooth HC-05
O módulo HC-05 é responsável por realizar a conexão de um dispositivo bluetooth com outro, como um arduino e um celular por exemplo.
Recomendamos que você veja a abordagem completa sobre este módulo bluetooth Arduino aqui em nosso site afim de se aprofundar na montagem e comunicação desse módulo com a placa microcontroladora.
Display LCD 16×2
O display LCD 16×2 é um módulo capaz de representar até 32 caracteres, sendo 16 por linha. Ele é um módulo versátil e útil apresentar dados e informações.
Para um melhor entendimento deste componente o artigo Display LCD 16×2 Arduino traz todas as informações de como funciona e como utilizar este módulo que é amplamente utilizado em diversos equipamentos do nosso cotidiano.
Com este material e estas informações você vai estar preparado para produzir este e muitos outros projetos.
Montagem do circuito estação meteorológica arduino
A montagem do circuito integra diversos componentes, por isso devemos redobrar a atenção na montagem para que o sistema funcione como esperamos.
Se você almeja melhorar suas habilidades de interpretação e execução de projetos, o curso online de eletrônica irá te auxiliar nessa conquista O circuito completo de nossa estação segue na imagem abaixo:
A fim de facilitar a visualização da montagem, faremos a exibição das conexões de cada componente separado:
- Montagem do módulo bluetooth HC-05:
- Montagem do sensor DHT-22:
- Montagem do display LCD 16×2:
Código da estação meteorológica Arduino
Para o correto funcionamento do código, é preciso verificar se algumas bibliotecas do arduino estão instaladas como a do display LCD e a do sensor DHT22. É possível verificar a partir do gerenciador de bibliotecas do IDE do arduino.
Caso você não tenha as bibliotecas instaladas, reveja o artigo referente ao componente que necessite que terá uma descrição completa de como instalar a biblioteca.
Dando sequência ao projeto este código tem a função de ler a cada 5 segundos os dados de temperatura e umidade do ar e exibir em tempo real os resultados no display LCD, bem como fornecer estes dados ao aplicativo que usaremos para visualiza-los
O código segue abaixo, compile e grave, lembrando de remover as conexões dos pinos do RX e TX do arduino.
// Inclusão das bibliotecas do sensor DHT22 e Do display LCD #include <LiquidCrystal.h> #include <DHT.h> // Define o pino 2 do arduino como o do sensor DHT22 #define DHT_PIN 2 // Define o modelo do sensor DHT #define DHTTYPE DHT22 // Define os pinos a serem usados pelo display LCD #define RS 12 #define EN 11 #define D4 4 #define D5 5 #define D6 6 #define D7 7 // Define um parâmetro com valor 5000 #define INTERVALO 5000 // Cria um objeto para o sensor DHT22 e para o DIsplay LCD LiquidCrystal lcd(RS, EN, D4, D5, D6, D7); DHT dht(DHT_PIN, DHTTYPE); // Função executada apenas uma vez durante o funcionamento void setup() { // Inicializa a serial do arduino e printa a mensagem Serial.begin(9600); Serial.println("INICIANDO SISTEMA"); dht.begin(); // Inicia o Display e limpa todos os caracteres lcd.begin(16, 2); lcd.clear(); // Posiciona o ponteiro na segunda coluna, primeira linha do display lcd.setCursor(2, 0); // Apresenta a mensagem no display LCD. lcd.print("INIT SYSTEM"); // Espera por 3 segundos delay(3000); } //Função que fica em loop durante a execução do programa void loop() { // Cria variáveis que irão receber os dados do sensor float h = 0, t = 0, f = 0; // Recebe a umidade h = dht.readHumidity(); // Recebe a temperatura em graus Celsius t = dht.readTemperature(); // Fórmula para converter a temperatura para graus Farenheit f = dht.readTemperature(true); // Lógica para eliminar resultados indesejados if(isnan(h) || isnan(t) || t == 0 || h == 0){ Serial.println(F("Falha na leitura do sensor")); } // Se estiver tudo ok com a leitura, transmite os dados via bluetooth else{ // Temperatura Serial.print(t); Serial.print(","); // Umidade Serial.print(h); Serial.print(","); // Temperatura em Farenheit Serial.print(f); Serial.print(","); Serial.println(); // Exibe as informações no display LCD lcd.clear(); lcd.setCursor(2, 0); lcd.print("MONITORANDO"); lcd.setCursor(0, 1); lcd.print(t); lcd.print("C "); lcd.print(h); lcd.print("%RH "); } // Espera o intervalo definido para fazer a próxima leitura delay(INTERVALO); }
Aplicativo usado para monitorar a estação meteorológica Arduino
O aplicativo que iremos utilizar neste projeto, pode ser encontrado no Google Play Store e pode ser instalado em qualquer dispositivo que tenha o sistema Android.
Para encontrar o app basta buscar por DHT11 sensor datalogger que estará entre os primeiros resultados. A imagem exibe qual o aplicativo correto a se instalar.
Com o aplicativo instalado, circuito montado e código gravado, podemos passar para a aplicação principal pareando o nosso smartphone com o HC-05. A imagem a seguir mostra como podemos fazer isso através do app.
A partir do momento em que for conectado, o aplicativo receberá a cada 5 segundos do arduino novas informações. Estes dados serão processados e exibidos em tempo real, diretamente na tela do celular.
Resultados obtidos da estação meteorológica Arduino
Após um tempo funcionando, o sistema gera um histórico dos dados em forma de gráficos, que podem ser analisados, como vemos na imagem.
O aplicativo exibe nitidamente o que cada gráfico representa, as informações ficam distintas e fáceis de se interpretar. O interessante é que você pode adaptar este código exemplo, e aplicar para um qualquer projeto particular que precise monitorar o clima.
Considerações Finais do Projeto
Podemos comprovar neste projeto a eficácia do arduino e dos sensores para este tipo de aplicação. Este tutorial abre portas para você ir além, otimizando esta solução podendo agregar valor e até mesmo desenvolver um produto baseado neste sistema.
Vamos ficando por aqui e espero que vocês tenham gostado deste projeto!! Nos vemos nos próximos tópicos!!