***
Mise à jour le 30/03/2016
Ce module « Grove » intègre un capteur spécialisé de type PAJ7620U2, lequel est capable de reconnaître jusqu’à 9 mouvements de la main : vers le haut, vers le bas, vers la droite, vers la gauche, etc… (sur une distance entre 5 à 15 cm).
Information technique
Interface: compatible Grove
Alimentation: 5 Vcc
Distance de détection: 5 à 15 mm
Température de service: -40°C à 85°C
Lumière ambiance max: < 100k Lux
Deux modes de fonctionnement:
– mode normal: 60°/s à 600°/s
– mode jeu: 60°/s à 1200°/s
Dimensions: 20 x 20 mm
Poids: 8g
Protocole: I2C
Référence Seeedstudio: 101020083
Voir la vidéo de présentation du produit -> affichage
Raccordement de la carte de détection de geste référence 101020083 sur la carte interface Mega Shield. »attention à bien se connecter sur un bus I2C«
Une bibliothèque est disponible pour vous aider à commencer à utiliser rapidement le capteur avec Arduino,
- Télécharger la bibliothèque se trouvant en fichier zip à partir du github Gesture_PAJ7620
- Décompressez le fichier téléchargé dans le répertoire Arduino … / Arduino / bibliothèques.
- Renommez le dossier « Gesture » dézippé (ou: « Gesture_PAJ7620 »)
- Démarrez l’IDE Arduino (ou redémarrer si elle est ouverte).
Dans le programme des le départ , Initialiser le PAJ7620 du capteur de mouvement
Exemple :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
// // // void setup() // Un programme Arduino doit impérativement contenir cette fonction . // Elle ne sera exécuter une seule fois au démarrage du microcontroleur // Elle sert à configurer globalement les entrées sorties // etc… ( void setup ) { paj7620Init();//initialisation du capteur de mouvement } |
Ce code d’initialisation doit être ajoutée à chaque programme utilisant ce matériel
Lecture des données du registre du PAJ7620 sur le port I2C
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
// // // // //Traduit par Redohm void loop() { uint8_t data = 0; // lecture Bank_0_Reg_0x43/0x44 pour le resultat du geste paj7620ReadReg(0x43, 1, &data); // Lorsque les différents gestes sont détectés,les différents data // data seront données par paj7620ReadReg (0x43, 1, et données). if (data == GES_UP_FLAG) // lorsque le geste est détecté le registre sera = GES_UP_FLAG digitalWrite(4, HIGH); // Met un niveau logique haut a la pin 4 la LED s'allume if (data == GES_DOWN_FLAG) // Lorsque le geste est détecté le registre sera = GES_DOWN_FLAG digitalWrite(4, LOW); // Met un niveau logique bas a la pin 4 la LED s’éteint } |
Exemple de programme : Lorsque vous vous déplacez la main , le voyant rouge sera allumé, sinon la LED rouge sera éteinte.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
// // // // #include <Wire.h> //Cette bibliothèque vous permet de communiquer avec des périphériques I2C #include "paj7620.h" void setup() // Un programme Arduino doit impérativement contenir cette fonction . // Elle ne sera exécuter une seule fois au démarrage du microcontroleur // Elle sert à configurer globalement les entrées sorties // etc… ( void setup ) { paj7620Init(); } void loop() { uint8_t data = 0; // lecture Bank_0_Reg_0x43/0x44 pour le resultat du geste paj7620ReadReg(0x43, 1, &data); // Lorsque les différents gestes sont détectés,les différents data // data seront données par paj7620ReadReg (0x43, 1, et données). if (data == GES_UP_FLAG) // lorsque le geste est détecté le registre sera = GES_UP_FLAG digitalWrite(4, HIGH); // Met un niveau logique haut a la pin 4 la LED s'allume if (data == GES_DOWN_FLAG) // Lorsque le geste est détecté le registre sera = GES_DOWN_FLAG digitalWrite(4, LOW); // Met un niveau logique bas a la pin 4 la LED s’éteint } |
Traduction du document : http://www.seeedstudio.com/wiki/Grove_-_Gesture_v1.0
Table de définition des différents gestes |
||||
Geste | Register Data | Adresse registre |
Si oui | Si non |
En haut « Up » | data==GES_UP_FLAG | 0x43 | Geste détecté | Geste non détecté |
Vers le bas « Down » | data==GES_DOWN_FLAG | 0x43 | Geste détecté | Geste non détecté |
Vers la gauche « Left » | data==GES_LEFT_FLAG | 0x43 | Geste détecté | Geste non détecté |
Vers la droite « Right » | data==GES_RIGHT_FLAG | 0x43 | Geste détecté | Geste non détecté |
Vers l’avant « Forward » | data==GES_FORWARD_FLAG | 0x43 | Geste détecté | Geste non détecté |
Vers l’arriere « Backward » | data==GES_BACKWARD_FLAG | 0x43 | Geste détecté | Geste non détecté |
Dans le sens horaire »Clockwise » | data==GES_CLOCKWISE_FLAG | 0x43 | Geste détecté | Geste non détecté |
Dans le sens anti-horaire « Count Clockwise » | data==GES_COUNT_CLOCKWISE_FLAG | 0x43 | Geste détecté | Geste non détecté |
« Wave » | data==GES_WAVE_FLAG | 0x43 | Geste détecté | Geste non détecté |