Ideja je posuđena iz projekta. ESP8266 Vremenski prikaz.
Odlučio sam to dovesti u obzir.
Postavljeni su sljedeći zadaci:
- Ažurirajte kôd za upotrebu nova verzija knjižnica ArduinoJson.h.
- Prepišite kôd pomoću funkcije millis () umjesto funkcije delay (). Jasno je da je pomoću kašnjenja za postavljanje stanke između promjene podataka na zaslonu nemoguće provesti kontrole tipki;
- make skice skidajte putem Wifija;
- Maknite se od glomaznog Wemosa D1 R2 na Wemos D1 mini;
- Kad god je to moguće Rusify prikaz;
- Koristite gotov kofer s rupama na tipkama za uređaje temeljene na LCD1602;
- Koristite standardne tipke 6x6 zalijepljene za ploču. Dodajte upravljačke tipke za pozadinsko osvjetljenje, gumb za pomicanje za promjenu prikazanih podataka i gumb za prisiljavanje ažuriranja podataka s poslužitelja.
Korištene su sljedeće komponente:
- Futrola je izrađena od ABS plastike s kompletom navlaka za gumbe;
- Najlonski nosači 6 + 5 mm muški M3 crni, 4 kom;
- M3 najlonske matice crne, 4 kom;
- Najlonke 6 + 5 mm muški M2 bijeli, 3 kom;
- Najlonsko postolje 6 mm matično bijelo, 1 pc;
- Najlonsko postolje 8 mm matično bijelo, 1 pc;
- Najlonski regali 10 mm matični, 2 kom;
- LCD 1602 (I2C), žuti;
- Wemos d1 mini;
- Wemos d1 štitnik za istosmjernu struju;
- Ploča ploče 3x7;
- Tipke 6x6, visina 7 mm, 3kom;
- Dupontove žice 10cm matična majka, 4 kom;
- 24 AWG žice crne i crvene;
- Silikonske žice 20 AWG plave i bijele;
- Otpornici 5 kOhm - 2 kom, 10 kOhm - 1 pc (koji su došli na ruku);
- Napajanje 9V 1A;
- Dvokomponentno epoksidno ljepilo.
Korišteni slučaj ima nekoliko prednosti. Prvo, uz prikaz je standardno postavljena po visini standardna 3x7 standardna ploča za odvajanje s njezinim komponentama s obje strane. Drugo, na dva kraja ima pravokutne otvore za hlađenje. Pokazalo se da su skakači između tih rupa savršeno izrezani mini datotekama 3 i 4 mm. Ako izrežete nekoliko skakača i izrežete malu pravokutnu rupu u kućištu, tada DC-005 konektor napajanja savršeno ide u formirani otvor složene geometrije. Također, na stražnjem dijelu ovog slučaja nalazi se velika četvrtasta rupa, u koju su, izgleda, trebali ugraditi baterije.Kroz nju je prikladno spojiti nešto iznutra bez rastavljanja kućišta. Nakon toga, jednostavno se može zatvoriti staklom ili plastikom.
Izgradite napredak:
Prvo je napravljen prototip na ploči.
Tada se slučaj finalizira datotekom.
Nakon toga se glavne komponente lemljuju i provodi se uklapanje. Noge su bile posebno savijene tako da se odvojivi spojevi uklapaju u visinu. Trebalo je podnijeti nekoliko najlonskih regala tako da su svi gumbi bili na istoj visini.
Kao rezultat, prednja strana ploče s gumbima, otpornicima i žicama je sljedeća:
Zbog toga unutrašnjosti uređaja izgledaju ovako:
Kada je sklopljen, uređaj izgleda ovako:
Prevladavanje poteškoća:
- Dugo nisam mogao razumjeti zašto gumbi ne rade, iako je multimetar jasno pokazao 0 kada su tipke pritisnute i 4,6 - 5,0 V kada se pritisnu (ovisno o napajanju). Pokazalo se da je u uređajima Wemos / Lolin potrebno navesti GPIO brojeve kao pin brojeve u skici. Na primjer, D5 je GPIO14. Dakle, ovo je 14. pin.
const int buttonPin = 14;
- Za prikaz vremena potrebno je stanje:
currentMillis - previousMillis == weatherTime
Stroga korespondencija, jer to mora biti učinjeno jednom.
Da biste postavili zahtjev poslužitelju, uvjet je potreban:currentMillis - previousMillis> = getDataTime
Loša usklađenost, jer se izvršava dok se ne postavi zastava "primljeni podaci".
Zapravo, to nije očito, a da bismo to razumjeli, trebalo je dosta vremena. - Morao sam se mučiti i s odgovorom poslužitelja:
String weather = root ["vrijeme"] [0] ["glavni"]; String string description = root ["vrijeme"] [0] ["opis"];
Nula je bila potpuno nevidljiva. Ispada da u Moskvi postoje dvije meteorološke stanice, a druga od njih ne radi uvijek (da biste od nje primili podatke, morate navesti [1] ako je aktivna).
Smješteno je spremište s kodom i knjižnicama ovdje.