Turinys:

„Tweerstationneke“A.k.a. Olandų oro stotis: 4 žingsniai
„Tweerstationneke“A.k.a. Olandų oro stotis: 4 žingsniai

Video: „Tweerstationneke“A.k.a. Olandų oro stotis: 4 žingsniai

Video: „Tweerstationneke“A.k.a. Olandų oro stotis: 4 žingsniai
Video: Голубая стрела (1958) фильм 2024, Lapkritis
Anonim
„Tweerstationneke“A.k.a. Olandijos meteorologijos stotis
„Tweerstationneke“A.k.a. Olandijos meteorologijos stotis

Mano tėtis visada domisi naujausiomis naujienomis ir naujausia orų informacija. Taigi, aš atvedžiau prie puikios gimtadienio dovanos, kai jam sukako 76 metai: maža nuolatinė orų stotis be jokių nesąmonių, ji tiesiog tyliai sėdi kampe visą dieną ir pateikia naujausių prognozių santrauką.

Jis sukurtas aplink dvi olandų svetaines. Tikriausiai tai galite pamatyti juokingame vietiniame šios temos pavadinime! Vienas pateikia vietinę miesto prognozę kas 10 minučių json formatu. Kitas pateikia lietaus prognozę kitoms dviem valandoms paprasto teksto formatu, kurį visada patogu žinoti. Esu tikras, kad jei negyvenate Nyderlanduose, šią temą galite lengvai pritaikyti bet kuriai kitai paslaugai.

Prekės

  • ESP8266 plokštė; siūlau naudoti „Wemos D1 mini“
  • 1,8 colio TFT ekranas su 128*160 taškų; 16 bitų spalva
  • Keletas kabelių
  • Programa tokia, kokia yra, arba pradėti kurti savo
  • Puiki dėžutė viską sudėti. Naudokite standartinį arba atsispausdinkite savo, pridėdami dizainą

1 žingsnis: sukurkite prototipą

Sukurkite prototipą
Sukurkite prototipą

Jungiamas ekranas ir valdiklis

Naudokite nedidelį plokščią kabelį ir lituokite plokštę bei TFT ekraną kartu. Naudokite sąrašą, kad teisingai sujungtumėte dalis

TFT EKRANAS ------------------ WEMOS

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

Arba galite įdėti šviesos diodą į 3v3, o ne į D8 kaištį. Aš naudoju D8 kaištį, kad prietaisas užmigtų apie 23:00 naktį ir vėl pabustų apie 07:00. Tai bus pirmoji akimirka, kai ji skaitys orų biuletenį po to laiko, nes ji skaito antraštę, kad patikrintų laiką. Šiame įrenginyje nėra realaus laiko laikrodžio.

Jei visa tai veikia, prijunkite USB kabelį prie „Wemos“ir įkelkite programinę įrangą. Jei viskas veikia, galite pradėti kurti dėžutę.

2 žingsnis: programos kūrimas

Programos dizainas
Programos dizainas

Mano idėjos apie šį orų prietaisą kur

  • Lengvai pritaikomas kitoje „Wi -Fi“aplinkoje
  • Rodyti orų prognozes ir lietaus prognozes
  • Nėra mygtukų
  • Nėra garso, paprastas qui, nėra fuzz

Turėdamas tai omenyje, sukūriau programą, kuri prasideda „WifiManager“kodu, kai negali atrasti žinomo „Wi -Fi“tinklo. Jis sukuria savo tinklą ir ekrane rodo pavadinimą. Tai suteikia jums galimybę nustatyti „Wifi“parametrus savo namų tinklui.

Po šios sąrankos kas 20 sekundžių paeiliui rodoma orų prognozė ir kritulių krituliai. Jei dėl kokių nors priežasčių neįmanoma perskaityti kitos prognozės, dešinėje ekrano pusėje bus rodomas nedidelis klaidos numeris; ir bus rodomas ankstesnis vaizdas. Kitą kartą bandoma iš naujo gauti informaciją.

Informacija apie orą iš svetainės gaunama „json“stiliaus pranešimu. Jame esanti informacija konvertuojama ir išsaugoma globaliuose kintamuosiuose. Tokiu būdu galime atsieti informacijos gavimą nuo jos rodymo. Nėra jokios priežasties greičiau sužinoti orą kartą per 10 minučių.

Lietaus kritimas yra dar paprastesnis. Jis pateikiamas paprasto teksto formatu, numatomas lietaus kiekis yra 0..255; vertikali juosta; laikas kiekvienoje eilutėje. Taip kas 5 minutes kitas 2 valandas. „Rainvalue“pateikiamas protingai, kai mažos vertės suteikia daugiau erdvės parodyti skirtumą kaip didesnės vertės. Naudojama formulė yra tokia:

mm val. = apvalus (Pow (10, (lietaus vertė - 109)) / 32) * 10) / 10;

Atminkite, kad „kartus 10, padalinkite iš 10“yra triukas, užtikrinantis, kad už taško būtų 1 dešimtainė dalis. Atsižvelgiant į maksimalų lietaus kiekį, kurio tikimasi ateinančias 2 valandas, grafikui naudojamos 3 skalės;

  1. Numatomas maksimalus 5 mm/val
  2. Numatomas maksimalus 20 mm/val
  3. Maksimali vertė paimama iš didžiausios prognozės vertės

