Índice:

Estação meteorológica ESP8266 / ESP32 com LCD (s) TFT: 8 etapas
Estação meteorológica ESP8266 / ESP32 com LCD (s) TFT: 8 etapas

Vídeo: Estação meteorológica ESP8266 / ESP32 com LCD (s) TFT: 8 etapas

Vídeo: Estação meteorológica ESP8266 / ESP32 com LCD (s) TFT: 8 etapas
Vídeo: Estación meteorológica en Arduino con NodeMCUESP8266 or ESP 32 and TFT Display ILI9341. 2024, Novembro
Anonim
Estação meteorológica ESP8266 / ESP32 com LCD (s) TFT
Estação meteorológica ESP8266 / ESP32 com LCD (s) TFT
Estação meteorológica ESP8266 / ESP32 com LCD (s) TFT
Estação meteorológica ESP8266 / ESP32 com LCD (s) TFT
Estação meteorológica ESP8266 / ESP32 com LCD (s) TFT
Estação meteorológica ESP8266 / ESP32 com LCD (s) TFT

Olá!

Neste breve instrutível gostaria de apresentar meu segundo projeto Esp8266 WS. Desde que publiquei meu primeiro projeto ESP, eu queria fazer para mim um segundo. Então, eu tive algum tempo livre para retrabalhar um código-fonte antigo para atender às minhas necessidades.

Então, se você não se importar, eu irei apresentá-lo.

Etapa 1: a estação meteorológica

O WS ainda usa a chave da API openweathermap para baixar os dados meteorológicos e exibi-los na tela.

Um pouco de codificação foi necessária porque dessa forma não poderia exibir os ícones de clima que eu queria.

Etapa 2: Materiais

Peças necessárias para WS:

- Nodemcu V3 ESP8266

- LCD TFT de 1,8 polegadas com driver IC ST7735

- Fios F-F

- Código fonte

- IDE Arduino

- Suporte SPIFFS

- Chave da API Openweathermap

Etapa 3: Software

Para este projeto, estou fornecendo o código-fonte e as imagens de bitmap necessárias, baixe-o da minha página do github:

A biblioteca que usei é a TFT_eSPI criada por Bodmer.

Tudo o que você precisa fazer: Baixar as bibliotecas corretas, compilá-las e enviá-las para a placa, enviar as imagens bitmap com SPIFFS para ESP e conectar-se ao lcd.

Usei imagens de bitmap de 24 bits 100 X100, mas você pode usar qualquer outro ícone. Os que usei foram baixados de

Etapa 4: Pinagem do LCD

A pinagem é a seguinte:

// Exibir SDO / MISO para NodeMCU pino D6 (ou deixe-o desconectado se não estiver lendo TFT)

// Exibir LED no pino VIN do NodeMCU (ou 5V, veja abaixo)

// Exibir SCK para NodeMCU pino D5

// Exibir SDI / MOSI para NodeMCU pino D7

// Exibir DC (RS / AO) para NodeMCU pino D3

// Exibe RESET para NodeMCU pino D4 (ou RST, veja abaixo)

// Exibir CS para NodeMCU pino D8 (ou GND, veja abaixo)

// Exibir GND para NodeMCU pino GND (0V)

// Exibir VCC para NodeMCU 5V ou 3,3V

Para uma luz de fundo reduzida, você pode usar um potenciômetro de 10K ou outro pino GPIO. Quanto a mim, costumo conectar o pino da luz de fundo ao pino TX. Eu sei que não é uma ideia muito boa ou muito saudável para PES, mas está funcionando dessa forma.

Etapa 5: WS em ação

WS em ação
WS em ação
WS em ação
WS em ação
WS em ação
WS em ação

Depois de ter feito tudo corretamente, você pode ver se a estação meteorológica está se conectando à Internet e baixando os dados meteorológicos.

Os diferentes parâmetros são separados em diferentes loops.

O que você vê é a descrição real do tempo, temperatura, umidade, velocidade do vento, visibilidade em metros, pressão do ar, ângulo do vento, cobertura de nuvens em porcentagem (%).

Como um bônus entre 21h e 7h, o display muda para o lado inverso, simbolizando a hora noturna.

Etapa 6: algumas dicas importantes

Algumas dicas importantes
Algumas dicas importantes
Algumas dicas importantes
Algumas dicas importantes
Algumas dicas importantes
Algumas dicas importantes

Como todos sabem, existem algumas variantes do TFT de 1,8 na Internet. Com os lcd-s Adafruit genuínos, geralmente não há problemas. Mas, ao usar os falsos (geralmente da Aliexpress), é necessário fazer alguns ajustes.

A biblioteca Bodmers TFT_eSPI é muito impressionante e rica em funcionalidades. E a melhor parte é que ele o fez para lidar com os deslocamentos de pixel dependendo do tipo de TFT de 1,8 que você está usando.

Para superar esse problema, estou sugerindo o seguinte:

Vá para a pasta da biblioteca e edite o arquivo User_Setup.h. Remova o comentário #define ST7735_DRIVER e comente os outros.

Em seguida, descomente a altura e a largura do tft. E então, no meu caso (REDTAB), descomente para, por exemplo: #define ST7735_REDTAB. Depois disso, salve-o por enquanto, compile o esboço e carregue no painel. Para ter certeza de que defini os parâmetros no esboço também. Este é um procedimento um pouco longo, porque você tem que compilar e carregar o esboço todas as vezes para embarcar até que o deslocamento tenha desaparecido, mas vale a pena experimentar. Para editar o h. arquivos, eu sugiro fortemente o Wordpad. Imagens incluídas.

Etapa 7: Concluído

Depois de fazer tudo corretamente você poderá desfrutar deste pequeno gadget. Tentei emparelhar as imagens de bitmap com os códigos de clima da melhor maneira que pude, mas ainda estou testando no momento.

Basicamente, acabei de fazer para mim, mas depois de um dia pensei em compartilhá-lo. Talvez alguém goste mais do que eu.

Obrigado por ler meu instrutível, espero que você o ache útil e use-o como quiser.

Tenha um bom dia!

Etapa 8: Uma pequena atualização

Uma pequena atualização
Uma pequena atualização
Uma pequena atualização
Uma pequena atualização
Uma pequena atualização
Uma pequena atualização

Depois de alguns dias, pensei em refazer este WS em uma nova forma.

Mudanças: ESP32 Uno R3

Paralelo ILI9340 / 41 TFT LCD

Novos ícones

1 opção extra

Por favor, edite o arquivo User_setup.h na biblioteca TFT_eSPI de acordo com o esboço. Por favor, descomente-os e comente outra opção ou então não funcionará.

Você tem que conectar GPIO 35 a 15, GPIO 33 a 34, GPIO 32 a 36 porque eles são apenas pinos de entrada e então nosso monitor não funcionará (veja a imagem).

O código-fonte está disponível no github.

Recomendado: