Índice:
- Suprimentos
- Etapa 1: Faça o protótipo
- Etapa 2: Design do programa
- Etapa 3: Código do programa
- Etapa 4: criar a caixa
Vídeo: Tweerstationneke A.k.a. Estação meteorológica holandesa: 4 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:34
Meu pai está sempre interessado nas últimas notícias e informações sobre o clima. Isso me trouxe o presente de aniversário perfeito quando ele completou 76 anos: uma pequena estação meteorológica sempre ligada, sem nenhum absurdo, que fica quieta em um canto o dia todo e fornece um resumo das últimas previsões.
Ele é projetado em torno de dois sites holandeses. Provavelmente você pode ver isso no engraçado título local deste tópico! Um fornece a previsão local por cidade a cada 10 minutos no formato json. O outro fornece a previsão de chuva para as próximas duas horas em formato de texto simples, o que é sempre útil saber. Tenho certeza de que se você não mora na Holanda, pode facilmente adaptar este tópico a qualquer outro serviço.
Suprimentos
- Uma placa ESP8266; sugiro o uso de um mini Wemos D1
- Uma tela TFT de 1,8 polegadas com 128 * 160 pontos; Cor de 16 bits
- Alguns cabos
- O programa como está ou para começar a criar o seu próprio
- Uma bela caixa para colocar tudo junto. Use um padrão ou imprima o seu próprio com o desenho anexado
Etapa 1: Faça o protótipo
Tela de conexão e controlador
Use um pequeno cabo plano e solde a placa e a tela TFT juntas. Use a lista para conectar as peças da maneira certa
TELA TFT ------------------ WEMOS
LED ------------------------------- D8 SCK ---------------- --------------- D5SDA ------------------------------- D7A0 - -------------------------------- D3RESET ----------------- ----------- D2CS ---------------------------------- D4GND --- ---------------------------- GNDVCC --------------------- ---------- 3V3
Alternativamente, você pode colocar o LED em 3v3 em vez do pino D8. Usei o pino D8 para fazer o dispositivo dormir por volta das 23:00 da noite e acordar por volta das 07:00 novamente. Efetivamente, este será o primeiro momento em que lê o boletim meteorológico após esse horário, uma vez que lê o cabeçalho para verificar a hora. Não há relógio de tempo real neste dispositivo.
Se tudo funcionar, conecte seu cabo USB ao Wemos e carregue o software. Se tudo funcionar, você pode começar a construir a caixa.
Etapa 2: Design do programa
Minhas ideias sobre este dispositivo meteorológico onde
- Facilmente adaptável a outro ambiente wi-fi
- Exibir previsão do tempo e previsão de chuva
- Sem botões
- Sem som, simples qui, sem fuzz
Com isso em mente, criei um programa que começa com o código WifiManager quando não consegue descobrir uma rede Wifi conhecida. Ele cria sua própria rede e mostra o nome no display. Isso lhe dá a chance de definir os parâmetros de Wifi para sua própria rede doméstica.
Após esta configuração mostra a previsão do tempo e a precipitação de chuva em turnos, a cada 20 segundos. Se por algum motivo não for possível ler a próxima previsão, um pequeno número de erro será exibido no lado direito do display; e a imagem anterior será mostrada. Na próxima execução, uma nova tentativa é feita para recuperar as informações.
As informações meteorológicas são recebidas do site em uma mensagem estilo json. As informações nele são convertidas e salvas em variáveis globais. Desta forma, podemos dissociar a recuperação da informação da sua exibição. Não há razão para recuperar o clima mais rápido do que uma vez a cada 10 minutos.
Obter a precipitação da chuva é ainda mais simples. É servido em formato de texto simples, com a quantidade de chuva esperada no valor 0..255; uma barra vertical; uma vez em cada linha. Isso a cada 5 minutos nas próximas 2 horas. O rainvalue é fornecido de forma inteligente, onde valores pequenos dão mais espaço para mostrar a diferença como valores maiores. A fórmula usada é a seguinte:
mmhour = redondo (pow (10, (valor da chuva - 109) / 32) * 10) / 10;
Observe que "vezes 10, dividir por 10" é um truque para garantir que temos 1 decimal atrás do ponto. Dependendo da quantidade máxima de chuva esperada nas próximas 2 horas, existem 3 escalas usadas para o gráfico;
- Espera-se um máximo de 5 mm / hora
- Espera-se um máximo de 20 mm / hora
- O máximo é obtido a partir do valor mais alto na previsão
Aqui na Holanda, nosso valor mais alto está em torno de 80 mm / hora; então esta escala servirá perfeitamente. Para outros países, pode ser sensato mudar isso.
Etapa 3: Código do programa
Configurações do editor
O software para este dispositivo meteorológico é criado no ambiente de programação Arduino. Você o encontrará em anexo aqui para sua conveniência. Use-o como está; ou altere-o para atender às suas necessidades. Todos os textos que podem ser exibidos na tela TFT são DEFINIDOS no topo do programa; o que significa que você pode alterá-lo facilmente para seu próprio idioma, se desejar. Usei o Wemos D1 mini, mas placas semelhantes também funcionam.
No ambiente Arduino, usei as seguintes configurações;
- Placa: LOLIN (WEMOS) D1 RA e Mini
- Velocidade de upload: 115200
- CPU freq: 80 MHz
- Tamanho do Flash: 4M (sem SPIFFS) V2 Memória Inferior Desabilitada
Temporizadores de software são usados para tornar o loop () mais fácil e legível. A exibição das informações é separada do download das informações. Desta forma, podemos usar outros tamanhos de tela, etc, sem ter que alterar todo o programa.
Use o arquivo.ino e carregue-o no editor arduino. Configure sua placa no editor. Anexe o arquivo de cabeçalho que garante que os arrays PROGMEM estilo C necessários sejam incluídos no programa.
cartão SD
Observe que a maioria dos monitores de 1,8 polegadas disponíveis tem um slot para cartão SD na parte de trás da tela. Este é um bom recurso que ajuda a armazenar imagens grandes no cartão. A maioria dos microcontroladores não tem muita memória a bordo, o que ajuda.
Embora eu passe muito tempo tentando fazer com que o cartão SD funcione com a tela, não consegui ter uma situação viável. Eu poderia usar a tela; recuperar um arquivo do cartão SD com sucesso, mas depois disso não consegui mais acessar a tela TFT. Mudar as bibliotecas, mudar a ordem das bibliotecas e "despir" o programa ao menor corpo para descartar outras possibilidades não me ajudaram.
Para aumentar minha frustração; há muitos exemplos na internet de pessoas fazendo coisas semelhantes com resultados positivos, hmmm. Pode ser um problema de hardware na minha tela TFT? Ou algo em que não pensei? Todas as sugestões são bem-vindas para uma próxima tentativa. No final, depois de passar algumas noites nele; Decidi sair desse caminho. Como as imagens têm apenas 50x50 pixels (o que resulta em 5000 bytes cada uma com cores de 16 bits), o ESP é capaz de armazenar isso no PROGMEM com facilidade. Então foi esse o truque que usei.
Essa escolha resultou em mais um desafio. Como obter a imagem BMP que eu tinha em um formato legível. Depois de algumas pesquisas, descobri o site de Henning Karlsen, que resolveu esse quebra-cabeça antes. Ele criou um programa que converte arquivos do tipo-p.webp
Etapa 4: criar a caixa
Esta não é a primeira caixa de que preciso. Muitas caixas padrão estão disponíveis nos fornecedores. Usando uma pequena serra, uma faca, uma broca, etc., é fácil criar um orifício para a exibição na caixa. Mas nunca consegui fazer um retângulo exatamente bonito. Provavelmente não é suficiente habilidades e / ou paciência;-)
A solução: tive sorte. Eu tenho uma faculdade que é como o super-homem quando se trata de mexer com coisas técnicas. Isso inclui design e impressão 3D também. Então ele decidiu oferecer muito de seu tempo livre para medir o display TFT e o microcontrolador e criar uma caixa ao redor deles. Tudo se encaixa muito bem, dê uma olhada nas fotos. Ele ainda contém encaixes para a tela, um orifício para o conector USB e um local para fixar o microcontrolador.
Obrigado Arjan por este super trabalho realizado !!! Melhor ainda, ele foi tão gentil em dar a todos acesso ao seu trabalho, então se você baixar seus arquivos do link e usá-los para sua própria impressora 3D, você pode criar a mesma caixa com o conteúdo.
Recomendado:
Estação meteorológica profissional usando ESP8266 e ESP32 DIY: 9 etapas (com imagens)
Estação meteorológica profissional usando ESP8266 e ESP32 DIY: LineaMeteoStazione é uma estação meteorológica completa que pode ter interface com sensores profissionais da Sensirion, bem como alguns componentes do instrumento Davis (pluviômetro, anemômetro). O projeto é destinado a uma estação meteorológica DIY, mas requer apenas o
Estação de Trabalho Eletrônica para Hobbyist - Estação De Trabalho Para Entusiastas Em Eletrônica: 10 etapas
Estação de Trabalho Eletrônica para Hobbyist - Estação De Trabalho Para Entusiastas Em Eletrônica: Atenciosamente Leitor e Hobbyist Eletrônica Nestas instruções apresento a construção de uma estação de trabalho para amadores eletrônicos, A estação contém as ferramentas e suportes comuns para trabalhar com circuitos eletrônicos: suporte giratório para ci impresso
Estação meteorológica NaTaLia: Estação meteorológica com energia solar Arduino Feito da maneira certa: 8 etapas (com fotos)
Estação meteorológica de NaTaLia: Estação meteorológica com energia solar Arduino feito da maneira certa: após 1 ano de operação bem-sucedida em 2 locais diferentes, estou compartilhando meus planos de projeto de estação meteorológica movida a energia solar e explicando como ela evoluiu para um sistema que pode realmente sobreviver por muito tempo períodos de energia solar. Se você seguir
Estação meteorológica DIY e estação de sensor WiFi: 7 etapas (com fotos)
Estação meteorológica DIY e estação de sensor WiFi: Neste projeto, vou mostrar como criar uma estação meteorológica juntamente com uma estação de sensor WiFi. A estação sensora mede os dados locais de temperatura e umidade e os envia, via WiFi, para a estação meteorológica. A estação meteorológica exibe então t
Estação de energia do dormitório / Estação de carregamento de NiMH amplificado: 3 etapas
Central Elétrica do Dormitório / Estação de Carregamento de NiMH Souped Up: Eu tenho uma estação de energia uma bagunça. Eu queria condensar tudo o que é carregado em uma bancada e ter espaço para soldar / etc. Lista de coisas de poder: telefone celular (quebrado, mas carrega as baterias do meu telefone, então está sempre conectado e goteja chargi