Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-23 15:10
Även om du kan köpa analoga tidvattensklockor som har en enda hand som anger om tidvattnet är högt eller lågt eller någonstans däremellan, var det jag ville ha något som skulle berätta för mig vid vilken tid lågvatten kommer att vara. Jag ville ha något jag kunde titta snabbt på utan att behöva slå på det, eller trycka på några knappar eller vänta. Och jag ville ha något med lång batteritid. Så jag använde ett TTGO T5-kort, som är ett ESP32-baserat kort med en 2,13 e-pappersdisplay, ansluten till ett TTL5110-chip. TPL5110 slår på T5 var 2,5: e timme, och en gång om dagen hämtar T5 tidvattendata från NOAA och väderdata från OpenWeatherMap, visar data på e-papperet och uppmanar sedan TPL5110 att stänga av T5.
UPPDATERING (25 februari 2020) Tide Clock har körts i ett år nu och batteriet är på 4,00 volt, så klockan kan tänkas gå i många år.
Steg 1: Hårdvarulista
TTGO T5 bräda $ 17
Adafruit TPL5110 ombord $ 5
Adafruit Perma-Proto Quarter-size board (tillval) $ 0,71 (minsta order $ 8,50)
Li-Poly batteri 1200 mAh $ 10 (eller annan lämplig strömkälla)
JST PH 2-polig kabel-hankontakt $ 0,75
220 uF kondensator
Steg 2: Verktyg
Lödkolv
Wire strippers
Li-Po batteriladdare, som denna.
Steg 3: Montera hårdvara
Att montera hårdvaran är ganska enkelt som schemat visar. Jag använde en Adafruit Perma-proto-skiva som är som en vanlig protoboard förutom att den är anlagd som en brödbräda, med samma elektriska anslutningar som en brödbräda, vilket är trevligt. Eftersom jag bara behövde några anslutningar och ville passa hela enheten i en liten låda, skar jag en av brädorna i fjärdedelar med ett Dremel -avskärningshjul.
Kondensatorn på 220 uF är mycket viktig. Utan det kommer TPL5110 aldrig att slå på T5. Det är lite oklart varför, men andra som använder TPL5110 har haft samma problem. Kanske drar ESP32 mer ström vid start än TTL5110 kan leverera?
Anslut inte batteriet. Använd JST-PH-kabeln så att du kan koppla ur batteriet för att ladda det. Det kan finnas ett sätt att ladda batteriet från T5 tillbaka genom TPL5110 om TPL5110 är "på", men jag kan inte garantera den tekniken.
Jag gjorde en trälåda som ett hölje, men allt med minsta inre mått på 1,5 "x 2,75" x 1 "skulle fungera.
Steg 4: Ställ in timingen
TPL5110 -kortet har en trimpotentiometer som ställer in tidsintervallet vid vilket TPL5110 vaknar. Använd en liten skruvmejsel för att vrida den hela vägen moturs. På mitt bräde ställde detta intervallet till 145 minuter, vilket faktiskt är mer än det angivna maxvärdet på 120 minuter, men det fungerar och var konsekvent och kommer att spara ännu mer ström än att vakna var 120: e minut, så jag använde det. Du behöver inte veta intervallet exakt, eftersom målet bara är att ladda ner data ungefär en gång om dagen ungefär runt 04.00. Du kan ange intervallet (t.ex. 145 minuter) och väckningstiden (t.ex. 04:00) i env_config.h.
(Om du vill ha bättre kontroll över tidpunkten för något annat projekt, har TPL5110 -kortet ett spår på baksidan som du kan klippa för att inaktivera potentiometern. Därefter fäster du ett motstånd till fördröjningsstiftet, och motståndet bestämmer intervallet, enligt detta diagram.)
Steg 5: Programvaran
Du behöver Arduino IDE med ESP32 -paketet. I IDE ställer du in ditt kort på "ESP32 Dev Module".
Skissen är tillgänglig på https://github.com/jasonful/Tides och kräver 3 bibliotek:
- "ESP8266 Weather Station", tillgänglig från Arduino Library Manager (eller här). Du behöver bara dessa 6 filer: ESPHTTPClient.h, ESPWiFi.h, OpenWeatherMapCurrent.cpp, OpenWeatherMapCurrent.h, OpenWeatherMapForecast.cpp, OpenWeatherMapForecast.h och kan ta bort resten.
- "Json Streaming Parser" tillgänglig från Arduino Library Manager (eller här)
- https://github.com/LilyGO/TTGO-Epape-T5-V1.8/tree/master/epa2in13-demo Även om koden inte är förpackad som ett riktigt bibliotek kan du bara kopiera den under bibliotekskatalogen och inkludera den.
Steg 6: Konfigurera programvaran
Det finns flera parametrar du måste ställa in (och några som du kanske vill ställa in) i filen env_config.h, inklusive:
- WiFi SSID och lösenord
- NOAA -stations -id (med andra ord, var är du)
- OpenWeatherMap AppID, som du måste registrera dig för (det är enkelt och gratis)
- OpenWeatherMap LocationID (igen, var är du)
- CONFIG_USE_TPL5110, som låter dig använda en T5 utan en TPL5110. Istället kommer programvaran att gå in i djupt viloläge. T5 -kortet drar cirka 8 ma i djup sömn, så jag förväntar mig bara att batteriet räcker några dagar.
Steg 7: Hur programvaran fungerar
(Du kan hoppa över den här delen om du inte bryr dig.)
Målet är att vakna en gång om dagen, men eftersom det maximala intervallet för TPL5110 bara är 2 timmar eller så måste T5 vakna oftare. Så efter att det har laddat ner tidvatten- och väderdata beräknar det hur många av dessa 2 timmars intervall det finns mellan nu och 4:00 imorgon morgon. Detta kompliceras något av det faktum att TPL5110 helt bryter strömmen till T5, vilket är bra för batteriet, men det betyder att vi förlorar RAM-minne och realtidsklockan. Det är som att vakna upp varje morgon med amnesi. Så för att ta reda på vad klockan är nu, extraherar den den från NOAAs HTTP -rubrik. Och för att komma ihåg hur många 2-timmarsintervall som finns kvar, skriver den den motsatsen till icke-flyktig lagring (blixt). Varje gång den vaknar kontrollerar den den där räknaren, minskar den, lagrar den och om den är större än noll skickar den omedelbart en signal till TPL51110 ("Klar") som säger att den ska sätta den i viloläge. När räknaren når noll hämtar koden ny data och beräknar och återställer räknaren.
Steg 8: Kör det
Se till att omkopplaren på T5: s vänstra sida är uppåt (på), ladda upp skissen till T5 och inom några sekunder ska skärmen uppdateras med information om tidvatten och väder.
Om du behöver felsöka programvaran ändrar du "#define DEBUG 0" högst upp på Tides.ino till "#define DEBUG 1". Detta aktiverar seriell felsökningsutmatning och visar även längst ned i e-papperet antalet återstarter som återstår innan den laddar ner ny data och den tid det senast laddade ner data.
Steg 9: Framtida riktningar
- Användningen av TPL5110 i kombination med en e-pappersdisplay är ett utmärkt sätt att visa data som inte ändras ofta, med utmärkt batteritid.
- När jag designade detta övervägde jag att använda TrigBoard, som är ett ESP8266 -kort med en TPL5111 ombord. Det skulle ha krävts att få en separat e-pappersdisplay och e-pappersdrivkort så här eller detta. Eller en förare+brädekombination som den här eller den här. För att överföra koden till ESP8266 tror jag att SSL-koden måste använda fingeravtryck istället för certifikat, och den icke-flyktiga lagringskoden måste använda EEPROM- eller RTC-minne.
- Jag hörde nyligen att Lolin32 -kortet är ganska anständigt i djupt viloläge: cirka 100uA. Inte lika bra som TPL51110 -kortet (20uA enligt Adafruit) men tillräckligt bra.
- OpenWeatherMap returnerar mycket mer väderdata än jag visar. Inklusive ikon -id: er, vilket skulle kräva monokroma ikoner någonstans.
Rekommenderad:
Raspberry Pi Barometer väderklocka: 9 steg (med bilder)
Raspberry Pi Barometer väderklocka: I den här instruktören visar jag dig hur du bygger en grundläggande termometer / barometerklocka med en Raspberry Pi 2 med en BMP180 I2C -sensor som visas på en Adafruit 4 -siffrig 7 -segment I2C -skärm. Pi använder också en DS3231 realtid I2C klockmodul för att
Raspi-Nextion väderklocka: 7 steg
Raspi-Nextion väderklocka: Att se så många olika klockor byggda med arduino och hallon Pi inspirerade mig. Jag ville också göra en. Jag började med att använda en arduino mega med en ESP8266 men fann att 8266 wifi hade för många hicka. Jag bestämde mig för att använda en extra Pi som jag hade (Raspb
Väderklocka: 11 steg (med bilder)
Väderklocka: Uppdatering med elschema och Fritzing -schemaJag gör två premisser: Det här är min första instruktör Jag är en okunnig italienare som inte har studerat engelska i skolan, och det är därför jag bad om hjälp till: https: //translate.google.itStart med tack
Väderklocka: 15 steg (med bilder)
Väderklocka: Snygg skrivbordsklocka med datum & vädervisning
ESP8266 väderklocka: 6 steg (med bilder)
ESP8266 Weather Clock: Jag är mycket stolt över din ankomst och välkommen till dig