Collegamento del sensore di gesti APDS-9960

Il sensore di riconoscimento dei gesti GY-9960 APDS Arduino è un modulo con un sensore incorporato che fornisce il rilevamento di luce e colore, il rilevamento della prossimità e il riconoscimento dei gesti senza contatto. Con questo modulo è possibile controllare robot, luci e altri dispositivi con un semplice gesto della mano. Vediamo come collegare il modulo di riconoscimento dei gesti SparkFun APDS 9960 a un microcontrollore Arduino.




Per questa attività sono necessari:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • sensore di gesti APDS-9960
  • cavi di collegamento
  • libreria SparkFun_APDS9960.h

Sensore di gesti APDS-9960 datasheet, pinout

Il sensore di gesti GY-9960 APDS SparkFun è dotato di un sensore di luce ambientale integrato, di un filtro ultravioletto e infrarosso, di quattro fotodiodi separati (ricevitori che rilevano la radiazione IR riflessa da un oggetto) e di un LED IR (trasmettitore). Quando facciamo un gesto con la mano, il sensore riceve la radiazione infrarosso riflessa e il microcontrollore Arduino calcola la direzione del movimento della mano.

Sensore di gesti GY-9960 APDS SparkFun pinout, datasheet
Sensore di gesti GY-9960 APDS SparkFun pinout, datasheet

Caratteristiche del sensore APDS-9960 Arduino:

  • Tensione di alimentazione: 3,3 V
  • Indirizzo I2C: 0x39
  • Rilevamento di prossimità
  • Rilevamento dei gesti
  • Rilevamento della luce ambientale e dei colori RGB
  • Campo di funzionamento: da 10 a 20 cm (da 4 a 8 pollici)

PS – Questo ponticello collega l’alimentazione al modulo e al LED IR. Quando il ponticello è chiuso, l’alimentazione deve essere applicata solo al pin VCC del modulo. Quando il ponticello è aperto, è necessario applicare un’alimentazione separata al pin VL del sensore SparkFun da Arduino per accendere il LED IR. Per impostazione predefinita, questo ponticello è chiuso.

I2C PU – Questo ponticello viene utilizzato per collegare le resistenze di pull-up alle linee SDA e SCL. Se le resistenze non sono necessarie, aprire il ponticello.

Come collegare sensore di gesti APDS-9960 ad Arduino

Collegamento del modulo sensore di gesti APDS-9960 Arduino Uno
Collegamento del modulo sensore di gesti APDS-9960 Arduino Uno

Il sensore è in grado di rilevare il livello di luce totale in lux o il livello di luce in tre canali dello spettro – rosso, verde, blu (RGB). Rileva la vicinanza e la distanza dell’oggetto dal sensore, semplici gesti della mano (movimento a sinistra, a destra, in alto, in basso). Per lavorare con il modulo è necessario installare la libreria SparkFun_APDS9960.h e, dopo aver assemblato il circuito, caricare il seguente programma nel microcontrollore Arduino.

Programma Arduino per utilizzare sensore di gesti APDS-9960




#include "Wire.h"
#include "SparkFun_APDS9960.h"
 
#define APDS9960_INT 2
SparkFun_APDS9960 apds = SparkFun_APDS9960();
 
int isr_flag;
 
void setup() {
  Serial.begin(9600);                        
  attachInterrupt(0, interruptRoutine, FALLING);
 
  if ( apds.init() ) {
    Serial.println(F("APDS-9960 initialization complete"));
  } else {
    Serial.println(F("Something went wrong during APDS-9960 init!"));
  }
 
  if ( apds.enableGestureSensor(true) ) {
    Serial.println(F("Gesture sensor is now running"));
  } else {
    Serial.println(F("Something went wrong during gesture sensor init!"));
  }
}
 
void loop() {
  if( isr_flag == 1 ) {
    detachInterrupt(0);
    handleGesture();
    isr_flag = 0;
    attachInterrupt(0, interruptRoutine, FALLING);
  }
}
 
void interruptRoutine() {
  isr_flag = 1;
}
 
void handleGesture() {
    if ( apds.isGestureAvailable() ) {
    switch ( apds.readGesture() ) {
      case DIR_UP:
        Serial.println("UP");
        break;
      case DIR_DOWN:
        Serial.println("DOWN");
        break;
      case DIR_LEFT:
        Serial.println("LEFT");
        break;
      case DIR_RIGHT:
        Serial.println("RIGHT");
        break;
      case DIR_NEAR:
        Serial.println("NEAR");
        break;
      case DIR_FAR:
        Serial.println("FAR");
        break;
      default:
        Serial.println("NONE");
    }
  }
}

Spiegazione del codice per utilizzare sensore di gesti APDS-9960:



  1. passare la mano davanti al sensore GY-9960-LLC – il monitor della porta di Arduino IDE vi dirà quale gesto è stato riconosciuto;
  2. se non è stato definito alcun gesto, sul monitor della porta apparirà NONE.

Conclusione. Il modulo sensore GY 9960 LLC è in grado di rilevare facilmente la vicinanza di un oggetto, semplici gesti, luce e colori (luminosità dei valori cromatici RGB). Nella libreria SparkFun_APDS9960.h sono presenti altri esempi per dimostrare le capacità del sensore. Ad esempio, AmbientLightInterrupt consente di misurare la luce ambientale e l’esempio ColorSensor legge i valori di luce rossa, verde e blu.

5/5 - (1 vote)


Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.