Olandijoje visų laikų aukščiausia mūsų vertė yra apie 80 mm/val. taigi ši skalė puikiai tiks. Kitoms šalims gali būti protinga tai pakeisti.

3 žingsnis: programos kodas

Programos kodas
Programos kodas

Redaktoriaus nustatymai

Šio oro prietaiso programinė įranga sukurta „Arduino“programavimo aplinkoje. Jį rasite čia, kad būtų patogiau. Naudokite jį tokį, koks yra; arba pakeiskite jį pagal savo poreikius. Visas tekstas, kuris gali būti rodomas TFT ekrane, yra apibrėžtas programos viršuje; tai reiškia, kad jei norite, galite lengvai ją pakeisti į savo kalbą. Aš naudojau „Wemos D1 mini“, tačiau panašios plokštės taip pat veiks.

„Arduino“aplinkoje naudojau šiuos nustatymus;

  • Lenta: LOLIN (WEMOS) D1 RA & Mini
  • Įkėlimo greitis: 115200
  • CPU dažnis: 80 MHz
  • Blykstės dydis: 4M (be SPIFFS) V2 apatinė atmintis išjungta

Programinės įrangos laikmačiai naudojami, kad ciklas () būtų lengvesnis ir lengviau skaitomas. Informacijos rodymas yra atskirtas nuo informacijos atsisiuntimo. Tokiu būdu mes galime naudoti kitus ekrano dydžius ir tt, nekeisdami visos programos.

Naudokite.ino failą ir įkelkite jį į arduino redaktorių. Nustatykite savo lentą redaktoriuje. Pridėkite antraštės failą, kuris užtikrina, kad į programą būtų įtraukti reikiami C stiliaus PROGMEM masyvai.

SD kortelė

Atkreipkite dėmesį, kad dauguma turimų 1,8 colio ekranų turi SD kortelės lizdą ekrano gale. Tai puiki funkcija, padedanti išsaugoti didelius vaizdus kortelėje. Dauguma mikrovaldiklių neturi daug atminties, todėl tai padeda.

Nors praleidžiu daug laiko bandydamas priversti SD kortelę dirbti su ekranu, man nepavyko susidaryti tinkamos situacijos. Galėčiau naudoti ekraną; sėkmingai atkurti failą iš SD kortelės, bet po to nebegalėjau pasiekti TFT ekrano. Bibliotekų keitimas, bibliotekų tvarkos keitimas ir programos „nurengimas“iki mažiausio organo, kad būtų atmestos kitos galimybės, man nepadėjo.

Kad pridėčiau savo nusivylimą; Internete yra daugybė pavyzdžių, kai žmonės daro panašius dalykus ir duoda teigiamų rezultatų, hmmm. Ar gali būti aparatūros problema mano TFT ekrane? Arba kažkas, apie ką negalvojau? Bet kokie pasiūlymai laukiami kitam bandymui. Pabaigoje tam praleidęs keletą vakarų; Aš nusprendžiau palikti tą kelią. Kadangi nuotraukos yra tik 50x50 pikselių (tai reiškia, kad kiekviena iš jų yra 5000 baitų 16 bitų spalva), ESP gali lengvai tai išsaugoti PROGMEM. Taigi aš naudoju tokį triuką.

Šis pasirinkimas sukėlė dar vieną iššūkį. Kaip gauti turimą BMP paveikslėlį į skaitomą formatą. Po kelių paieškų atradau svetainę iš Henningo Karlseno, kuris anksčiau išsprendė šį galvosūkį. Jis sukūrė programą, kuri konvertuoja-p.webp

4 žingsnis: sukurkite dėžutę

Sukurkite dėžutę
Sukurkite dėžutę
Sukurkite dėžutę
Sukurkite dėžutę
Sukurkite dėžutę
Sukurkite dėžutę

Tai ne pirmoji dėžutė, kurios man reikėjo. Tiekėjų galima įsigyti daug standartinių dėžių. Naudojant mažą pjūklą, peilį, grąžtą ir pan., Dėžutėje lengva padaryti skylę ekranui. Bet man niekada nepavyko padaryti tikslaus gražaus stačiakampio. Turbūt neužtenka įgūdžių ir (arba) kantrybės;-)

Sprendimas: man pasisekė. Turiu kolegiją, kuri yra tarsi supermenas, jei reikia smuikuoti su techniniais dalykais. Tai apima 3D dizainą ir spausdinimą. Taigi jis nusprendė pasiūlyti daug laisvo laiko TFT ekranui ir mikrovaldikliui matuoti ir aplink jį sukurti dėžutę. Viskas puikiai tinka, pažiūrėkite į nuotraukas. Jame netgi yra ekrano užsklandos, skylė USB jungčiai ir vieta mikrovaldikliui pritvirtinti.

Ačiū Arjanui už šį puikų darbą !!! Dar geriau, jis buvo toks malonus, kad suteiktų visiems prieigą prie jo darbo, taigi, jei atsisiunčiate jo failus iš nuorodos ir naudojate savo 3D spausdintuvui, galite sukurti tą pačią dėžutę su turiniu.

Rekomenduojamas: