Usa i gesti per comandare qualsiasi sistema
Contributo di Editori europei di DigiKey
2017-07-05
I tablet e gli smartphone hanno aiutato a diffondere l'idea di usare i gesti per controllare i dispositivi elettronici. Movimenti come quello delle dita che si avvicinano vengono ormai accostati naturalmente alla riduzione di oggetti sullo schermo; una strisciata delle dita permette di passare da una foto o da un'app all'altra. Questi semplici movimenti sembrano oggi assolutamente familiari.
Grazie al loro uso quotidiano, le interfacce gestuali stanno iniziando a emergere in altri settori della tecnologia. Sono considerate importanti per applicazioni automotive dove il conducente deve controllare le funzioni senza distogliere l'attenzione dalla strada. Spesso, tali interfacce gestuali sono utilizzate come complemento ai display interattivi del cruscotto. Tuttavia, un vantaggio fondamentale di un'interfaccia gestuale è che non richiede una complessa rappresentazione visiva. Messaggi udibili o modifiche nella configurazione della luce su un dispositivo possono segnalare che un gesto è stato riconosciuto e che lo stato è cambiato. Pertanto, le interfacce gestuali saranno molto utili in dispositivi che offrono intelligenza ambiente come parte di Internet delle cose (IoT).
I gesti per i dispositivi senza un'interfaccia grafica saranno più semplici di quelli presenti negli smartphone, che spesso rispondono diversamente anche in base al numero delle dita usate. Queste interfacce più semplici saranno in genere basate su movimenti di tutta la mano. Un gesto verso l'alto delle mani davanti a un pannello di sensori potrebbe segnalare ai sistemi di controllo all'interno di una stanza di accendere le luci. Un movimento orizzontale potrebbe segnalare ai controlli del riscaldamento di alzare o abbassare la temperatura. Un rapido scorrimento delle dita (flick) potrebbe passare a un'altra funzione, o dire a tutto il sistema di portarsi sulla funzione successiva.
Il significato del gesto può quindi cambiare in base alla modalità in cui si trova il pannello dei sensori, e la modalità attiva potrebbe essere segnalata da semplici icone di segnalazione a LED o da messaggi vocali. Tramite una connessione di rete ai vari sistemi all'interno di una stanza, il pannello di sensori è in grado di controllare diverse funzioni; questo è uno dei vantaggi di un'infrastruttura IoT. I pannelli di sensori possono essere integrati in tavoli, comandi a parete o altri dispositivi elettronici come altoparlanti. Più dispositivi possono potenzialmente coordinarsi con i sistemi IoT per offrire un controllo comodo in vari punti della stanza.
Esistono molti modi per rilevare i movimenti gestuali, fra cui telecamere e sensori di prossimità. Ma nelle applicazioni IoT i costi rappresentano un fattore cruciale. Le soluzioni basate sulle telecamere richiedono software complesso per elaborare le immagini, ma offrono alta flessibilità e la capacità di riconoscere molti diversi tipi di gesti.
Il sensore a campo elettrico ha costi inferiori e un funzionamento più semplice. Usa elettrodi pilotati tramite c.a. per proiettare un campo elettrico sulla superficie di un oggetto. La frequenza viene scelta per ridurre al minimo la componente magnetica dell'elettromagnete e sviluppa un campo elettrico vicino quasi statico che è disturbato da un oggetto conduttivo, come una mano, che si muove entro un certo campo.

Figura 1: Le portate disponibili con tipi di sensori standard e potenziati.
Con la mano dell'utente nel volume di rilevamento, le linee di campo che vi entrano sono deviate a terra attraverso il corpo dell'utente, il che distorce tutto il campo. L'effetto riduce i livelli dei segnali degli elettrodi vicini alla mano, che vengono rilevati da una serie di sensori. Mentre la mano si muove, varie parti della serie di sensori rilevano il movimento e comunicano le variazioni di potenziale a un controller in CI, come MGC3x30 GestIC di Microchip Technology.

