Hej alla, jag ville dela med mig av den här lilla historien om hur jag snubblade över att använda UART-skärmar för handhållna prylar, och det har förändrat spelet för mig. För ett par dagar sedan såg jag detta barns vetenskapsmässa-projekt online: en ESP8266 ansluten till en UART-skärm, plus RFID och någon app gjord med Mixly. Det såg så enkelt och coolt ut. Jag hoppade på Taobao (det är som Kinas eBay) och sökte efter "UART screen display", och wow, dessa saker är smutsbilliga nu jämfört med för några år sedan. De är i princip samma pris som de grundläggande SPI-drivna LCD-skärmarna. Jag kunde inte motstå – beställde en direkt att bråka med.
UART-skärm och LCD-skärm
Låt mig backa lite och förklara vad jag menar med UART-skärmvisning kontra en bar LCD-skärm, för om du är ny på det här som jag var först, kanske det inte klickar direkt. En UART-skärm är i grunden en LCD-modul som är färdig-förpackad med alla drivrutiner på låg-nivå. Den levereras med sin egen UI-redigeringsprogramvara från tillverkaren. Du bara drar och släpper komponenter som textrutor, knappar, timers och etiketter och skriver sedan en enkel händelselogik. Det hela pratar med din mikrokontroller (MCU) över en seriell UART-anslutning – därav namnet UART-skärmvisning. Du definierar ett anpassat protokoll för datautbyte, och boom, du har ett snyggt gränssnitt utan att svettas i detaljer. Många av dessa har till och med inbyggda pekskärmar-, vilket är fantastiskt för handhållna saker.
På baksidan är en bar skärm din vanliga LCD-skärm – tänk på de som behöver I2C, SPI eller till och med ett helt 20-}-stifts parallellt 8080-gränssnitt eller RGB-inställning. Du måste hantera allt själv: följ drivrutinen IC:s protokoll för att kontrollera pixlarna, designa användargränssnittet från början i kod, och hantera all timing och uppdateringar med din MCU. Det är massor av arbete, kräver gedigna programmeringskunskaper och drar ut på utvecklingstiden. Jag har varit där och dragit ut håret över pixelperfekta justeringar och minnesbegränsningar.

För att ge dig ett exempel från den verkliga-världen byggde jag nyligen den här handterminalen med en MCU och en bar LCD-skärm. Det tog en evighet – vi pratar veckor av justeringar. Koden blev till slut över 800 rader, och den gjorde inte ens något superfancy. Gadgeten var i grunden en fjärrkontroll för trafikljus på avstånd: du kunde ställa in rött/grönt varaktighet, blinkintervall, gula ljustider, gula blixtperioder, realtidsstatusvisningar-, klockinställningar och all den där jazzen. Kommunikationen skedde via en LoRa-modul med långa-räckvidd, vilket gav sin egen huvudvärk.
Föreställ dig det här: jag böjd över mitt skrivbord, kopplar upp den nakna skärmen till MCU:n, skriver anpassade drivrutiner för att rita knappar och text. Jag var tvungen att hantera tangenttryckningar för navigering, destudera dem i mjukvara och se till att skärmen inte flimrade under uppdateringar. Minnet var en mardröm – särskilt med kinesiska teckensnitt, eftersom den 51 MCU jag använde hade litet RAM. Det fungerade så småningom, men det kändes som att uppfinna hjulet på nytt varje steg. Jag var till och med tvungen att göra om PCB-layouten senare för att göra den mer kompakt för handhållen användning. Missförstå mig inte, det var tillfredsställande när det lyste upp, men man, tidssänkan var verklig.
Testar UART DISPLAY
Snabbspola fram till idag – min nya UART-skärm har kommit! Det är en 2,8-tums pekskärm LCD från detta Shenzhen företag som heterMINGHUA.Jag laddade ner deras UI-redigeringsprogram, skummade igenom manualen och hoppade direkt in. Den påminde mig om de gamla dagarna där jag pysslade med Visual Basic eller Delphi för skrivbordsappar – dra, släpp, anslut händelser, klart.
Jag tillbringade kanske en halv dag med att bygga gränssnittet: knappar för inställningar, textfält för att visa status, timers för ljussekvenserna. Laddade upp den via seriell till UART-skärmen, och jävla skit, den replikerade det som tog mig åldrar med bara skärmen. Du behöver inte längre oroa dig för pixeltryck på låg-nivå; skärmen hanterar allt det internt. Och eftersom det är UART-baserat var integrationen med min MCU en bris – skicka bara kommandon som "uppdatera textruta med värde X" och få svar tillbaka. Touchingången? Sömlös. Jag testade det med min LoRa-installation och allt synkroniserades utan problem.
Låt mig dela upp varför denna UART-skärmvisningsmetod är en sådan vinst för utveckling av handhållna terminaler. För det första, tidsbesparingar: Istället för att koda varje användargränssnittselement från grunden använder du förbyggda widgets-. Vill du ha ett reglage för att justera ljusets varaktighet? Dra in den, länka den till en variabel och definiera vad som händer vid förändring – som att skicka ett UART-paket till MCU. Programvaran genererar till och med protokollstubbarna åt dig ibland.

