INHOUDSOPGAWE:

Tweerstationneke A.k.a. Nederlandse Weerstasie: 4 stappe
Tweerstationneke A.k.a. Nederlandse Weerstasie: 4 stappe

Video: Tweerstationneke A.k.a. Nederlandse Weerstasie: 4 stappe

Video: Tweerstationneke A.k.a. Nederlandse Weerstasie: 4 stappe
Video: Elif | Aflevering 260 | kijk met Nederlands ondertitels 2024, Julie
Anonim
Tweerstationneke A.k.a. Nederlandse WeatherStation
Tweerstationneke A.k.a. Nederlandse WeatherStation

My pa is altyd geïnteresseerd in die nuutste nuus en die nuutste weerinligting. Dit het my dus by die perfekte verjaardaggeskenk gebring toe hy 76 geword het: 'n Klein weerstasie sonder twyfel, dit sit die hele dag stil in 'n hoek en gee 'n opsomming van die nuutste voorspellings.

Dit is ontwerp op twee Nederlandse webwerwe. U kan dit waarskynlik sien op die snaakse plaaslike titel van hierdie onderwerp! Die een gee elke 10 minute die plaaslike voorspelling per stad in json -formaat. Die ander een gee die reënvoorspelling vir die volgende twee uur in gewone teksformaat, wat altyd handig is om te weet. Ek is seker dat as u nie in Nederland woon nie, u hierdie onderwerp maklik kan aanpas by enige ander diens.

Voorrade

  • 'N ESP8266 -bord; stel voor om 'n Wemos D1 mini te gebruik
  • 'N 1.8 duim TFT -skerm met 128*160 kolletjies; 16 bit kleur
  • 'N Paar kabels
  • Die program soos dit is of om mee te begin om u eie te skep
  • 'N Pragtige boks om alles bymekaar te sit. Gebruik 'n standaard een of druk u eie met die ontwerp daarby

Stap 1: Maak die prototipe

Maak die prototipe
Maak die prototipe

Koppel skerm en kontroleerder

Gebruik 'n klein plat kabel en soldeer die bord en die TFT -skerm saam. Gebruik die lys om die onderdele op die regte manier aan te sluit

TFT-skerm ------------------ WEMOS

LED ------------------------------- D8 SCK ---------------- --------------- D5SDA ------------------------------- D7A0- -------------------------------- D3RESET ----------------- ----------- D2CS ---------------------------------- D4GND --- ---------------------------- GNDVCC --------------------- ---------- 3V3

U kan ook die LED op 3v3 plaas in plaas van pen D8. Ek het pin D8 gebruik om die toestel omstreeks 23:00 in die nag te laat slaap en weer omstreeks 07:00 wakker te word. Dit is effektief die eerste oomblik wat die weerbulletin na die tyd gelees word, aangesien dit die opskrif lees om die tyd na te gaan. Daar is geen regte tydklok in hierdie toestel nie.

As dit alles werk, koppel u usb -kabel aan by die Wemos en laai die sagteware. As dit alles werk, kan u die boks begin bou.

Stap 2: Programontwerp

Program ontwerp
Program ontwerp

My idees oor hierdie weer toestel waar

  • Maklik aanpasbaar by 'n ander wifi -omgewing
  • Vertoon weervoorspelling en reënvoorspelling
  • Geen knoppies nie
  • Geen geluid nie, eenvoudige qui, geen fuzz nie

Met dit in gedagte het ek 'n program geskep wat begin met die WifiManager -kode wanneer dit nie 'n bekende Wifi -netwerk kan ontdek nie. Dit skep sy eie netwerk en wys die naam op die skerm. Dit gee u die kans om die Wifi -parameters in u eie tuisnetwerk in te stel.

Na hierdie opstelling wys dit elke 20 sekondes die weervoorspelling en die reënval in beurte. As dit om een of ander rede nie moontlik is om die volgende voorspelling te lees nie, sal 'n klein foutnommer aan die regterkant van die skerm vertoon word; en die vorige prentjie sal vertoon word. In die volgende lopie word 'n nuwe poging aangewend om die inligting op te haal.

Die weerinligting word in 'n json -stylboodskap van die webwerf ontvang. Die inligting daarin word omgeskakel en gestoor in globale veranderlikes. Op hierdie manier kan ons die herwinning van die inligting ontkoppel om dit te vertoon. Daar is geen rede om die weer vinniger as een keer per 10 minute op te haal nie.

Dit is nog eenvoudiger om reën te kry. Dit word in gewone teksformaat bedien, met die hoeveelheid reën wat verwag word as 'n waarde 0..255; 'n vertikale balk; 'n tyd op elke reël. Dit vir elke 5 minute vir die volgende 2 uur. Die reënwaarde word op 'n slim manier gelewer, waar klein waardes meer ruimte bied om die verskil as groter waardes aan te dui. Die gebruikte formule is soos volg:

mmuur = rond (pow (10, (reënwaarde - 109) / 32) * 10) / 10;

