Capteur de gestes APDS-9960 avec Arduino
Le capteur de gestes APDS-9960 permet de détecter des gestes de la main tels que les balayages et la proximité. Dans ce tutoriel, nous allons montrer comment connecter l'APDS-9960 à un Arduino et le programmer pour reconnaître les gestes. Le résultat sera une configuration simple capable de détecter les mouvements et de les signaler via le moniteur série. Ce guide vous aidera à comprendre le câblage et le code nécessaires pour commencer avec le capteur de gestes. (dans la vidéo à 00:30)

Le matériel expliqué
L'APDS-9960 est un capteur polyvalent qui combine la détection des couleurs RGB, la mesure de la lumière ambiante, la détection de proximité et la détection de gestes. Il communique avec l'Arduino via I2C, ce qui permet une intégration facile avec un câblage minimal. Le capteur fonctionne uniquement à 3,3 V, il est donc essentiel de s'assurer que les niveaux de tension sont appropriés pour éviter d'endommager l'appareil. Dans ce montage, nous utiliserons l'Arduino pour lire les données de gestes. Le capteur transmet les informations de gestes par des interruptions, ce qui permet à l'Arduino de répondre rapidement aux mouvements de la main. L'intégration de l'APDS-9960 avec l'Arduino ouvre de nombreuses possibilités pour des projets interactifs, y compris des dispositifs contrôlés par gestes.
Détails de la fiche technique
| Fabricant | Broadcom |
|---|---|
| Numéro de pièce | APDS-9960 |
| Tension logique/E/S | 2,7 - 3,6 V |
| Tension d'alimentation | 3,3 V |
| Courant de sortie (par canal) | 1 mA |
| Courant de crête (par canal) | 10 mA |
| Recommandations de fréquence PWM | 100 Hz |
| Seuils logiques d'entrée | 0,3 × VDD(bas), 0.7 x VDD(élevé) |
| Chute de tension sur RDS(on)/ saturation | 0.5 V max |
| Limites thermiques | -40 à +85 °C |
| Paquet | LGA à 6 broches |
| Notes / variantes | Prend en charge la communication I2C |
- Veillez à ce que la tension d'alimentation ne dépasse pas 3.6 V afin d'éviter tout dommage.
- Utilisez des résistances pull-up sur les lignes I2C pour une communication fiable.
- Tenez le capteur à l'abri de la lumière directe du soleil pour des mesures précises.
- Assurez-vous d'initialiser correctement le capteur dans le code.
- Vérifiez les connexions de câblage pour éviter les entrées flottantes.
Instructions de câblage

Pour câbler l'APDS-9960 à l'Arduino, commencez par connecter l'alimentation. Utilisez un fil rouge pour relier la broche VCC de l'APDS-9960 à la broche 3.3V de l'Arduino. Ensuite, connectez la broche GND du capteur à une broche de masse de l'Arduino à l'aide d'un fil noir. Pour la communication I2C, connectez la broche SDA de l'APDS-9960 à la broche A4 de l'Arduino. De même, connectez la broche SCL à la broche A5 de l'Arduino. Enfin, connectez la broche INT du capteur à la broche 2 de l'Arduino. Cela permettra à l'Arduino de répondre aux interruptions générées par le capteur.
Exemples de code et guide pas à pas
Le code fourni initialise le capteur APDS-9960 et configure l'Arduino pour lire les gestes. Voici un bref extrait de la fonction setup :
void setup() {
pinMode(APDS9960_INT, INPUT);
Serial.begin(9600);
attachInterrupt(0, interruptRoutine, FALLING);
if ( apds.init() ) {
Serial.println(F("APDS-9960 initialization complete"));
}
}Dans cet extrait, nous initialisons le moniteur série et configurons la broche d'interruption. Le capteur est initialisé et un message de confirmation est affiché sur la console. Ensuite, nous vérifions les gestes dans la fonction loop :
void loop() {
if( isr_flag == 1 ) {
detachInterrupt(0);
handleGesture();
isr_flag = 0;
attachInterrupt(0, interruptRoutine, FALLING);
}
}Ici, la boucle vérifie en continu les gestes. Lorsqu'un geste est détecté, l'interruption est désactivée et la fonction handleGesture est appelée pour traiter le geste. Enfin, la fonction handleGesture traite les gestes détectés :
void handleGesture() {
if ( apds.isGestureAvailable() ) {
switch ( apds.readGesture() ) {
case DIR_UP:
Serial.println("UP");
break;
case DIR_DOWN:
Serial.println("DOWN");
break;
// Additional cases...
}
}
}Dans cette fonction, le geste est lu et l'action correspondante est exécutée en fonction de la direction détectée. Cela permet un contrôle interactif basé sur les mouvements de la main. Pour une compréhension complète du code, veuillez consulter le programme complet placé sous l'article.

Démonstration / À quoi s'attendre
Lorsque l'installation est terminée, vous pouvez vous attendre à ce que l'Arduino lise les gestes et affiche la direction détectée sur le moniteur série. Des tests simples consistent à déplacer votre main vers le haut, le bas, la gauche ou la droite devant le capteur. Si tout est correctement câblé, vous devriez voir la sortie correspondante sur le moniteur série, confirmant la reconnaissance des gestes. Faites attention aux entrées flottantes, car elles peuvent entraîner des lectures instables (dans la vidéo à 05:20).
Horodatages vidéo
- 00:00- Introduction
- 01:15- Aperçu du matériel
- 03:00- Instructions de câblage
- 04:30- Parcours du code
- 06:15- Démonstration
Ressources et références
Aucune ressource pour le moment.