Índice:

Relógio da estação meteorológica ESP8266: 4 etapas
Relógio da estação meteorológica ESP8266: 4 etapas

Vídeo: Relógio da estação meteorológica ESP8266: 4 etapas

Vídeo: Relógio da estação meteorológica ESP8266: 4 etapas
Vídeo: Smart NTP Clock & Weather Station Using ESP8266 Nodemcu 2024, Novembro
Anonim
Relógio da estação meteorológica ESP8266
Relógio da estação meteorológica ESP8266

Este projeto é uma boa maneira de exibir a hora e o clima em um pacote pequeno e conveniente. Vou explicar o projeto, como funciona e mostrar o código aqui.

Você pode pressionar diferentes botões para mostrar o clima atual em um local definido, bem como a temperatura e a pressão. A visualização padrão é a hora que é obtida de um servidor NTP.

Não há necessidade de definir a hora, pois a hora é sincronizada a partir do servidor NTP e é muito precisa. Nesta configuração tenho a hora e o endereço IP local. Você pode alterar o código para incluir data, clima, pressão e temperatura para exibir na tela principal ou nos botões.

Etapa 1: o esquema

O Esquemático
O Esquemático
O Esquemático
O Esquemático

O esquema é relativamente simples e fácil de

Segue. Existe um arquivo gerber se você deseja girar seu próprio PCB. Todo o circuito é alimentado por 5 V proveniente de uma conexão micro USB. Isso torna o circuito simples e fácil de energizar. O 5 V é alimentado em um regulador de baixa queda de 3,3 V um LM 3940 que fornece 3,3 V ao ESP8266. Há um conector USB no ESP8266, entretanto, optei por não usá-lo em geral porque o 5V também dirige o LCD.

3.3V deve ser usado com o ESP8266, você não pode dirigi-lo diretamente com 5V, pois isso matará a placa.

Os dois interruptores táteis são conectados a D5 e D6 e são configurados no código para trazer informações diferentes na tela. Eu tenho esses definidos para Temperatura / Pressão e Previsão.

Todos os componentes são facilmente soldados à mão no perfboard ou o gerber está disponível no meu GitHub em

Etapa 2: O Código

github.com/allenelectronics/esp8266weatherstation

O código é compilado no IDE do Arduino e precisa de alguma configuração para funcionar

Em primeiro lugar, você precisa instalar a placa ESP8266 no IDE para fazer o upload do código para ela.

Instruções completas sobre como fazer isso estão aqui:

Para obter a funcionalidade do clima, optei por usar o RemoteMe, que coleta os dados do clima direto da API e gera o código que pode ser inserido no seu código. Você precisará se registrar e configurar o fluxo de dados em seu site:

A documentação sobre o RemoteMe pode ser encontrada aqui:

Existem algumas definições específicas que são exclusivas de sua configuração que você precisará concluir antes do upload:

#define WIFI_NAME "SSID VAI AQUI"

#define WIFI_PASSWORD PASSWORD VAI AQUI”

#define DEVICE_ID 1

#define DEVICE_NAME "OBTAIN FROM REMOTEME. ORG"

#define TOKEN "OBTER FROM REMOTEME. ORG"

As definições aqui precisam ser definidas por você com base nos seus detalhes de wi-fi e no token que você obtém do RemoteMe.

Você precisa se certificar de que todas essas bibliotecas estão instaladas e incluídas no código. Incluí links para aqueles que são mais difíceis de obter.

#include //https://github.com/remoteme/RemoteMeArduinoLibrary

#incluir

#incluir

#incluir

#incluir

A última parte que precisa ser alterada é a sua localização, pois este projeto não usa GPS. Você precisa modificar a string “LOCATION”:

else if (buttonState2 == LOW && prevButtonState2 == HIGH) {

Serial.print ("LOCALIZAÇÃO / n");

Serial.println (fc);

lcd.clear ();

lcd.print ("LOCALIZAÇÃO");

lcd.setCursor (0, 1);

lcd.print (fc);

lcd.setCursor (0, 0);

atraso (5000);

prevButtonState2 = buttonState2;

Etapa 3: a construção

The Build
The Build
The Build
The Build

The Build

Na época eu não tinha acesso a uma impressora 3D, este foi meu último projeto usando um estojo pronto para uso. Eu usei uma caixa de painel de alarme prontamente disponível que é projetada para o LCD 16x2.

Link: https://www.ebay.co.uk/itm/86-Plastic-project-box-enclosure-case-for-diy-LCD1602-meter-tester-with-buttGA/363214674235?hash=item549148193b:g: IvQAAOSwNXpcFFrv

Tudo está enfiado dentro do gabinete, o display LCD 16x2 é colado ao painel frontal com a placa de circuito colada a quente no lugar.

Etapa 4: Conclusão

Conclusão

Este é um projeto bacana para um relógio digital de mesa que não precisa de ajustes ou configurações, leva o tempo de um servidor NTP e o exibe em um LCD com luz de fundo clara.

Isso não é para um iniciante completo, pois há alguma configuração para o código necessária e os fluxos de dados também precisam ser configurados. Se você tiver alguma dúvida ou comentário, sinta-se à vontade para me deixar um comentário.

Recomendado: