APDS 9960 ultimo aggiornamento 16 settembre 2018 |
|
Modulo breakout basato sul sensore di Movimento RGB con APDS-9960. il sensore può svolgere anche la funzione di un sensore di prossimità, di luminosità ambientale e sensore di colore RGB. Il modulo è tra l'altro venduto dalla HiLetgo il cui negozio online potrete trovare su AMAZON
La rilevazione dei gesti utilizza quattro fotodiodi
direzionali per rilevare l'energia IR riflessa (sorgente mediante il LED
integrato) per convertire le informazioni di movimento fisico come velocità,
direzione e distanza in un dato digitale.
Questo sensore di movimento è utilizzato in una vasta gamma di dispositivi
mobili dotati di un'apparecchiatura gestuale per il controllo della funzione
UP-DOWN-RIGHT-LEFT o di un gesto più complesso che può essere rilevato con
precisione.
Il sensore è in grado di misurare la luce ambientale e il colore e può operare
come sensore di prossimità e come sensore di movimento con un range di
rilevamento che si estende da 10cm a 20 cm.
Il Sensore di Movimento RGB con APDS-9960 permette di controllare un computer,
un microcontrollore, un robot e molto altro ancora con un semplice movimento
della mano.
APDS 9960 Sensore di movimento RGB | ||
|
||
Piedinatura | Datasheet | Foto |
All'interno del sensore sono presenti i filtri UV e IR, quattro fotodiodi sensibili alle diverse direzioni e l'interfaccia I2C.
Dimensione: 15x20 mm (foro di fissaggio 3 mm)
Alimentazione a 3,3Vcc
Protocollo di comunicazione I2C
Distanza di rilevamento: da 10cm a 20 cm
Indirizzo I2C: 0x39
|
|
Questo sensore ha 2 fori di montaggio e un gruppo di 6 pin di collegamento:
Pin di alimentazione:
VL - Alimentazione opzionale al LED IR se il ponticello PS è scollegato. Deve essere 3.0 - 4.5
GND - terminale di terra comune per alimentazione e la logica
VCC - Alimentazione del modulo a 3,3V IMPORTANTE: è necessario utilizzare 3.3 V! Se si tenta di utilizzare un alimentatore da 5 V o comunicazioni I2C da 5 V, si rischia di danneggiare l'APDS-9960.
Pin di logica:
SCL - questo è il pin del clock I2C, si collega alla linea di clock I2C dei microcontrollori.
SDA - questo è il pin di dati I2C, si collega alla linea dati I2C dei microcontrollori.
INT - questo è il pin dell'uscita di interrupt. È una logica 3V e puoi usarla per rilevare quando una nuova lettura è pronta o quando una lettura diventa troppo alta o troppo bassa.
Sulla parte anteriore della scheda di sblocco ci sono 2 jumper di saldatura:
PS: questo jumper collega l'alimentazione del sensore e il LED IR (anch'esso situato sull'APDS-9960) insieme. Quando il ponticello è chiuso (cioè collegato), è sufficiente fornire alimentazione al pin VCC per alimentare sia il sensore che il LED IR. Se il jumper è aperto, è necessario fornire alimentazione a entrambi i pin VCC (2.4 - 3.6V) e VL (3.0 - 4.5V) separatamente. Questo jumper è chiuso per impostazione predefinita.
I2C PU - Questo è un jumper a 3 vie che viene utilizzato per collegare e scollegare i resistori di pull-up I2C. Per impostazione predefinita, questo jumper è chiuso, il che significa che entrambe le linee SDA e SCL hanno resistori di pullup collegati sulla scheda di breakout. Eliminare questo ponticello di saldatura per se non si ha bisogno dei resistori di pull-up (ad esempio, se esistono delle resistenze pullup per il bus I2C da qualche altra parte).
Per l'utilizzo del sensore è possibile utilizzare una libreria che può essere trovata tramite l'apposita funzione fornita dall'IDE, per cui dopo aver richiamato la funzione GESTIONE LIBRERIA, basterà inserire nel campo ricerca "APDS-9960" appariranno due librerie una della Adafruit e una della SparkFun, personalmente ho utilizzato quella della Adafruit.
Al termine dell'installazione apparirà la dicitura "INSTALLED"
Ora andando sotto la sezione Esempi, potrete trovare sotto la cartella "Esempi da librerie personalizzate" gli esempi inerenti la libreria Adafruit ADPS9960 Library: color_sensor, gesture_sensor, proximity_sensor
Test di prova sensore di gesti
Per testare questo breakout inizieremo prima di tutto a collegarlo alla scheda di controllo, in questo caso una Arduino UNO, ma è possibile collegarlo a qualsiasi altro tipo di microcontrollore che disponga del bus I2C, considerando che questo chip usa l'indirizzo 0x39 e che non può cambiare indirizzo!
Collegare 3V3 al pin VCC, collegare GND alla massa comune
di alimentazione/dati, collegare il pin A4 al pin SCL il pin A5 al pin SDA
A questo punto si potrà caricare l'esempio, Apri File-> Esempi-> Adafruit_APDS9960-> gesture_sensor,
oppure quello riportato nel link sotto riportato.
sketch "test_gesture_sensor.zip"
Sketch testato con versione IDE 1.8.5
In questo esempio si collega al sensore
e si testerà la funzione di interpretazione dei gesti.
Una volta caricato su Arduino, aprire la console seriale a 115200 baud speed.
per l'uso mettere la mano vicino alla parte anteriore del sensore per attivare la modalità
gesto. Quindi eseguire dei gesti direzionali a 7 o 10 cm dal sensore. Si
dovranno
vedere le frecce direzionali o le scritte apparire nella console seriale corrispondente al
gesto che avete fatto. Assicuratevi di avvicinare la mano (alcuni centimetri) al sensore prima di
attivare la modalità gesto prima di eseguire i gesti.
Elenco revisioni: | |
16/09/2018 | Emissione preliminare |