Estação Meteorológica




LABSI

2024


Autores:


Carlos Jesus (Nº 1170545)

1170545@isep.ipp.pt


Gabriel Couto (Nº 1210960)

1210960@isep.ipp.pt


Introdução

Arquitetura

Hardware

Software

Resultados

Conclusões

Referências


  • Introdução

Início



Objetivo

No âmbito da unidade curricular Laboratório de Sistemas, foi proposta a elaboração de um projeto, juntamente com o seu protótipo funcional. Deste modo, optamos por criar uma estação meteorológica, capaz de capturar e analisar dados atmosféricos e assim nos ajudar num dos problemas que nos acompanha todos os dias, o ‘“Como está o tempo lá fora”‘..

Este projeto envolveu a integração de três sensores, de forma a medir diferentes parâmetros atmosféricos, que interagiam com um microcontrolador que processava a informação e exibia esses mesmos parâmetros num Display, de forma a observar os resultados obtidos.

Estado da Arte

As estações meteorológicas modernas utilizam instrumentos avançados para medir diversas variáveis climáticas, como temperatura, umidade, vento e precipitação, oferecendo detalhes precisos sobre as condições atmosféricas. Esses sistemas se apoiam em tecnologias sofisticadas, como sensores remotos, satélites e drones, para coletar e transmitir dados em tempo real.

Uma estação meteorológica moderna não se limita mais a simplesmente medir temperaturas e direções do vento, evoluíram de tal modo que agora é possível prever o tempo e as suas mudanças, redefinindo assim os limites da previsão meteorológica.

Nestas tecnologias sofisticadas, estão incluídos o DHT22 [4] , BMP280[5] e Optical Rotatory Encoder[6] que nos transmitem dados precisos em tempo real sobre o tempo. Para observar estes dados, usaremos um LCD[7], como pode ser observado na figura abaixo.


Figura 1 - Estação Meteorológica



  • Arquitetura

Início



De forma a sintetizar e facilitar a interpretação, no seguinte diagrama de blocos é apresentado o funcionamento do sistema:




Figura 2 - Diagrama de Blocos do Sistema



A arquitetura desse circuito combina três sensores (DHT22, BMP280 e Optical Rotatory Encoder) que coletam dados de temperatura, umidade, pressão atmosférica e movimento rotativo. Desta forma, estes sensores se comunicam de diferentes modos com o microcontrolador. O DHT22 usa um protocolo de comunicação de um fio onde é enviado uma trama de dados. O BMP280 comunica através de um barramento I2C e o Sensor de Rotações envia sinais pelos dois canais SIG1 e SIG2, que indicam direção e número de rotações.

Esses dados são enviados para o microcontrolador ATmega328P, que os processa e os envia para um display LCD. O ATmega328P atua como o cérebro do sistema, recebendo, processando e exibindo as informações obtidas pelos sensores.


  • Hardware

Início



Neste capitulo são apresentados os componentes usados no projeto, bem como o circuito elétrico com a respetiva descrição, e a placa de circuito impresso.

Bateria 9V


Figura 3 - Bateria de 9V

Para alimentar o circuito, serão usadas 6 pilhas de 1.5V cada. Esta opção deve-se ao facto de que estas pilhas permitem obter uma boa autonomia, são mais leves que pilhas tradicionais e têm capacidade de alimentar tanto o circuito total, possibilitando assim o funcionamento do projeto sem o uso de eletricidade.


Microcontrolador ATmega 328P


Figura 4 - ATmega328P

O ATmega328P é um microcontrolador de 8 bits da família AVR, com arquitetura RISC eficiente em energia, operando a uma velocidade de até 20 MHz. Possui 32 KB de memória Flash para o programa, 2 KB de SRAM e 1 KB de EEPROM. Integrando periféricos como temporizadores, UART, I2C e SPI, oferece amplos pinos de E/S e ADC de 10 bits para leitura de sinais analógicos.


Regulador de Tensão LM7805


Figura 5 - LM7805

O LM7805 é um componente que permite regular a tensão de entrada, entre 7 e 20V, para uma tensão de saída estável de 5V e corrente máxima de 1A.


Sensor de Temperatura e Humidade DHT22


Figura 6 - DHT22

O DHT22 é um sensor de temperatura e umidade, de preço acessível e de fácil implementação. Ele mede a temperatura na faixa de -40 a 80 graus Celsius e a umidade de 0% a 100%. Oferece precisão de 0,1% e 0,1 graus, saída digital e utiliza uma interface de comunicação bidirecional de um único fio. Com calibração interna e compensação de temperatura, fornece dados confiáveis e opera entre 3,3 a 5 volts.


Sensor de Pressão Atmosférica BMP280


Figura 7 - Grove BMP280

O BMP280 é um sensor de pressão barométrica e temperatura que fornece medições precisas da pressão atmosférica e temperatura ambiente. Apesar de utilizarmos este sensor apenas para obter os valores de pressão, ele é capaz de fornecer também medições precisas de temperatura.

