Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-23 15:03
Embora você possa comprar relógios analógicos que tenham um único ponteiro indicando se a maré está alta ou baixa ou em algum ponto intermediário, o que eu queria era algo que me dissesse a que horas será a maré baixa. Eu queria algo que pudesse olhar rapidamente sem ter que ligá-lo, apertar nenhum botão ou esperar. E eu queria algo com bateria de longa duração. Então, usei uma placa TTGO T5, que é uma placa baseada em ESP32 com visor de papel eletrônico de 2,13 , conectada a um chip TTL5110. O TPL5110 liga o T5 a cada 2,5 horas e, uma vez por dia, o T5 baixa os dados da maré de O NOAA e os dados meteorológicos do OpenWeatherMap exibem os dados no e-paper e, em seguida, informa ao TPL5110 para desligar o T5.
ATUALIZAÇÃO (25 de fevereiro de 2020) O Tide Clock já está funcionando há um ano, e a bateria está em 4,00 volts, então o relógio pode funcionar por muitos anos.
Etapa 1: Lista de Hardware
Placa TTGO T5 $ 17
Placa Adafruit TPL5110 $ 5
Placa do tamanho Adafruit Perma-Proto Quarter (opcional) $ 0,71 (pedido mínimo $ 8,50)
Bateria Li-Poly 1200 mAh $ 10 (ou outra fonte de alimentação apropriada)
Cabo JST PH de 2 pinos - conector macho $ 0,75
Capacitor 220 uF
Etapa 2: Ferramentas
Ferro de solda
Decapantes de arame
Carregador de bateria Li-Po, como este.
Etapa 3: montar o hardware
Montar o hardware é muito simples, como mostra o esquema. Eu usei uma placa Adafruit Perma-proto que é como uma protoboard normal, exceto que é disposta como uma breadboard, com as mesmas conexões elétricas de uma breadboard, o que é bom. Como eu só precisava de algumas conexões e queria encaixar todo o conjunto em uma pequena caixa, cortei uma das placas em quartos com uma roda de corte Dremel.
O capacitor 220 uF é muito importante. Sem ele, o TPL5110 nunca ligará o T5. Não está claro o porquê, mas outras pessoas que usam o TPL5110 tiveram o mesmo problema. Talvez o ESP32 consuma mais corrente na inicialização do que o TTL5110 pode fornecer?
Não conecte a bateria. Use o cabo JST-PH para desconectar a bateria e carregá-la. Pode haver uma maneira de carregar a bateria do T5 de volta ao TPL5110 se o TPL5110 estiver "ligado", mas não posso garantir essa técnica.
Eu fiz uma caixa de madeira como um invólucro, mas qualquer coisa com dimensões internas mínimas de 1,5 "x 2,75" x 1 "funcionaria.
Etapa 4: ajuste o tempo
A placa do TPL5110 possui um potenciômetro de compensação que define o intervalo de tempo em que o TPL5110 é ativado. Use uma pequena chave de fenda para girar totalmente no sentido anti-horário. Na minha placa, isso definiu o intervalo para 145 minutos, que na verdade é mais do que o máximo especificado de 120 minutos, mas funcionou e foi consistente e vai economizar ainda mais energia do que acordar a cada 120 minutos, então eu usei. Você não precisa saber o intervalo com precisão, já que o objetivo é apenas fazer o download dos dados aproximadamente uma vez por dia, por volta das 4h. Você pode especificar o intervalo (por exemplo, 145 minutos) e a hora de despertar (por exemplo, 4h) em env_config.h.
(Se você quiser um melhor controle de tempo para algum outro projeto, a placa TPL5110 tem um traço na parte de trás que você pode cortar para desabilitar o potenciômetro. Em seguida, você anexa um resistor ao pino Delay, e a resistência determina o intervalo, de acordo com este gráfico.)
Etapa 5: o software
Você precisará do Arduino IDE com o pacote ESP32. No IDE, configure sua placa para "ESP32 Dev Module".
O esboço está disponível em https://github.com/jasonful/Tides e requer 3 bibliotecas:
- "ESP8266 Weather Station", disponível no Arduino Library Manager (ou aqui). Você só precisará desses 6 arquivos: ESPHTTPClient.h, ESPWiFi.h, OpenWeatherMapCurrent.cpp, OpenWeatherMapCurrent.h, OpenWeatherMapForecast.cpp, OpenWeatherMapForecast.h e pode excluir o resto.
- "Json Streaming Parser" disponível no Arduino Library Manager (ou aqui)
- https://github.com/LilyGO/TTGO-Epape-T5-V1.8/tree/master/epa2in13-demo Mesmo que o código não seja empacotado como uma biblioteca verdadeira, você pode apenas copiá-lo no diretório de bibliotecas e incluir isto.
Etapa 6: configurar o software
Existem vários parâmetros que você terá que definir (e alguns que você pode querer definir) no arquivo env_config.h, incluindo:
- SSID WiFi e senha
- ID da estação NOAA (em outras palavras, onde você está)
- OpenWeatherMap AppID, no qual você precisará se registrar (é fácil e gratuito)
- OpenWeatherMap LocationID (novamente, onde você está)
- CONFIG_USE_TPL5110, que permite usar um T5 sem um TPL5110. Em vez disso, o software entrará no modo de hibernação. A placa T5 consome cerca de 8 ma em repouso profundo, então eu esperava que a bateria durasse apenas alguns dias.
Etapa 7: Como o software funciona
(Você pode pular esta parte se não se importar.)
O objetivo é acordar uma vez por dia, mas como o intervalo máximo do TPL5110 é de apenas 2 horas ou mais, o T5 precisa acordar com mais frequência. Assim, depois de fazer o download dos dados de marés e clima, ele calcula quantos desses intervalos de 2 horas existem entre agora e as 4h da manhã de amanhã. Isso é um pouco complicado pelo fato de que o TPL5110 corta totalmente a energia do T5, o que é bom para a bateria, mas significa que perdemos RAM e o relógio em tempo real. É como acordar todas as manhãs com amnésia. Portanto, para descobrir que horas são agora, ele o extrai do cabeçalho HTTP do NOAA. E para lembrar quantos intervalos de 2 horas faltam, ele grava esse contador no armazenamento não volátil (flash). Cada vez que ele acorda, ele verifica esse contador, diminui-o, armazena-o e se for maior que zero, ele imediatamente envia um sinal para o TPL51110 ("Concluído") dizendo para colocá-lo em hibernação. Quando o contador chega a zero, o código baixa novos dados, recalcula e zera o contador.
Etapa 8: execute-o
Certifique-se de que a chave no lado esquerdo do T5 esteja na posição para cima (ligado), carregue o esboço no T5 e, em alguns segundos, a tela deve ser atualizada com informações sobre a maré e o clima.
Se você precisar depurar o software, altere o "#define DEBUG 0" no topo do Tides.ino para "#define DEBUG 1". Isso ativará a saída de depuração serial e também exibirá na parte inferior do e-paper o número de reinicializações restantes antes de baixar novos dados e a hora da última vez em que os dados foram baixados.
Etapa 9: Direções Futuras
- O uso do TPL5110 combinado com um display de e-paper é uma ótima maneira de exibir quaisquer dados que não mudam com frequência, com excelente duração da bateria.
- Quando estava projetando isso, pensei em usar o TrigBoard, que é uma placa ESP8266 com um TPL5111 a bordo. Seria necessário obter um display de papel eletrônico separado e uma placa de driver de papel eletrônico como este ou aquele. Ou uma combinação driver + placa como esta ou esta. Para portar o código para ESP8266, acho que o código SSL terá que usar impressões digitais em vez de certificados, e o código de armazenamento não volátil precisará usar memória EEPROM ou RTC.
- Recentemente, ouvi que a placa Lolin32 é bastante decente no modo de suspensão profunda: cerca de 100uA. Não tão bom quanto a placa TPL51110 (20uA de acordo com Adafruit), mas bom o suficiente.
- OpenWeatherMap retorna muito mais dados meteorológicos do que estou exibindo. Incluindo IDs de ícones, o que exigiria a localização de ícones monocromáticos em algum lugar.
Recomendado:
Como fazer relógio analógico e relógio digital com faixa LED usando o Arduino: 3 etapas
Como fazer relógio analógico e relógio digital com faixa de LED usando o Arduino: Hoje faremos um relógio analógico e relógio digital com faixa de LED. Relógio digital com Led Strip e módulo MAX7219 Dot com Arduino. Corrigirá a hora com o fuso horário local. O relógio analógico pode usar uma faixa de LED mais longa, então pode ser pendurado na parede para se tornar uma arte
Relógio de aposentadoria / Contagem Crescente / Relógio Dn: 4 etapas (com imagens)
Relógio de aposentadoria / Contagem crescente / Dn Clock: Eu tinha alguns desses visores matriciais de LED 8x8 na gaveta e estava pensando no que fazer com eles. Inspirado por outros instructables, tive a ideia de construir um display de contagem regressiva / crescente para fazer a contagem regressiva para uma data / hora futura e se o tempo alvo p
Relógio Vortex: um relógio de pulso com espelho infinito: 10 etapas (com fotos)
Relógio Vortex: um relógio de pulso com espelho infinito: O objetivo deste projeto era criar uma versão vestível de um relógio com espelho infinito. Ele usa seus LEDs RGB para indicar o tempo, atribuindo horas, minutos e segundos às luzes vermelha, verde e azul, respectivamente, e sobrepondo esses tons t
Galeria do Relógio das Marés: 6 etapas (com fotos)
Tidal Clock Gallery: Esta pequena galeria independente de fotos que delineiam a época das marés é um bom projeto para o verão. O princípio das previsões das marés com um microcontrolador é baseado no trabalho de Luke Miller, que configurou a estrutura de dados e o código fácil de
Construa um relógio de sino real para seu PC e um relógio de extintor de incêndio: 3 etapas (com fotos)
Construa um relógio de sino real para seu PC e um relógio de extintor de incêndio .: Um sino de latão, um pequeno relé, mais algumas coisas e um sino de verdade podem marcar as horas em sua área de trabalho. Embora este projeto seja executado no Windows e Mac No OS X também, decidi instalar o Ubuntu Linux em um PC que encontrei na lixeira e trabalhar nisso: eu nunca tinha