Figura 2: Diagramma a blocchi di GestIC MGC3030.
GestIC ha interfacce per un numero massimo di cinque elettrodi di ricezione e un singolo trasmettitore. Gli elettrodi di ricezione e trasmissione possono essere fatti di qualsiasi materiale conduttivo, come maglia di rame o ossido di indio-stagno (ITO). L'isolamento tra gli elettrodi può essere di qualsiasi materiale che non sia conduttivo, compreso PCB FR4, vetro o plastica. Anche lo strato di copertura opzionale sopra l'elettrodo deve essere in materiale non conduttivo. L'elettrodo di trasmissione viene posto sotto l'array di elettronica di ricezione.
Il progetto offre una scelta tra sensori standard e potenziati. Quelli standard sono idonei per dispositivi di piccole dimensioni, spesso alimentati a batteria, con un collegamento debole a terra. Usando una tensione di trasmissione superiore, il sensore di tipo potenziato è idoneo per dispositivi più grandi con connessione a terra, inclusi quelli che richiedono un intervallo di riconoscimento più ampio. Usando una configurazione sensore standard, una connessione a terra offre una portata di riconoscimento maggiore, in genere fino a 100 mm rispetto ai 50 mm di un dispositivo non a terra alimentato a batteria. La forma del sensore può essere approssimativamente quadrata o circolare, con un rapporto d'aspetto non superiore a 1:3.
L'hardware GestIC riconosce il centro di massa elettrico della mano e può tracciare quel punto mentre si muove entro la portata del sensore. La posizione XY della mano dell'utente viene rilevata da quattro degli elettrodi del sensore. Il quinto collegamento può essere usato come pulsante o elettrodo centrale per riconoscere un semplice gesto di "tocco di un pulsante".
Per facilitare l'integrazione nel sistema, il dispositivo GestIC contiene il proprio firmware di elaborazione dei gesti che è conservato nella flash interna. Questo firmware include la Suite Colibri di algoritmi di elaborazione dei segnali digitali (DSP) basati su modelli Markov nascosti che eseguono funzioni come il rilevamento dell'avvicinamento, l'inseguimento della posizione e il riconoscimento dei gesti. Vi sono anche funzioni per trasferire gli aggiornamenti dello stato a un microcontroller host (MCU) utilizzando un'interfaccia basata su messaggi, come pure funzioni per gestire gli aggiornamenti del firmware.
La comunicazione tra MCU e MGC3X30 si ottiene tramite un'interfaccia seriale a due fili compatibile con I2C. Questo permette all'MCU di leggere i dati dei sensori e di inviare messaggi di controllo al chip. È disponibile un pin di indirizzo per scegliere tra un massimo di due dispositivi MGC3X30 sullo stesso bus. Il firmware di GestIC aggiorna le letture del sensore a una velocità predefinita di 5 ms, aggiornando ogni volta il buffer dei messaggi della porta seriale e portando su basso la linea dello stato di trasferimento (TS) per indicare che è disponibile una nuova lettura.
L'host può impostare diversi parametri runtime, inclusi i tipi di gesti che ci si attende che il dispositivo GestIC rilevi. Il comando 0xA2 per Set_Runtime_Parameter usa una bitmask per filtrare i tipi di gesti indesiderati. Disabilitare i gesti può contribuire a migliorare le probabilità di riconoscimento degli altri, cosa che aumenta la facilità d'uso di interfacce di controllo semplici. I gesti riconoscibili da GestIC sono lo scorrimento delle dita (flick) lungo gli assi cartesiani e movimenti in cerchio in senso orario o antiorario.

Figura 3: Tipi di gesti riconosciuti dalla soluzione GestIC e potenziali usi.
Il firmware di GestIC offre inoltre aggiornamenti di posizione per la mano mentre si muove all'interno del campo del sensore, che vengono inviati assieme agli aggiornamenti dei gesti. Altre informazioni comprendono eventi di tocchi assistiti con l'inclusione del quinto elettrodo e i dati AirWheel. AirWheel funziona in modo analogo alla rotellina di scorrimento presente nei vecchi lettori di musica portatili, ma con il gesto fatto sopra la superficie del dispositivo.
Per semplificare agli ingegneri lo sviluppo del software per MCU host, Microchip ha sviluppato una API basata su C che è supportata dal codice di riferimento. L'API gestisce funzioni per manipolare il buffer dei messaggi, decodificare bitmask di messaggi in strutture C ed eseguire la gestione degli eventi. Queste funzioni disaccoppiano l'MCU host dal protocollo di livello basso e dai suoi vincoli di temporizzazione. A supporto della progettazione, un secondo pacchetto software, Aurea, viene eseguito su un PC basato su Windows. Il software interpreta i messaggi inviati da GestIC e offre una rappresentazione visiva di gesti e dati di posizione. Utilizzando Aurea, gli sviluppatori possono ottimizzare i parametri di rilevamento e i layout per sostenere nel miglior modo possibile l'applicazione di destinazione. Un kit di sviluppo offre un ponte USB I2C per dare supporto di prototipazione per lo sviluppo di sensori e software.
Conclusione
Grazie alla sua combinazione di hardware a basso costo basato sul rilevamento del campo elettrico e un'infrastruttura di supporto di strumenti software e firmware, GestIC MGC3x30 offre una soluzione efficace per inserire interfacce intuitive in un'ampia gamma di dispositivi per IoT.
Esonero della responsabilità: le opinioni, le convinzioni e i punti di vista espressi dai vari autori e/o dai partecipanti al forum su questo sito Web non riflettono necessariamente le opinioni, le convinzioni e i punti di vista di DigiKey o le sue politiche.


