Calea inteligentă către o interfață modernă pentru utilizator

by gabi

Figura 1: Modulele de afișare inteligente sunt disponibile în diverse configurații. (© 4D Systems)

În prezent, aproape fiecare proiect embedded necesită un display. Cu toate acestea, selecția și integrarea reprezintă o provocare pentru dezvoltatori, prelungind procesul de dezvoltare. Modulele de afișare inteligente de serie reprezintă adesea o alternativă rentabilă.

La prima vedere, dacă ne gândim la costul total al materialelor, atunci când facem o comparație între o soluție discretă și un modul de afișare, abordarea modulară poate părea mai puțin atractivă. Cu toate acestea, dacă luăm în considerare rapiditatea cu care poate fi finalizată dezvoltarea și ușurința în utilizare, modulul iese învingător. De exemplu, cazul unei aplicații existente, care operează pe baza unui microcontroler (MCU) pe 8-biți căreia vrem să-i adăugăm un display grafic color cu interfață tactilă. Chiar dacă majoritatea microcontrolerelor sunt capabile să se interfațeze cu un afișaj LC prin intermediul unui driver integrat sau separat, resursele microcontrolerului ar limita dimensiunea și rezoluția efectivă a afișajului. Microcontrolerul pe 8-biți ar putea, de exemplu, să controleze un afișaj de tip matricial cu două linii, dar este posibil ca resursele de procesare să nu fie suficiente pentru display-uri mai mari. În plus, proiectantul trebuie să adauge software embedded, cum ar fi biblioteci și fișiere de imagini. Adăugarea funcționalității tactile necesită un efort de dezvoltare și mai mare. În timpul fazei de producție, trebuie efectuată o inspecție strictă a display-urilor primite, deoarece există întotdeauna posibilitatea ca ceva să fi fost modificat fără notificare prealabilă, ceea ce necesită optimizarea sau redezvoltarea driverelor display-urilor.

Ce aduc modulele în plus

Afișajele modulare inteligente dispun, de regulă, de o interfață industrială, precum I2C, SPI sau UART, pentru a comunica cu gazda. Unele includ, în plus, un microcontroler embedded. Acest microcontroler nu este responsabil doar pentru toate elementele grafice, ci conține și o varietate de I/O și alte periferice, asigurându-se că modulul este capabil să ruleze întreaga aplicație țintă.

Multe module sunt susținute de o bibliotecă de funcții, iar acest lucru asigură faptul că pot fi controlate relativ ușor de către MCU-ul gazdă. Unele module dispun, de asemenea, de un mediu integrat de dezvoltare (IDE) complet, care include proiectarea și crearea unei interfețe grafice cu utilizatorul (GUI) ca parte a procesului de proiectare embedded. Pentru o dezvoltare extrem de rapidă a prototipurilor și a aplicațiilor fără a fi nevoie să scrie o singură linie de cod, unele dintre aceste IDE-uri oferă fluxuri de lucru WYSIWYG (ceea ce vezi este ceea ce primești) de tip ‘drag-and-drop’.

Așadar, farmecul abordării modulare este acela că toate driverele, primitivele (elementele de bază ale unui limbaj de programare) și funcțiile GUI au fost deja dezvoltate și testate. Prin urmare, inginerii se pot concentra în totalitate pe proiectarea efectivă a interfeței grafice. Microcontrolerul gazdă poate descărca toate sarcinile de afișare către modul, ceea ce înseamnă că toate resursele sale sunt disponibile pentru aplicația principală.

Suport pentru proiectarea interfeței cu utilizatorul

Figura 2: Instrumentul Workshop4 IDE oferă dezvoltatorilor numeroase opțiuni de proiectare GUI. (© 4D Systems)

De asemenea, pentru a sprijini proiectarea GUI, producătorul de display-uri 4D Systems a dezvoltat un instrument pentru a crea interfețe grafice inteligente cu utilizatorul cât mai rapid și mai ușor posibil. Workshop4 IDE oferă o serie de medii de dezvoltare, de la programarea bazată pe text la cea vizuală (Figura 2). Funcția sa ‘drag-and-drop’ face ca utilizarea acestuia să fie intuitivă, eliminând astfel nevoia de programare tradițională.

Modul de afișare pentru kitul de dezvoltare Rutronik RDK2