Compacto e com baixo consumo de energia, opera entre 3,3 e 5 volts, utilizando uma interface digital como I2C, que foi a escolhida para este trabalho.


Sensor de Rotações


Figura 8 - Grove Optical Rotary Encoder

O Optical Rotatory Encoder TCUt1600x01 é um dispositivo utilizado para medir a rotação de um eixo ou objeto. Ele detecta e registra o número de rotações ou a velocidade angular de um objeto em movimento circular e opera com base em sensores ópticos que detectam mudanças na luz refletida ou transmitida de um disco rotativo, o encoder gera pulsos elétricos que representam a rotação.


Caixa e Anemómetro de Copo


Figura 9 - Caixa e Anemómetro de Copo

De forma a obter um suporte para todo o nosso projeto, foi projetada em impressora 3D uma caixa. Esta caixa exibira, em uma das suas faces, o LCD com os dados atmosféricos . Alem disso, foi projetado no topo desta caixa um anemómetro de copo. Este anemómetro, ao girar com o vento, fará um disco movimentar-se dentro do sensor de rotações, que nos permite assim calcular a velocidade do vento de acordo com as rpm.


USBasp


Figura 10 - USBasp

O USBasp é um programador de AVR (microcontroladores da família Atmel) baseado no controlador USB FTDI. Ele é usado principalmente para gravar firmware ou programas nos microcontroladores.

Esse dispositivo permite a conexão de um microcontrolador a um computador via porta USB, possibilitando o carregamento de códigos compilados para a placa.


Outros Componentes

Foram também usados outros componentes como LEDs, resistências, cristais e condensadores que permitiram o bom funcionamento do circuito.


Esquema Elétrico

Na seguinte figura é apresentado o esquema elétrico total do circuito.


Figura 11 - Esquema Elétrico

A partir do esquema elétrico, é obter o esquema da placa PCB e a sua visão 3D.


Figura 12 - Placa PCB




Figura 13 - Placa PCB em 3D


  • Software

Início




Inicializações


Figura 14 -Inicializações




Fluxogramas

Com o auxílio a fluxogramas é explicado em detalhe o funcionamento do software.


Figura 15 - Fluxograma LCD


Figura 16 - Fluxograma DHT22


Figura 17 - Fluxograma do BMP280


Figura 18 - Fluzograma do Optical Rotatory Encoder


Figura 19 - Fluxograma da função main


Interrupções

ISR (TIMER2_COMPA_vect)


Figura 20 - Fluxograma do ISR (TIMER2_COMPA_vect)

ISR (PCINT2_vect)


Figura 21 - Fluxograma do ISR (PCINT2_vect)

ISR(INT0_vect)


Figura 22 - Fluxograma do ISR(INT0_vect)


  • Resultados

Início

Finalizamos o projeto com a montagem física do nosso sistema, com uma implementação completamente funcional do LCD e obtivemos resultados satisfatórios nas leituras dos sensores de funções metereológicas.


  • Conclusões

Início



Concluindo, com a realização deste projeto foi possível reunir os conhecimentos de diversas cadeiras que tivemos ao longo destes três anos e os colocar em prática. Além disso, foi ainda adquirir novos conhecimentos sobre programação de microcontroladores e sobretudo sobre sensores.

Ao longo deste trabalho, foram encontrados diversos obstáculos, principalmente implementar o LCD, sem o uso de bibliotecas externas. Foram também encontradas algumas adversidades em certos componentes como o microcontrolador que dava certas dores de cabeça devido ao seu mau funcionamento em certos momentos.

Em suma, foram cumpridos os objetivos iniciais do projeto e estamos felizes com o resultado. Porém, poderiam ter sido implementadas certas melhorias como a implementação da placa PCB e também Bluetooth, onde seriam exibidos numa plataforma web os valores atmosféricos obtidos mas devido ao tempo escasso não foi possível implementar.


  • Referências

Início



[1] MICMIC - Lino Figueiredo, Apontamentos Teóricos;

[2] LABSI - Nuno Dias & Guilherme Amaral, Eletrónica Geral;

[3] LABSI - Nuno Dias, Sensores;

[4] DHT22 Datasheet https://www.sparkfun.com/datasheets/Sensors/Temperature/DHT22.pdf;

[5] BMP280 Datasheet https://cdn-shop.adafruit.com/datasheets/BST-BMP280-DS001-11.pdf;

[6] Optical Rotatory Encoder TCUT1600X019 https://www.vishay.com/docs/84174/tcut1600x01.pdf;

[7] LCD Datasheet https://user.engineering.uiowa.edu/~ece_036/Lecture/Lecture9.pdf;

[8] ATMEL - ATmega328p Datasheet https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf;

[9] Eletrofun - Componentes https://www.electrofun.pt/;

[10] GitHub https://github.com;