Sveiki visiem, es gribēju dalīties ar šo mazo stāstu par to, kā es nejauši izmantoju UART ekrāna displejus rokas sīkrīkiem, un tas man ir mainījis spēli. Pirms pāris dienām es redzēju šo bērnu zinātnes gadatirgus projektu tiešsaistē: ESP8266, kas savienots ar UART ekrāna displeju, kā arī RFID un dažas lietotnes, kas izveidotas, izmantojot Mixly. Tas izskatījās tik vienkārši un forši. Es ielēcu Taobao (tas ir kā Ķīnas eBay) un meklēju “UART ekrāna displejs”, un oho, tagad šīs lietas ir netīri lētas, salīdzinot ar to, kas bija pirms dažiem gadiem. To cena būtībā ir tāda pati kā parastajiem SPI{5}}darbinātajiem LCD. Nevarēju pretoties – uzreiz pasūtīju vienu, ar ko čakarēties.
UART ekrāna displejs un LCD ekrāns
Ļaujiet man nedaudz dublēt un paskaidrot, ko es domāju ar UART ekrāna displeju salīdzinājumā ar tukšu LCD ekrānu, jo, ja esat iesācējs šajā jomā, tāpat kā es sākumā, tas var nenoklikšķināt uzreiz. UART ekrāna displejs būtībā ir LCD modulis, kas ir-iepakots ar visiem zemā-līmeņa draiveriem. Tam ir pievienota sava lietotāja saskarnes redaktora programmatūra no ražotāja. Vienkārši velciet un nometiet komponentus, piemēram, tekstlodziņus, pogas, taimerus un etiķetes, un pēc tam ierakstiet vienkāršu notikumu loģiku. Visa lieta runā ar jūsu mikrokontrolleri (MCU), izmantojot seriālo UART savienojumu, tāpēc arī nosaukums UART ekrāna displejs. Jūs definējat pielāgotu protokolu datu apmaiņai, un uzplaukums, jums ir iedomāts interfeiss, nezaudējot detaļas. Daudzos no tiem pat ir iebūvēti skārienekrāni-, kas ir lieliski piemēroti rokas ierīcēm.
No otras puses, tukšs ekrāns ir jūsu standarta LCD — padomājiet par tiem, kuriem nepieciešams I2C, SPI vai pat pilns 20{6}}kontaktu paralēlais 8080 interfeiss vai RGB iestatīšana. Jums viss ir jārisina pašam: izpildiet draivera IC protokolu, lai kontrolētu pikseļus, no jauna izstrādājiet lietotāja interfeisu kodā un pārvaldiet visu laiku un atsvaidzināšanu, izmantojot savu MCU. Tas ir daudz darba, prasa stabilas programmēšanas prasmes un ievērojami paildzina izstrādes laiku. Esmu bijis tur, izraujot matus par pikseļu perfektu izlīdzināšanu un atmiņas ierobežojumiem.

Lai sniegtu jums reālu-pasaules piemēru, es nesen izveidoju šo rokas termināli, izmantojot MCU un tukšu LCD ekrānu. Tas ilga uz visiem laikiem — mēs runājam par nedēļu ilgu pielāgošanu. Galu galā kods bija vairāk nekā 800 rindiņas, un tas pat nedarīja neko īpaši iedomātu. Sīkrīks būtībā bija tālvadības pults luksoforiem no attāluma: jūs varat iestatīt sarkano/zaļo ilgumu, mirgošanas intervālus, dzeltenās gaismas laikus, dzeltenās mirgošanas periodus, reāllaika statusa displejus, pulksteņa iestatījumus un visu to džezu. Saziņa notika, izmantojot liela attāluma -LoRa moduli, kas radīja savas galvassāpes.
Iedomājieties šo: es noliecos pie sava rakstāmgalda, savienoju tukšo ekrānu ar MCU, rakstīju pielāgotus draiverus, lai zīmētu pogas un tekstu. Man vajadzēja rīkoties ar taustiņu nospiešanu, lai veiktu navigāciju, tos novērstu programmatūrā un pārliecinātos, ka atjaunināšanas laikā displejs nemirgo. Atmiņa bija murgs – īpaši ar ķīniešu fontiem, jo 51 MCU, ko izmantoju, bija maza RAM. Galu galā tas izdevās, taču šķita, ka ik uz soļa jāizgudro ritenis no jauna. Vēlāk man pat nācās pārveidot PCB izkārtojumu, lai padarītu to kompaktāku lietošanai rokās. Nepārprotiet mani, tas bija gandarījums, kad tas iedegās, bet cilvēk, laika izlietne bija reāla.
Mēģina UART DISPLAY
Pārsteidzieties uz šodienu — mans jaunais UART ekrāna displejs ir klāt! Tas ir 2,8 collu skārienekrāna LCD no šī Šenženas uzņēmumaMINGHUA.Es lejupielādēju viņu lietotāja interfeisa redaktora programmatūru, izpētīju rokasgrāmatu un uzreiz ielēcu. Tas man atgādināja vecos laikus, kad darbojos ar Visual Basic vai Delphi darbvirsmas lietotnēm — velciet, nometiet, pievienojiet notikumus, gatavs.
Es pavadīju, iespējams, pusi dienas, veidojot saskarni: pogas iestatījumiem, teksta lauki statusu parādīšanai, taimeri gaismas secībām. Augšupielādēja to, izmantojot sērijveida UART ekrāna displeju, un svētais muļķis, tas atkārtoja to, kas man prasīja vecumu ar tukšu ekrānu. Vairs nav jāuztraucas par zema-līmeņa pikseļu nospiešanu; ekrāns to visu apstrādā iekšēji. Un, tā kā tas ir balstīts uz UART{4}}, integrācija ar manu MCU bija ērta — vienkārši nosūtiet komandas, piemēram, "atjaunināt tekstlodziņu ar vērtību X", un saņemiet atbildes. Skārienievade? Bezšuvju. Es to pārbaudīju ar savu LoRa iestatījumu, un viss tika sinhronizēts bez aizķeršanās.
Ļaujiet man pastāstīt, kāpēc šī UART ekrāna displeja pieeja ir tik izdevīga rokas termināļa izstrādei. Pirmkārt, laika ietaupījums: tā vietā, lai kodētu katru lietotāja interfeisa elementu no paša sākuma, jūs izmantojat iepriekš-iebūvētus logrīkus. Vai vēlaties slīdni gaismas ilguma regulēšanai? Ievelciet to, saistiet to ar mainīgo un definējiet, kas notiek pēc izmaiņām, piemēram, nosūtot UART paketi uz MCU. Programmatūra dažkārt pat ģenerē protokola izlaidumus.

Otrkārt, stabilitāte: šie UART ekrāna displeji ir rūpnīcā{0}}pārbaudīti moduļi. Vairs nav jāmeklē neskaidras draiveru kļūdas vai jārisina EMI trokšņi, kas izjauc jūsu SPI līnijas. Sērijas sakari ir stabili, it īpaši, ja pievienojat dažas pamata kļūdu pārbaudes, piemēram, kontrolsummas. Manā tukšā ekrāna projektā man bija periodiskas kļūmes no jaudas svārstībām; ar UART ekrāna displeju tas viss ir iekapsulēts, tāpēc ir mazāk galvassāpes.
Treškārt, aparatūras vienkāršība: mazāk tapu! UART ir tikai TX, RX un zemējums (protams, plus jauda). Tas atbrīvo MCU tapas citām lietām, piemēram, sensoriem vai LoRa radio. Rokas ierīcēs, kur ir maz vietas, tas ir milzīgs. Manam vecajam prototipam bija vadu žurku ligzda; jaunais ar UART ekrāna displeju ir tīrs un kompakts.
Izmaksu ziņā{0}}, kā jau teicu, šie UART ekrāna displeji tagad ir līdzvērtīgi tukšiem displejiem. Pirms dažiem gadiem viņi jūs atlīdzināja divreiz vai vairāk, taču masveida ražošana ir samazinājusi cenas. Protams, jūs esat nedaudz bloķēts lietotāja lietotāja saskarnes programmatūras un komponentu ekosistēmā, kas varētu ierobežot darījumus.
Atceroties šī bērna zinātnes projektu, tas ir pilnīgi loģiski. UART ekrāna displeja savienošana pārī ar kaut ko līdzīgu ESP8266 nozīmē, ka varat koncentrēties uz jautrajām daļām: loģiku, bezvadu sakari, lietotņu integrāciju. Nav jābūt grafikas vednim. Man jau ir radušās idejas savam nākamajam plaukstdatoram — varbūt pārnēsājamam vides monitoram ar sensoriem, kas reāllaikā ievada datus UART ekrāna displejā{4}}.
jaudu, ja palielināt ražošanu. Taču prototipiem, vaļasprieku projektiem vai nelieliem gājieniem tas nav -saprāts.
Atceroties šī bērna zinātnes projektu, tas ir pilnīgi loģiski. UART ekrāna displeja savienošana pārī ar kaut ko līdzīgu ESP8266 nozīmē, ka varat koncentrēties uz jautrajām daļām: loģiku, bezvadu sakari, lietotņu integrāciju. Nav jābūt grafikas vednim. Man jau ir radušās idejas savam nākamajam plaukstdatoram — varbūt pārnēsājamam vides monitoram ar sensoriem, kas reāllaikā ievada datus UART ekrāna displejā{4}}.
Kā izvēlēties pareizo
Ja jūs debatējat starp tukšu ekrānu un UART ekrāna displeju, es ieteiktu izmantot UART, ja vien jums nav īpaši{0}}īpašu prasību, kas prasa pilnīgu kontroli. Tas pārvērš to, kas agrāk bija malšana par kaut ko gandrīz patīkamu. Attīstības laiks? Sagriezts. Stabilitāte? Paaugstināts. Vispārējas problēmas? Krietni uz leju.
Viena lieta, kas man jāpiemin: kad pirmo reizi sākat ar UART ekrāna displeju, uzmanīgi izlasiet dokumentus. Katram ražotājam ir savas īpatnības, piemēram, konkrēti datu pārraides ātrumi (ātrumam es iestatīju savu uz 115 200), komandu formāti vai to, kā rīkoties ar pieskāriena notikumiem. Bet, kad esat iekļuvis, tas ir gluds.
Pārveidojot luksoforu kontrolieri, es pievienoju brīnišķīgākus elementus: progresa joslas taimeriem, ikonas statusiem, pat vienkāršu grafiku signāla vēsturei — lietas, kas būtu sāpīgas uz tukša ekrāna. UART ekrāna displejā iebūvētais-fontu atbalsts padarīja ķīniešu tekstu vienkāršu, un vairs nav jālauž bitkartes fonti.
Nobeigumā, ja jums patīk iegultās lietas vai vienkārši izdomājat plaukstdatorus, izmēģiniet UART ekrāna displeju. Tas ir padarījis manu dzīvi vieglāku, un varu derēt, ka tas būs arī jums. Ja jums ir jautājumi, rakstiet man komentāros — kā{2}}attiecas uz UART ekrāna displeja iestatīšanu?
