APDS 9960 RGB Gesture sensor – Cos’è e come si usa

apds9960 gesture

Con APDS 9960 RGB Gesture sensor è possibile controllare un computer, un microcontrollore, un robot e altro ancora con un semplice tocco della mano.

Sul nostro canale Maker (link riportato in coda all’articolo) ci è stata recentemente posta una domanda sui gesture sensors: nonostante infatti siano semplicissimi da configurare e collegare, in molti rimangono in dubbio sulle loro capacità, su cosa sia possibile farci, sia a livello di robotica che a livello di IoT classico.

Sensibili alle richieste dei nostri lettori, abbiamo deciso oggi di presentare un articolo in cui l’argomento del sensore APDS 9960 viene approfondito, presentando nel contempo due declinazioni per l’utente finale presentate rispettivamente (ed in rigoroso ordine alfabetico) da Adafruit e Sparkfun.

Vediamo assieme di cosa si tratta.

Rilevamento dei gesti

apds9960

Il rilevamento dei gesti utilizza quattro fotodiodi direzionali per rilevare l’energia IR riflessa (proveniente dal LED integrato) per convertire le informazioni sul movimento fisico (cioè velocità, direzione e distanza) in informazioni digitali. L’architettura del motore dei gesti include l’attivazione automatica (basata sui risultati del motore di prossimità), la sottrazione della luce ambientale, la cancellazione del cross-talk, due convertitori di dati a 8 bit, ritardo tra le conversioni di risparmio energetico, FIFO a 32 set di dati e comunicazione I2C basata su interrupt. Il motore dei gesti soddisfa un’ampia gamma di requisiti di gestualità dei dispositivi mobili: semplici gesti SU-GIÙ-DESTRA-SINISTRA o gesti più complessi possono essere rilevati con precisione. Il consumo di energia e il rumore sono ridotti al minimo con la temporizzazione regolabile dei LED IR.

Rilevamento di prossimità

proximity recognition

La funzione di rilevamento di prossimità fornisce la misurazione della distanza (ad es. dallo schermo del dispositivo mobile all’orecchio dell’utente) mediante il rilevamento del fotodiodo dell’energia IR riflessa (proveniente dal LED integrato). Gli eventi di rilevamento/rilascio sono guidati dall’interruzione e si verificano ogni volta che il risultato di prossimità supera le impostazioni di soglia superiore e/o inferiore. Il motore di prossimità è dotato di registri di regolazione dell’offset per compensare l’offset del sistema causato da riflessioni di energia IR indesiderate che appaiono sul sensore. L’intensità del LED IR è regolata in fabbrica per eliminare la necessità di calibrazione dell’apparecchiatura finale a causa delle variazioni dei componenti. I risultati di prossimità sono ulteriormente migliorati dalla sottrazione automatica della luce ambientale.

Rilevamento colore e ALS

als color recognition
Nell’immagine lo schema del TCS37012 OSRAM

La funzione di rilevamento del colore e dell’ALS fornisce dati sull’intensità della luce rossa, verde, blu e clear. Ciascuno dei canali R, G, B, C ha un filtro di blocco UV e IR e un convertitore di dati dedicato che produce dati a 16 bit contemporaneamente. Questa architettura consente alle applicazioni di misurare con precisione la luce ambientale e rilevare il colore, consentendo ai dispositivi di calcolare la temperatura del colore e controllare la retroilluminazione del display.

Funzionamento

apds9960

Le funzionalità di rilevamento dei gesti, rilevamento di prossimità e rilevamento del colore RGBC/rilevamento della luce ambientale sono controllate da una macchina a stati, come illustrato nella Figura 12, che riconfigura le risorse analogiche su chip quando si accede a ciascun motore funzionale. Gli stati/motori funzionali possono essere inclusi o esclusi individualmente dalla progressione del flusso della macchina a stati. Ogni motore funzionale contiene i controlli (es. Guadagno, tempo di integrazione ADC, tempo di attesa, persistenza, soglie, ecc.) che governano il funzionamento. Il controllo del pin Led Drive, LDR, è condiviso tra le funzionalità di prossimità e gesto. Il motore colore/ALS non utilizza il LED IR, ma la diafonia causata dalle emissioni dei LED IR durante la trasmissione di un pattern ottico può influire sui risultati.

Descrizione tecnica del sensore

Il dispositivo APDS-9960 è dotato di rilevamento gestuale avanzato, rilevamento di prossimità, rilevamento della luce ambientale digitale (ALS) e Color Sense (RGBC). Il pacchetto modulare sottile, L 3,94 x L 2,36 x H 1,35 mm, incorpora un LED IR e driver LED calibrato in fabbrica per compatibilità drop-in con impronte esistenti.

L’APDS9960 di Avago Technologies ha un LED IR integrato e un driver, insieme a quattro fotodiodi direzionali che rilevano l’energia IR riflessa dal LED. La sua funzione di rilevamento di prossimità gli consente di misurare la distanza di un oggetto dalla parte anteriore del sensore (fino a pochi centimetri) con una risoluzione di 8 bit.

Adafruit APDS9960

Adafruit APDS9960