Let daarop dat die "tye 10, deel met 10" 'n truuk is om te verseker dat ons 1 desimaal agter die punt het. Afhangende van die maksimum hoeveelheid reën wat in die komende 2 uur verwag word, word 3 skale vir die grafiek gebruik;

  1. Maksimum 5 mm/uur verwag
  2. Maksimum 20 mm/uur verwag
  3. Die maksimum word geneem uit die hoogste waarde in die voorspelling

Hier in Nederland is die hoogste waarde wat ons ooit bereik het ongeveer 80 mm/uur; so hierdie skaal sal perfek wees. Vir ander lande kan dit wys wees om dit te verander.

Stap 3: Programkode

Programkode
Programkode

Editor -instellings

Die sagteware vir hierdie weertoestel word in die Arduino -programmeeromgewing geskep. U sal dit hier vir u gemak hier aangeheg vind. Gebruik dit soos dit is; of verander dit volgens u behoeftes. Alle teks wat op die TFT -skerm vertoon kan word, word bo -aan die program gedefinieer; wat beteken dat u dit maklik in u eie taal kan verander as u wil. Ek het die Wemos D1 mini gebruik, maar soortgelyke borde sal ook werk.

In die Arduino -omgewing het ek die volgende instellings gebruik;

  • Bord: LOLIN (WEMOS) D1 RA & Mini
  • Oplaaisnelheid: 115200
  • CPU frekwensie: 80 MHz
  • Flitsgrootte: 4M (geen SPIFFS) V2 Laer geheue gedeaktiveer

Sagteware -tydtellers word gebruik om die lus () makliker en leesbaarder te maak. Die vertoning van die inligting word geskei van die aflaai van die inligting. Op hierdie manier kan ons ander skermgroottes ens gebruik sonder om die hele program te hoef te verander.

Gebruik die.ino -lêer en laai dit in die arduino -redakteur. Stel u bord in die redakteur op. Heg die koplêer aan wat verseker dat die nodige C-styl PROGMEM-skikkings by die program ingesluit is.

SD kaart

Let daarop dat die meeste beskikbare 1,8 duim -skerms 'n SD -kaartgleuf aan die agterkant van die skerm het. Dit is 'n goeie funksie waarmee u groot beelde op die kaart kan stoor. Die meeste mikro-beheerders het nie te veel geheue aan boord nie, so dit help.

Alhoewel ek baie tyd spandeer om die SD -kaart met die skerm te laat werk, kon ek nie 'n werkbare situasie hê nie. Ek kon die skerm gebruik; haal 'n lêer suksesvol van die SD -kaart af, maar daarna kon ek nie meer die TFT -skerm bereik nie. Dit het my nie gehelp om biblioteke te verander, die volgorde van die biblioteke te verander en die program vir die kleinste liggaam uit te trek nie.

Om by te dra tot my frustrasie; daar is tonne voorbeelde op die internet van mense wat soortgelyke dinge doen met 'n positiewe resultaat, hmmm. Is dit dalk 'n hardewareprobleem op my TFT -skerm? Of iets waaraan ek nie gedink het nie? Enige voorstelle is welkom vir 'n volgende poging. Aan die einde nadat u 'n paar aande daaraan spandeer het; Ek het besluit om die pad te verlaat. Aangesien die foto's slegs 50x50 pixels is (wat tot 5000 grepe elk met 16 bit -kleur lei), kan die ESP dit maklik in PROGMEM stoor. Dit is dus die truuk wat ek gebruik het.

Hierdie keuse het nog 'n uitdaging tot gevolg gehad. Hoe om die BMP -prentjie wat ek gehad het in 'n leesbare formaat te kry. Na 'n bietjie soek het ek die webwerf ontdek van Henning Karlsen wat hierdie raaisel vroeër opgelos het. Hy het 'n program geskep wat-p.webp

Stap 4: Skep die boks

Skep die boks
Skep die boks
Skep die boks
Skep die boks
Skep die boks
Skep die boks

Dit is nie die eerste boks wat ek nodig gehad het nie. Baie standaard bokse is by verskaffers beskikbaar. Met 'n klein saag, 'n mes, 'n boor, ens., Is dit maklik om 'n gat vir die skerm in die boks te maak. Maar ek het nooit daarin geslaag om 'n presiese mooi reghoek te maak nie. Waarskynlik nie genoeg vaardighede en/of geduld nie;-)

Die oplossing: ek was gelukkig. Ek het 'n kollege wat soos 'n superman is as dit met tegniese dinge gaan. Dit sluit ook 3D -ontwerp en drukwerk in. Daarom besluit hy om baie van sy vrye tyd aan te bied om die TFT -skerm en die mikrobeheerder te meet en 'n boks daar rondom te skep. Dit pas alles mooi, kyk na die foto's. Dit bevat selfs snap -ons vir die skerm, 'n gat vir die USB -aansluiting en 'n plek om die mikrobeheerder reg te maak.

Dankie Arjan vir hierdie puik werk gedoen !!! Nog beter, hy was so gaaf om almal toegang tot sy werk te gee, so as u sy lêers van die skakel aflaai en dit vir u eie 3D -drukker gebruik, kan u dieselfde boks met inhoud skep.

Aanbeveel: