Índice:

Estação meteorológica com Arduino, BME280 e tela para ver a tendência nos últimos 1-2 dias: 3 etapas (com imagens)
Estação meteorológica com Arduino, BME280 e tela para ver a tendência nos últimos 1-2 dias: 3 etapas (com imagens)

Vídeo: Estação meteorológica com Arduino, BME280 e tela para ver a tendência nos últimos 1-2 dias: 3 etapas (com imagens)

Vídeo: Estação meteorológica com Arduino, BME280 e tela para ver a tendência nos últimos 1-2 dias: 3 etapas (com imagens)
Vídeo: Iot Weather Station || Tomson Electronics 2024, Novembro
Anonim
Estação meteorológica com Arduino, BME280 e display para ver a tendência nos últimos 1-2 dias
Estação meteorológica com Arduino, BME280 e display para ver a tendência nos últimos 1-2 dias
Estação meteorológica com Arduino, BME280 e display para ver a tendência nos últimos 1-2 dias
Estação meteorológica com Arduino, BME280 e display para ver a tendência nos últimos 1-2 dias
Estação meteorológica com Arduino, BME280 e display para ver a tendência nos últimos 1-2 dias
Estação meteorológica com Arduino, BME280 e display para ver a tendência nos últimos 1-2 dias
Estação meteorológica com Arduino, BME280 e display para ver a tendência nos últimos 1-2 dias
Estação meteorológica com Arduino, BME280 e display para ver a tendência nos últimos 1-2 dias

Olá!

Aqui em instructables estações meteorológicas já foram introduzidas. Eles mostram a pressão do ar, temperatura e umidade atuais. O que faltou até agora foi uma apresentação do curso nos últimos 1-2 dias. Esse processo teria a vantagem de não só poder ler graficamente os valores atuais, mas também rapidamente ver como eles mudaram nos últimos 1-2 dias. Como resultado, reconhece-se, por exemplo, uma possível mudança no clima, pois a pressão do ar muda muito. No entanto, também se reconhecem relações gerais entre as grandezas medidas.

Por exemplo, a umidade diminui quando a temperatura do ar aumenta. Isso ocorre porque o ar quente pode absorver mais umidade do que o ar frio. Se a umidade relativa for de cerca de 60% a 20 ° C, então a 25 ° C o ar pode absorver mais umidade em termos absolutos. Portanto, a umidade relativa não é mais de 60%, mas, por exemplo, apenas 50% de desconto.

Além disso, você pode ver bem a que hora do dia as temperaturas mais altas ou mais baixas são esperadas. Ou que a umidade aumenta drasticamente quando chove. Ideal para o meteorologista amador. Eu ficaria muito feliz se você pudesse postar suas experiências nos comentários.

Etapa 1: Peças

Peças
Peças
Peças
Peças
Peças
Peças
Peças
Peças

Para esta estação meteorológica, você só precisa de 5 peças:

* Arduino mega: ebay arduino mega

* Sensor meteorológico BME280: ebay BME280

* Tela de 320x480 pixels para o Arduino Mega: tela ebay 320x480

* Fonte de alimentação + 9V: fonte de alimentação ebay

* Fio elétrico

Os custos totais são apenas inferiores a $ 25.

Etapa 2: o código do Arduino

O Código Arduino
O Código Arduino
O Código Arduino
O Código Arduino
O Código Arduino
O Código Arduino

O circuito é muito simples. Você só precisa conectar o sensor ao arduino mega desta forma:

Vin + 5V

GND GND

SDA pino 20

SCL pino 21

A tela é conectada apenas à tira do conector no arduino mega.

Aqui estão os links para as bibliotecas do arduino de que você precisa:

Biblioteca BME280:

biblioteca de sensor comum:

O coração desta estação meteorológica é, como disse, a representação gráfica dos dados meteorológicos. No momento, os valores são atualizados a cada 6 minutos e os gráficos são deslocados 1 pixel para a esquerda. Desta forma, os últimos 1,5 dias podem ser registrados. Claro, isso pode ser alterado a qualquer momento. Só então o valor 360000 ms (= 6 minutos) e, claro, o eixo do tempo em horas deve ser alterado. Aqui estão as linhas que você terá que alterar:

tempo_neu = milis ();

if (time_neu <time_alt) // para evitar problemas após o estouro de milis

{

time_next = 0 + 360000;

}

if (time_neu> time_next && time_next> = 360000) // nova medição após 6 minutos

{

Decidi manter as escalas de temperatura, pressão do ar e umidade inalteradas, pois permite avaliar rapidamente, ao longo do tempo, se a pressão do ar está alta, média ou baixa, com base na localização das leituras atuais. Se eu ajustasse a escala várias vezes, não reconheceria isso à primeira vista. O eixo do tempo está localizado na posição y = 290 pixels. As marcas nos eixos y têm 45 pixels de distância. Se você deseja exibir a pressão do ar de 940 mbar a 1000 mbar em etapas de 10 mbar, proceda da seguinte forma:

Primeiro, configure a equação geral y = k * x + d. Agora você usa esses 2 pares de valores (x = 940, y = 290) e (x = 950, y = 245). Isso dá 2 equações com as duas incógnitas ked: 290 = k * 940 + d e 245 = k * 950 + d. Subtraindo ambas as equações, obtemos: 290 - 245 = k * 940 - k * 950 + d - d. A incógnita d desaparece dessa maneira e obtemos para k = - 45/10 = -4,5. Este valor para k é colocado em uma das duas equações iniciais: 290 = -4,5 * 940 + d. Desta forma, obtém-se o valor de d, especificamente d = 4520.

Se você quiser que a pressão do ar, por exemplo, represente apenas 955 mbar a 985 mbar, coloque os pares de valores (955, 290) e (960, 245) na equação em linha reta. Então obtém-se para k = -9 ed = 8885. Da mesma forma, calcula-se as equações em linha reta para a temperatura e a umidade do ar. Estas 3 equações aparecem aqui no programa:

para (i = 0; i <= 348; i ++)

{

if (umidade ! = -66)

{

myGLCD.setColor (255, 0, 0);

//myGLCD.drawPixel(81 + i, -4,5 * temperatura + 200);

myGLCD.drawLine (81 + i, -4,5 * temperatura + 200,81 + i + 1, -4,5 * temperatura [i + 1] + 200);

myGLCD.setColor (0, 255, 0);

//myGLCD.drawPixel(81 + i, -4,5 * umidade + 380);

myGLCD.drawLine (81 + i, -4,5 * umidade + 380,81 + i + 1, -4,5 * umidade [i + 1] + 380);

myGLCD.setColor (0, 0, 255);

//myGLCD.drawPixel(81 + i, -4,5 * pressure + 4520);

myGLCD.drawLine (81 + i, -9,0 * pressão + 8885, 81 + i + 1, -9,0 * pressão [i + 1] + 8885);

}

}

Etapa 3: os resultados

Image
Image
Os resultados
Os resultados
Os resultados
Os resultados

Uma palavra para o vídeo: para tornar a expansão do gráfico visível, diminuí os intervalos de tempo para 1 segundo. Portanto, a tela está tremendo fortemente. Na realidade, os intervalos de tempo são de 6 minutos. Então você não pode ver nenhuma cintilação …

Eu ficaria feliz se um ou outro meteorologista amador tentasse consertar minha estação meteorológica. Uma comparação com estações de medição oficiais (por exemplo, Universidade de Graz / Áustria) mostra a usabilidade das curvas de medição.

Além disso, eu ficaria feliz se você pudesse votar em mim no concurso de sensores e em minhas outras tabelas de instruções no concurso de ciências em sala de aula:

  • https://www.instructables.com/id/DIY-LED-photomete…
  • www.instructables.com/id/DIY-Wind-Tunnel-a…
  • www.instructables.com/id/Simple-Autorange-…

Muito obrigado por isso.

Se você estiver interessado em mais projetos de física, aqui está o meu canal no youtube:

mais projetos de física:

Nesse sentido, Eureka …

Recomendado: