Innholdsfortegnelse:
- Trinn 1: Maskinvareliste
- Trinn 2: Verktøy
- Trinn 3: Monter maskinvare
- Trinn 4: Still inn timingen
- Trinn 5: Programvaren
- Trinn 6: Konfigurer programvaren
- Trinn 7: Slik fungerer programvaren
- Trinn 8: Kjør den
- Trinn 9: Fremtidige veibeskrivelser
Video: Tidevann og værklokke: 9 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
Selv om du kan kjøpe analoge tidevannsklokker som har en enkelt hånd som indikerer om tidevannet er høyt eller lavt eller et sted i mellom, var det jeg ønsket noe som ville fortelle meg på hvilken tid lavvann vil være. Jeg ønsket noe jeg kunne se raskt på uten å måtte slå det på, eller trykke på noen knapper, eller vente. Og jeg ville ha noe med lang batterilevetid. Så jeg brukte et TTGO T5-kort, som er et ESP32-basert kort med en 2,13 e-papirdisplay, koblet til en TTL5110-brikke. TPL5110 slår på T5 hver 2,5 time, og en gang om dagen laster T5 ned tidevannsdata fra NOAA og værdata fra OpenWeatherMap, viser dataene på e-papiret, og ber deretter TPL5110 slå av T5.
OPPDATERING (25. februar 2020) Tide Clock har gått i ett år nå, og batteriet er på 4,00 volt, så klokken kan tenkes å gå i mange år.
Trinn 1: Maskinvareliste
TTGO T5 -brett $ 17
Adafruit TPL5110 bord $ 5
Adafruit Perma-Proto Quarter-size board (valgfritt) $ 0,71 (minimumsordre $ 8,50)
Li-Poly batteri 1200 mAh $ 10 (eller annen passende strømkilde)
JST PH 2-pinners kabel-hannhodet $ 0,75
220 uF kondensator
Trinn 2: Verktøy
Loddejern
Wire strippere
Li-Po batterilader, for eksempel denne.
Trinn 3: Monter maskinvare
Montering av maskinvaren er ganske enkel som skjematisk viser. Jeg brukte et Adafruit Perma-proto-brett som er som et vanlig protobrett, bortsett fra at det er lagt ut som et brødbrett, med de samme elektriske tilkoblingene som et brødbrett, noe som er fint. Siden jeg bare trengte noen få tilkoblinger, og ønsket å passe hele forsamlingen i en liten eske, skar jeg en av brettene i fjerdedeler med et Dremel cutoff -hjul.
Kondensatoren på 220 uF er veldig viktig. Uten den vil TPL5110 aldri slå på T5. Det er litt uklart hvorfor, men andre som bruker TPL5110 har hatt det samme problemet. Kanskje ESP32 trekker mer strøm ved oppstart enn TTL5110 kan levere?
Ikke koble batteriet hardt. Bruk JST-PH-kabelen, slik at du kan koble fra batteriet for å lade det. Det kan være en måte å lade batteriet fra T5 tilbake gjennom TPL5110 hvis TPL5110 er "på", men jeg kan ikke gå god for den teknikken.
Jeg laget en trekasse som et kabinett, men alt med minimum innvendige dimensjoner på 1,5 "x 2,75" x 1 "ville fungere.
Trinn 4: Still inn timingen
TPL5110 -kortet har et trimpotensiometer som angir tidsintervallet hvor TPL5110 våkner. Bruk en liten skrutrekker til å vri dette helt mot klokken. På brettet mitt satte dette intervallet til 145 minutter, som faktisk er mer enn det spesifiserte maksimumet på 120 minutter, men det fungerer og var konsekvent og vil spare enda mer strøm enn å våkne hvert 120. minutt, så jeg brukte det. Du trenger ikke å vite intervallet nøyaktig, siden målet er bare å laste ned data omtrent en gang om dagen omtrent rundt 04.00. Du kan angi intervallet (f.eks. 145 minutter) og vekketiden (f.eks. 04.00) i env_config.h.
(Hvis du vil ha bedre kontroll over timingen for et annet prosjekt, har TPL5110 -kortet et spor på baksiden du kan kutte for å deaktivere potensiometeret. Deretter fester du en motstand til forsinkelsestappen, og motstanden bestemmer intervallet, iht. dette diagrammet.)
Trinn 5: Programvaren
Du trenger Arduino IDE med ESP32 -pakken. I IDE, sett brettet til "ESP32 Dev Module".
Skissen er tilgjengelig på https://github.com/jasonful/Tides og krever 3 biblioteker:
- "ESP8266 Weather Station", tilgjengelig fra Arduino Library Manager (eller her). Du trenger bare disse 6 filene: ESPHTTPClient.h, ESPWiFi.h, OpenWeatherMapCurrent.cpp, OpenWeatherMapCurrent.h, OpenWeatherMapForecast.cpp, OpenWeatherMapForecast.h og kan slette resten.
- "Json Streaming Parser" tilgjengelig fra Arduino Library Manager (eller her)
- https://github.com/LilyGO/TTGO-Epape-T5-V1.8/tree/master/epa2in13-demo Selv om koden ikke er pakket som et ekte bibliotek, kan du bare kopiere den under bibliotekets katalog og inkludere den.
Trinn 6: Konfigurer programvaren
Det er flere parametere du må angi (og noen få du vil angi) i env_config.h -filen, inkludert:
- WiFi SSID og passord
- NOAA stasjons -ID (med andre ord, hvor er du)
- OpenWeatherMap AppID, som du må registrere deg for (det er enkelt og gratis)
- OpenWeatherMap LocationID (igjen, hvor er du)
- CONFIG_USE_TPL5110, som lar deg bruke en T5 uten en TPL5110. I stedet vil programvaren gå inn i dyp dvalemodus. T5 -kortet trekker omtrent 8 ma i dyp søvn, så jeg forventer bare at batteriet varer noen dager.
Trinn 7: Slik fungerer programvaren
(Du kan hoppe over denne delen hvis du ikke bryr deg.)
Målet er å våkne opp en gang om dagen, men siden det maksimale intervallet for TPL5110 bare er 2 timer eller så, må T5 våkne oftere. Så etter at den har lastet ned tidevanns- og værdata, beregner den hvor mange av disse 2 timers intervallene det er mellom nå og 04:00 i morgen tidlig. Dette er litt komplisert av det faktum at TPL5110 kutter strømmen helt til T5, noe som er bra for batteriet, men det betyr at vi mister RAM og sanntidsklokken. Det er som å våkne opp hver morgen med hukommelsestap. Så for å finne ut hva klokken er nå, trekker den den ut fra NOAAs HTTP -topptekst. Og for å huske hvor mange 2-timers intervaller det er igjen, skriver det som motvirker ikke-flyktig lagring (flash). Hver gang den våkner, kontrollerer den den telleren, reduserer den, lagrer den, og hvis den er større enn null, sender den umiddelbart et signal til TPL51110 ("Ferdig") som ber den sette den i dvale. Når telleren når null, laster koden ned nye data, og beregner og tilbakestiller telleren.
Trinn 8: Kjør den
Sørg for at bryteren på venstre side av T5 er i opp (på) posisjon, last opp skissen til T5, og i løpet av få sekunder skal skjermen oppdateres med tidevann og værinformasjon.
Hvis du trenger å feilsøke programvaren, endrer du "#define DEBUG 0" øverst på Tides.ino til "#define DEBUG 1". Dette vil slå på seriell feilsøkingsutdata, og også vise nederst i e-papiret antall restarter som gjenstår før den laster ned nye data, og tiden det sist lastet ned data.
Trinn 9: Fremtidige veibeskrivelser
- Bruken av TPL5110 kombinert med en e-papirskjerm er en flott måte å vise data som ikke endres ofte, med utmerket batterilevetid.
- Da jeg designet dette, vurderte jeg å bruke TrigBoard, som er et ESP8266 -kort med en TPL5111 om bord. Det ville ha krevd å få et eget e-papir display og e-paper driver board som dette eller dette. Eller en driver+brettkombinasjon som dette eller dette. For å overføre koden til ESP8266, tror jeg SSL-koden må bruke fingeravtrykk i stedet for sertifikater, og den ikke-flyktige lagringskoden må bruke EEPROM- eller RTC-minne.
- Jeg har nylig hørt at Lolin32 -kortet er ganske anstendig i dyp dvalemodus: omtrent 100uA. Ikke så bra som TPL51110 -brettet (20uA ifølge Adafruit) men bra nok.
- OpenWeatherMap returnerer mye mer værdata enn jeg viser. Inkludert ikon -IDer, noe som vil kreve å finne monokrome ikoner et sted.
Anbefalt:
Raspberry Pi Barometer Værklokke: 9 trinn (med bilder)
Raspberry Pi Barometer Værklokke: I denne instruksjonsfilen vil jeg vise deg hvordan du bygger en grunnleggende termometer / barometerklokke ved hjelp av en Raspberry Pi 2 med en BMP180 I2C -sensor som vises på en Adafruit 4 -sifret 7 -segment I2C -skjerm. Pi bruker også en DS3231 sanntids I2C klokkemodul til å k
Raspi-Nextion Værklokke: 7 trinn
Raspi-Nextion værklokke: Å se så mange forskjellige klokker bygget med arduino og bringebær Pi inspirerte meg. Jeg ville lage en også. Jeg begynte med å bruke en arduino mega med en ESP8266, men fant at 8266 wifi hadde for mange hikke. Jeg bestemte meg for å bruke en ekstra Pi jeg hadde (Raspb
Værklokke: 11 trinn (med bilder)
Værklokke: Oppdatering med elektrisk opplegg og Fritzing -oppleggJeg lager to premisser: Dette er min første instruks.Jeg er en uvitende italiener som ikke har studert engelsk på skolen, og derfor ba jeg om hjelp til: https: //translate.google.itStart med takk
Værklokke: 15 trinn (med bilder)
Værklokke: Flott skrivebordsklokke med dato og amp; værvisning
ESP8266 Værklokke: 6 trinn (med bilder)
ESP8266 Weather Clock: Jeg er veldig stolt av din ankomst og velkommen til deg