För det andra, stabilitet: Dessa UART-skärmar är fabrikstestade-moduler. Inget mer att jaga obskyra förarbuggar eller ta itu med EMI-brus som förstör dina SPI-linjer. De seriella kommunikationerna är robusta, särskilt om du lägger till några grundläggande felkontroller som kontrollsummor. I mitt blotta skärmprojekt hade jag intermittenta glitches från effektfluktuationer; med UART-skärmen är allt inkapslat, så mindre huvudvärk.
För det tredje, hårdvaruenkelhet: färre stift! UART är bara TX, RX och jord (plus ström, uppenbarligen). Det frigör MCU-stift för andra saker som sensorer eller LoRa-radion. I handhållna enheter, där utrymmet är knappt, är detta enormt. Min gamla prototyp hade ett råttbo av trådar; den nya med UART-skärmen är ren och kompakt.
Kostnadsmässigt-är, som jag sa, dessa UART-skärmar nu i paritet med de bara. För några år sedan satte de dig tillbaka dubbelt eller mer, men massproduktionen har sänkt priserna. Visst, du är lite låst i tillverkarens ekosystem för UI-programvaran och komponenterna, vilket kan begränsa bargai
När man tänker tillbaka på det där barnens vetenskapliga projekt är det helt vettigt. Att para ihop en UART-skärm med något som en ESP8266 betyder att du kan fokusera på de roliga delarna: logiken, den trådlösa kommunikationen, appintegrationen. Du behöver inte vara en grafikguide. Jag har redan idéer för min nästa handdator – kanske en bärbar miljömonitor med sensorer som matar data till UART-skärmen i realtid-.
kraft om du skalar upp produktionen. Men för prototyper, hobbyprojekt eller små upplagor är det ingen-brainer.
När man tänker tillbaka på det där barnens vetenskapliga projekt är det helt vettigt. Att para ihop en UART-skärm med något som en ESP8266 betyder att du kan fokusera på de roliga delarna: logiken, den trådlösa kommunikationen, appintegrationen. Du behöver inte vara en grafikguide. Jag har redan idéer för min nästa handdator – kanske en bärbar miljömonitor med sensorer som matar data till UART-skärmen i realtid-.
Hur man väljer rätt
Om du diskuterar mellan en blottad skärm och en UART-skärm skulle jag säga att du kör UART om du inte har super-specifika krav som kräver full kontroll. Det förvandlar det som brukade vara en grind till något nästan roligt. Utvecklingstid? Nedskuren. Stabilitet? Upped. Övergripande krångel? Nedgång.
En sak jag bör nämna: när du först börjar med en UART-skärm, läs dokumenten noggrant. Varje tillverkare har sina egenheter – som specifika överföringshastigheter (jag ställer in min till 115200 för hastighet), kommandoformat eller hur man hanterar beröringshändelser. Men när du väl är inne går det smidigt.
I min omställning av trafikljuskontrollern lade jag till snyggare element: förloppsindikatorer för timers, ikoner för status, till och med en enkel graf för signalhistorik – sådant som skulle ha varit jobbigt på skärmen. UART-skärmens inbyggda-typsnittsstöd gjorde kinesisk text till en lek, inga fler hackande bitmappsteckensnitt.
Avsluta detta, om du gillar inbäddade saker eller bara pysslar med handdatorer, ge en UART-skärmvisning ett försök. Det har gjort mitt liv enklare, och jag slår vad om att det kommer att göra detsamma för dig. Hör av dig i kommentarerna om du har frågor – vad ska du-till UART-skärmvisningsinställningarna?