Questo breakout comprende il rilevamento dei gesti di base, il rilevamento del colore RGB, il rilevamento di prossimità e il rilevamento della luce ambientale. Quando è connesso alla nostra board di controllo può rilevare semplici gesti (sono attualmente supportati da sinistra a destra, da destra a sinistra, su a giù, giù a su), restituire la quantità di luce rossa, blu, verde e clear o restituire la distanza di un oggetto dalla parte anteriore del sensore. Questo dispositivo utilizza un’interfaccia I2C, quindi è facile da collegare e utilizzare.

Grazie ai quattro sensori IR, è possibile misurare i cambiamenti nella riflettanza della luce in ciascuna delle posizioni cardinali nel tempo e trasformare quei cambiamenti in gesti. La libreria di interfaccia Adafruit (Adafruit ADPS9960, scaricabile dal library manager di Arduino) può rilevare i gesti direzionali (da sinistra a destra, da destra a sinistra, dall’alto verso il basso, dal basso verso l’alto), ma possono essere riconosciuti anche gesti più complicati come zig-zag, cerchio in senso orario o antiorario, vicino a lontano, ecc. con codice aggiuntivo scritto dall’utente.

L’APDS9960 dispone di un interrupt configurabile che può attivarsi quando una determinata soglia di prossimità viene superata o quando un sensore di colore supera una determinata soglia.

Maggiori informazioni alla pagina Overview del prodotto. Prezzo: circa 7 euro.

SparkFun APDS-9960

SparkFun APDS-9960

SparkFun RGB and Gesture Sensor èuna piccola scheda breakout con un sensore APDS-9960 integrato che offre misurazione della luce ambientale e del colore, rilevamento di prossimità e rilevamento dei gesti senza contatto. Con questo sensore RGB e di gesti è possibile controllare un computer, un microcontrollore, un robot e molto altro con un semplice tocco della  mano. Si tratta, infatti, dello stesso sensore utilizzato dal Samsung Galaxy S5 ed è probabilmente uno dei migliori sensori gestuali sul mercato per il prezzo (circa 15 euro).

L’APDS-9960 è un piccolo pezzo di hardware con filtri di blocco UV e IR integrati, quattro diodi separati sensibili a direzioni diverse e un’interfaccia compatibile I2C. Per comodità i seguenti pin sono stati suddivisi: VL (alimentazione opzionale al LED IR), GND (Terra), VCC (alimentazione al sensore APDS-9960), SDA (dati I2C), SCL (clock I2C) e INT ( interrupt). Ogni APDS-9960 ha anche un campo di rilevamento da 4 a 8 pollici (da 10 a 20 cm).

Anche questa scheda dispone di una semplice guida di utilizzo che offre schema elettrico, impronte per Eagle CAD, datasheet, file di progettazione, codice di esempio, librerie e video esplicativi.

Applicazioni

  • Rilevamento dei gesti
  • Senso del colore
  • Rilevamento della luce ambientale
  • Disabilitazione del touch screen del cellulare
  • Sostituzione interruttore meccanico

Caratteristiche

  • Rilevamento di luce ambientale e colore RGB, rilevamento di prossimità e rilevamento di gesti in un modulo ottico
  • Luce ambientale e rilevamento del colore RGB
    – Filtri anti UV e IR
    – Guadagno e tempo di integrazione programmabili
    – Sensibilità molto alta – Ideale per il funzionamento
    dietro un vetro scuro
  • Rilevamento di prossimità
    – Rifilato per fornire una lettura coerente
    – Rifiuto della luce ambientale
    – Compensazione offset
    – Driver programmabile per corrente LED IR
    – Bit indicatore di saturazione
  • Rilevamento di gesti complessi
    – Quattro diodi separati sensibili a direzioni diverse
    – Rifiuto della luce ambientale
    – Compensazione offset
    – Driver programmabile per corrente LED IR
    – 32 FIFO dataset storave
    – Interruzione della comunicazione I2C guidata
  • Interfaccia compatibile I2C-bus Fast Mode
    – Velocità dati fino a 400 kHz
    – Pin di interruzione dedicato

Considerazioni finali

Con questo articolo di approfondimento speriamo di aver accontentato quei lettori che ci avevano chiesto maggiori ragguagli relativi a questo sensore così polimorfico e caratteristico nella sua semplicità di collegamento (utilizza infatti il bus I2C con i 4 cavi classici secondo le specifiche viste nel nostro precedente articolo).

Se desiderate chiarimenti su altri argomenti relativi a sensoristica e collegamenti, scriveteci!

 

Join our groups onTelegram…

… and don’t forget our social channels!

Definire ciò che si è non risulta mai semplice o intuitivo, in specie quando nella vita si cerca costantemente di migliorarsi, di crescere tanto professionalmente quanto emotivamente. Lavoro per contribuire al mutamento dei settori cardine della computer science e per offrire sintesi ragionate e consulenza ad aziende e pubblicazioni ICT, ma anche perche’ ciò che riesco a portare a termine mi dà soddisfazione, piacere. Così come mi piace suonare (sax, tastiere, chitarra), cantare, scrivere (ho pubblicato 350 articoli scientfici e 3 libri sinora, ma non ho concluso ciò che ho da dire), leggere, Adoro la matematica, la logica, la filosofia, la scienza e la tecnologia, ed inseguo quel concetto di homo novus rinascimentale, cercando di completare quelle sezioni della mia vita che ancora appaiono poco ricche.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.