Taula de continguts:

Rellotge de marea i temps: 9 passos (amb imatges)
Rellotge de marea i temps: 9 passos (amb imatges)

Vídeo: Rellotge de marea i temps: 9 passos (amb imatges)

Vídeo: Rellotge de marea i temps: 9 passos (amb imatges)
Vídeo: 10 самых АТМОСФЕРНЫХ мест Дагестана. БОЛЬШОЙ ВЫПУСК #Дагестан #ПутешествиеПоДагестану 2024, Desembre
Anonim
Rellotge de la marea i del temps
Rellotge de la marea i del temps

Tot i que podeu comprar rellotges de marea analògics que tinguin una sola mà que indiqui si la marea és alta o baixa o en algun lloc intermedi, el que volia era una cosa que em digués en quin moment serà la marea baixa. Volia una cosa que pogués mirar ràpidament sense haver d’engegar-la, ni prémer cap botó ni esperar. I volia alguna cosa amb una llarga durada de la bateria. Per tant, he utilitzat una placa TTGO T5, que és una placa basada en ESP32 amb una pantalla de paper electrònic de 2,13 polzades, connectada a un xip TTL5110. El TPL5110 encén el T5 cada 2,5 hores i, un cop al dia, el T5 descarrega les dades de marea de NOAA i les dades meteorològiques d'OpenWeatherMap, mostren les dades al paper electrònic i, a continuació, indiquen al TPL5110 que desactiveu el T5.

ACTUALITZACIÓ (25 de febrer de 2020) El rellotge de marea fa un any que funciona i la bateria està a 4,00 volts, de manera que el rellotge podria funcionar durant molts anys.

Pas 1: llista de maquinari

Tauler TTGO T5 17 dòlars

Tauler Adafruit TPL5110 de 5 dòlars

Tauler Adafruit Perma-Proto Quarter-size (opcional) 0,71 $ (comanda mínima 8,50 $)

Bateria Li-Poly 1200 mAh 10 $ (o una altra font d'alimentació adequada)

Cable de 2 pins JST PH: capçalera masculina 0,75 $

Condensador de 220 uF

Pas 2: Eines

Soldador

Decapants de filferro

Carregador de bateria Li-Po, com aquest.

Pas 3: muntar maquinari

Muntatge de maquinari
Muntatge de maquinari
Muntatge de maquinari
Muntatge de maquinari
Muntatge de maquinari
Muntatge de maquinari

Muntar el maquinari és bastant senzill, tal com mostra l’esquema. He utilitzat una placa proto-Adafruit Perma que és com una placa de protecció normal, tret que està disposada com una placa de paret, amb les mateixes connexions elèctriques que una placa de paret, cosa que és agradable. Com que només necessitava algunes connexions i volia encabir tot el conjunt en una caixa petita, vaig tallar una de les taules en quarts amb una roda de tall Dremel.

El condensador de 220 uF és molt important. Sense ella, el TPL5110 mai no encendrà el T5. No està clar per què, però altres persones que utilitzen el TPL5110 han tingut el mateix problema. Potser l’ESP32 atrau més corrent a l’arrencada del que el TTL5110 pot subministrar?

No connecteu la bateria. Utilitzeu el cable JST-PH perquè pugueu desconnectar la bateria per carregar-la. És possible que hi hagi una manera de carregar la bateria des del T5 cap enrere a través del TPL5110 si el TPL5110 està "encès", però no puc garantir aquesta tècnica.

Vaig fer una caixa de fusta com a tancament, però tot el que tingués unes dimensions interiors mínimes d'1,5 "x 2,75" x 1 "funcionaria.

Pas 4: Sintonitzeu el temps

La placa TPL5110 té un potenciòmetre d’ajust que estableix l’interval de temps en què es desperta el TPL5110. Utilitzeu un petit tornavís per girar tot això en sentit antihorari. Al meu tauler, es va establir l'interval a 145 minuts, que en realitat supera el màxim especificat de 120 minuts, però funciona i va ser constant i estalviarà encara més energia que el despertar cada 120 minuts, així que el vaig utilitzar. No cal que coneguis l'interval amb precisió, ja que l'objectiu és descarregar dades aproximadament un cop al dia aproximadament cap a les 4 de la matinada. Podeu especificar l'interval (per exemple, 145 minuts) i el temps de despertador (per exemple, les 4 de la matinada) a env_config.h.

(Si voleu un millor control del temps per a algun altre projecte, la placa TPL5110 té un rastre a la part posterior que podeu tallar per desactivar el potenciòmetre. A continuació, poseu una resistència al pin de retard i la resistència determina l'interval, segons aquest gràfic.)

Pas 5: el programari

Necessitareu l'IDE Arduino amb el paquet ESP32. A l'IDE, configureu el tauler a "ESP32 Dev Module".

L’esbós està disponible a https://github.com/jasonful/Tides i requereix 3 biblioteques:

  1. "Estació meteorològica ESP8266", disponible al gestor de biblioteques Arduino (o aquí). Només necessitareu aquests 6 fitxers: ESPHTTPClient.h, ESPWiFi.h, OpenWeatherMapCurrent.cpp, OpenWeatherMapCurrent.h, OpenWeatherMapForecast.cpp, OpenWeatherMapForecast.h i podeu eliminar la resta.
  2. "Json Streaming Parser" disponible al gestor de biblioteques Arduino (o aquí)
  3. https://github.com/LilyGO/TTGO-Epape-T5-V1.8/tree/master/epa2in13-demo Tot i que el codi no està empaquetat com una veritable biblioteca, només podeu copiar-lo al directori de biblioteques i incloure-ho això.

Pas 6: configureu el programari

Hi ha diversos paràmetres que haureu d’establir (i alguns que podeu configurar) al fitxer env_config.h, inclosos:

  • SSID WiFi i contrasenya
  • Identificador de l'estació NOAA (és a dir, on ets)
  • OpenWeatherMap AppID, al qual haurà de registrar-se (és fàcil i gratuït)
  • OpenWeatherMap LocationID (de nou, on ets)
  • CONFIG_USE_TPL5110, que us permet utilitzar un T5 sense TPL5110. En canvi, el programari entrarà en mode de repòs profund. La placa T5 dibuixa uns 8 ma en son profund, de manera que només esperaria que la bateria durés uns quants dies.

Pas 7: Com funciona el programari

(Podeu ometre aquesta part si no us interessa.)

L’objectiu és despertar-se un cop al dia, però com que l’interval màxim del TPL5110 és de només 2 hores més o menys, el T5 s’ha de despertar més sovint. Per tant, després de descarregar les dades de la marea i del temps, calcula quants d'aquests intervals de 2 hores hi ha d'aquí a les 4:00 del matí de demà al matí. Això és una mica complicat pel fet que el TPL5110 talla totalment l’alimentació del T5, cosa que és bo per a la bateria, però significa que perdem RAM i el rellotge en temps real. És com despertar-se cada matí amb amnèsia. Per esbrinar quina hora és ara, l’extreu de la capçalera HTTP de NOAA. I per recordar quants intervals de 2 hores queden, escriu que es contraposa a l’emmagatzematge no volàtil (flash). Cada vegada que es desperta, comprova aquest comptador, el decrementa, el guarda i, si és superior a zero, envia immediatament un senyal al TPL51110 ("Fet") dient-li que el faci dormir. Quan el comptador arriba a zero, el codi descarrega dades noves i torna a calcular i restableix el comptador.

Pas 8: executeu-lo

Executeu-lo
Executeu-lo

Assegureu-vos que l’interruptor del costat esquerre del T5 estigui a la posició cap amunt (encès), pengeu l’esbós al T5 i, en pocs segons, la pantalla s’ha d’actualitzar amb informació sobre la marea i el temps.

Si necessiteu depurar el programari, canvieu "#define DEBUG 0" a la part superior de Tides.ino per "#define DEBUG 1". Això activarà la sortida de depuració en sèrie i també mostrarà a la part inferior del paper electrònic el nombre de reinicis restants abans de descarregar les dades noves i l'última vegada que va descarregar les dades.

Pas 9: indicacions futures

  1. L’ús del TPL5110 combinat amb una pantalla de paper electrònic és una manera excel·lent de mostrar qualsevol dada que no canvia sovint, amb una durada de la bateria excel·lent.
  2. Quan estava dissenyant això, vaig pensar en utilitzar el TrigBoard, que és una placa ESP8266 amb un TPL5111 a la placa. Hauria estat necessari obtenir una pantalla de paper electrònic independent i un tauler de controladors de paper electrònic com aquest o aquest. O un combo controlador + tauler com aquest o aquest. Per portar el codi a ESP8266, crec que el codi SSL haurà d’utilitzar empremtes digitals en lloc de certificats i el codi d’emmagatzematge no volàtil haurà d’utilitzar memòria EEPROM o RTC.
  3. Recentment he sentit que la placa Lolin32 és bastant decent en mode de son profund: aproximadament 100uA. No és tan bo com el tauler TPL51110 (20uA segons Adafruit) però prou bo.
  4. OpenWeatherMap retorna moltes més dades meteorològiques de les que estic mostrant. Inclou els identificadors d’icones, que requeririen trobar icones monocromes en algun lloc.

Recomanat: