Ciao a tutti, volevo condividere questa piccola storia su come mi sono imbattuto nell'uso degli schermi UART per i gadget portatili e, cavolo, per me ha cambiato le cose. Un paio di giorni fa, ho visto online il progetto della fiera della scienza di questo ragazzo: un ESP8266 collegato a uno schermo UART, oltre a RFID e alcune app realizzate con Mixly. Sembrava così semplice e interessante. Sono saltato su Taobao (è come eBay cinese) e ho cercato "schermo UART" e wow, queste cose sono economicissime ora rispetto a qualche anno fa. Fondamentalmente hanno lo stesso prezzo degli LCD base basati su SPI-. Non ho potuto resistere: ne ho ordinato subito uno con cui divertirmi.
Visualizzazione dello schermo UART e schermo LCD
Permettimi di fare un passo indietro e spiegare cosa intendo per visualizzazione dello schermo UART rispetto a uno schermo LCD nudo, perché se sei nuovo a questo come lo ero io all'inizio, potrebbe non fare clic immediatamente. Uno schermo UART è fondamentalmente un modulo LCD pre-confezionato con tutti i driver di basso-livello integrati. Viene fornito con il proprio software editor dell'interfaccia utente del produttore. Basta trascinare e rilasciare componenti come caselle di testo, pulsanti, timer ed etichette, quindi scrivere una semplice logica degli eventi. Il tutto comunica con il tuo microcontrollore (MCU) tramite una connessione UART seriale, da qui il nome visualizzazione sullo schermo UART. Definisci un protocollo personalizzato per lo scambio di dati e, boom, hai un'interfaccia elegante senza sudare i dettagli. Molti di questi sono dotati anche di touchscreen integrato-, il che è fantastico per i dispositivi portatili.
D'altro canto, uno schermo nudo è il tuo LCD standard: pensa a quelli che necessitano di I2C, SPI o anche di un'interfaccia 8080 parallela a 20-pin completa o di una configurazione RGB. Devi gestire tutto da solo: segui il protocollo del driver IC per controllare i pixel, progetta l'interfaccia utente da zero nel codice e gestisci tutti i tempi e gli aggiornamenti con il tuo MCU. È un sacco di lavoro, richiede solide capacità di programmazione e trascina molto tempo di sviluppo. Sono stato lì, strappandomi i capelli per allineamenti pixel-perfetti e vincoli di memoria.

Per darti un esempio reale-, di recente ho costruito questo terminale portatile utilizzando un MCU e uno schermo LCD nudo. Ci è voluta un'eternità: stiamo parlando di settimane di modifiche. Il codice alla fine superava le 800 righe e non faceva nemmeno nulla di particolarmente sofisticato. Il gadget era fondamentalmente un telecomando per i semafori a distanza: potevi impostare la durata del rosso/verde, gli intervalli di lampeggio, i tempi di luce gialla, i periodi di lampeggio giallo, la visualizzazione dello stato in tempo reale-, le impostazioni dell'orologio e tutto il resto. La comunicazione avveniva tramite un modulo LoRa a lungo- raggio, che aggiungeva i suoi grattacapi.
Immagina questo: me curvo sulla scrivania, che collego lo schermo nudo all'MCU, scrivendo driver personalizzati per disegnare pulsanti e testo. Ho dovuto gestire la pressione dei tasti per la navigazione, eliminarli nel software e assicurarmi che il display non sfarfallasse durante gli aggiornamenti. La memoria era un incubo, soprattutto con i caratteri cinesi, poiché il 51 MCU che stavo utilizzando aveva una RAM minuscola. Alla fine ha funzionato, ma è stato come reinventare la ruota ad ogni passo. In seguito ho anche dovuto riprogettare il layout del PCB per renderlo più compatto per l'uso portatile. Non fraintendermi, è stato soddisfacente quando si è acceso, ma cavolo, il tempo perso è stato reale.
Provando DISPLAY UART
Avanti veloce fino ad oggi: è arrivato il mio nuovo display UART! È un display LCD touchscreen da 2,8 pollici di questa azienda di Shenzhen chiamataMINGHUA.Ho scaricato il loro software di editor dell'interfaccia utente, ho dato una scorsa al manuale e ci sono subito entrato. Mi ha ricordato i vecchi tempi in cui si giocherellava con Visual Basic o Delphi per le app desktop: trascina, rilascia, collega eventi, fatto.
Ho passato forse mezza giornata a costruire l'interfaccia: pulsanti per le impostazioni, campi di testo per visualizzare gli stati, timer per le sequenze luminose. L'ho caricato tramite seriale sullo schermo UART e, santo cielo, ha replicato ciò che mi ci sono voluti anni con lo schermo nudo. Non dovrai più preoccuparti del-pixel push di basso livello; lo schermo gestisce tutto questo internamente. E poiché è basato su UART-, l'integrazione con il mio MCU è stata un gioco da ragazzi: basta inviare comandi come "aggiorna casella di testo con valore X" e ottenere risposte. L'input tattile? Senza soluzione di continuità. L'ho testato con la mia configurazione LoRa e tutto si è sincronizzato senza intoppi.
Vorrei spiegare perché questo approccio alla visualizzazione dello schermo UART è così vantaggioso per lo sviluppo di terminali portatili. Innanzitutto, risparmio di tempo: invece di codificare ogni elemento dell'interfaccia utente da zero, utilizzi widget pre-costruiti. Desideri uno slider per regolare la durata della luce? Trascinalo, collegalo a una variabile e definisci cosa succede in caso di modifica, come l'invio di un pacchetto UART all'MCU. A volte il software genera anche gli stub del protocollo.

In secondo luogo, la stabilità: questi schermi UART sono moduli-testati in fabbrica. Non sarà più necessario inseguire oscuri bug dei driver o gestire il rumore EMI che incasina le linee SPI. Le comunicazioni seriali sono robuste, soprattutto se aggiungi alcuni controlli di errore di base come i checksum. Nel mio progetto a schermo nudo, ho riscontrato problemi intermittenti dovuti a fluttuazioni di potenza; con lo schermo UART, è tutto incapsulato, quindi meno mal di testa.
In terzo luogo, la semplicità dell'hardware: meno pin! UART è solo TX, RX e terra (più alimentazione, ovviamente). Ciò libera i pin MCU per altre cose come i sensori o la radio LoRa. Nei dispositivi portatili, dove lo spazio è limitato, questo è enorme. Il mio vecchio prototipo aveva un nido di fili; quello nuovo con lo schermo UART è pulito e compatto.
Dal punto di vista dei costi-, come ho detto, questi display UART sono ora alla pari con quelli semplici. Qualche anno fa ti avrebbero fatto pagare il doppio o più, ma la produzione di massa ha fatto scendere i prezzi. Certo, sei un po' bloccato nell'ecosistema del produttore per il software e i componenti dell'interfaccia utente, il che potrebbe limitare le contrattazioni.
Ripensando al progetto scientifico di quel ragazzo, ha perfettamente senso. Associare uno schermo UART con qualcosa come un ESP8266 significa che puoi concentrarti sulle parti divertenti: la logica, le comunicazioni wireless, l'integrazione dell'app. Non è necessario essere un mago della grafica. Ho già delle idee in mente per il mio prossimo palmare, forse un monitor ambientale portatile con sensori che forniscono dati allo schermo UART in tempo reale-.
potenza se stai aumentando la produzione. Ma per prototipi, progetti di hobby o piccole serie, è un gioco da ragazzi-.
Ripensando al progetto scientifico di quel ragazzo, ha perfettamente senso. Associare uno schermo UART con qualcosa come un ESP8266 significa che puoi concentrarti sulle parti divertenti: la logica, le comunicazioni wireless, l'integrazione dell'app. Non è necessario essere un mago della grafica. Ho già delle idee in mente per il mio prossimo palmare, forse un monitor ambientale portatile con sensori che forniscono dati allo schermo UART in tempo reale-.
Come scegliere quello giusto
Se stai dibattendo tra uno schermo nudo e uno schermo UART, direi di scegliere UART a meno che tu non abbia requisiti super-specifici che richiedono il pieno controllo. Trasforma quella che era una faticaccia in qualcosa di quasi piacevole. Tempo di sviluppo? Tagliato. Stabilità? Alzato. Una seccatura generale? Molto giù.
Una cosa che dovrei menzionare: quando inizi per la prima volta con una visualizzazione dello schermo UART, leggi attentamente la documentazione. Ogni produttore ha le sue peculiarità, come velocità di trasmissione specifiche (io ho impostato la mia su 115200 per la velocità), formati di comando o come gestire gli eventi touch. Ma una volta dentro, la navigazione è tranquilla.
Nel rifare il controller del semaforo, ho aggiunto elementi più elaborati: barre di avanzamento per i timer, icone per gli stati, persino un semplice grafico per la cronologia dei segnali, cose che sarebbero state una seccatura sullo schermo nudo. Il supporto dei caratteri integrato-nello schermo UART ha reso il testo cinese un gioco da ragazzi, senza dover più hackerare i caratteri bitmap.
In conclusione, se ti piacciono le cose integrate o semplicemente armeggi con i palmari, prova una visualizzazione su schermo UART. Mi ha reso la vita più semplice e scommetto che farà lo stesso per te. Contattami nei commenti se hai domande: qual è la tua configurazione di visualizzazione dello schermo-UART?