Datorită tuturor acestor avantaje, Rutronik utilizează un modul de afișare inteligent pentru kitul său de dezvoltare RDK2 (Figura 3). Acesta suportă în primul rând dezvoltarea de dovezi de concept (POC – Proof of Concept) pentru diverse domenii de aplicare, cum ar fi IoT și IIoT, dispozitive purtabile inteligente și sisteme inteligente pentru casă. Placa se bazează pe microcontrolerul CY8C6245AZI-S3D72 de la Infineon, de foarte mică putere și de înaltă performanță. În plus, RDK2 dispune de o memorie flash Semper NOR externă de 512 Mbiți și de o memorie AP APS6404L-3SQR-ZR PSRAM de 64 Mbiți conectată printr-o interfață QSPI. Acest lucru extinde capabilitățile RDK2 atunci când se utilizează simultan cele două memorii în modul de memorie mapată.

Figura 3: Kitul de dezvoltare Rutronik RDK2 cu display inteligent. (© Rutronik)

Display-ul gen4-uLCD-43DCT-CLB de 4,3″ de la 4D Systems, cu panou tactil capacitiv integrat, este utilizat ca mediu de afișare și de intrare pentru un exemplu de aplicație a kitului RDK2 pentru determinarea calității aerului utilizând indicele VOC (compuși organici volatili). Acesta se bazează pe controlerul grafic DIABLO16 și este controlat prin intermediul interfeței UART. Rata sa de date de 115.200 biți/s este suficientă pentru operarea panoului tactil fără întârzieri semnificative. Totodată, rata de date UART poate fi mărită la 600 kbit/s, dacă este nevoie.

Vă recomandăm adaptorul Arduino 4D-ARDUINO-ADAPTOR-SHIELD-II pentru a asigura o integrare rapidă cu RDK2. Exemplul de firmware RutDevKit-PSoC62_GEN4_ULCD_43 se referă implicit la datele senzorului VOC SPG40 de la Sensirion, dar poate, pe de altă parte, să comute automat la potențiometrul POT1 de pe placă, dacă senzorul nu este recunoscut pe magistrala I2C. Potențiometrul este citit prin intermediul dispozitivului periferic ADC. Valorile ADC sunt apoi prezentate pe display. De asemenea, placa RAB1 – Sensorfusion cu un senzor SGP40 va fi disponibilă la Rutronik.

Pentru vizualizare, 4D Systems oferă biblioteca de coduri ViSi Genie. Aceasta este inclusă în exemplul de proiect RDK2 RutDevKit-PSoC62_GEN4_ULCD_43 pentru utilizare în ModusToolbox IDE, o colecție utilă de software și instrumente pentru dezvoltarea rapidă cu microcontrolere de la Infineon. Pentru a activa biblioteca de coduri, sunt implementate funcțiile API de configurare pentru utilizator și administratorii de evenimente. Acestea permit dezvoltatorilor să controleze ce ar trebui să se întâmple în program atunci când apare un anumit eveniment, cum ar fi o intrare.

Prototipurile de funcții care trebuie implementate pentru a se asigura că stiva ViSi-Genie poate rula efectiv sunt prezentate în caseta cu funcțiile necesare.

Figura 4: Aspectul ecranului RDK2, așa cum este afișat de Workshop4 IDE. (© Rutronik)

Afișajul este controlat prin trimiterea mesajelor către obiectele individuale de pe ecran sau către obiectele din fundal care pot să nu fie vizibile. De exemplu, comanda care actualizează contorul cu ac indicator și scală gradată cu indexul VOC ar putea arăta astfel:

/* Update the VOC Index gauge */
genieWriteObject(GENIE_OBJ_ANGULAR_METER, 0, gaugeVal);

Evenimentele, cum ar fi atingerea butoanelor, sunt primite la intervale regulate de 20 de milisecunde sau mai repede atunci când această funcție este executată:

/* Check for events */
genieDoEvents(true);

Workshop4 IDE permite dezvoltatorilor să proiecteze obiecte grafice și să le programeze în memoria afișajului. Exemplul de aplicație prezintă elementele de bază folosind un contor unghiular și un domeniu de măsură pentru afișarea indicelui VOC. Contorul unghiular este reîmprospătat la fiecare 50 de milisecunde, iar domeniul de măsură la fiecare zece secunde, permițând utilizatorilor să monitorizeze simultan valorile curente și trecute ale indicelui VOC.

Exemplul de firmware pentru RDK2 și proiectul IDE Workshop4 sunt disponibile pentru descărcare de pe site-ul web Rutronik: https://www.rutronik.com/rutronik-system-solutions/rutronik-development-kit-rdk2.

Autori:
Nikolai Schnarz,
Corporate Product Sales Manager Displays
Rutronik

Gintaras Drukteinis,
Technical Support Engineer
Rutronik

Rutronik | https://www.rutronik.com

 

Mai multe informații (Engleză):

 

S-ar putea să vă placă și