Étape 4: Spécification pour le contrôle de la voiture via Leap Motion
Vous pouvez télécharger les codes sources de ce projet sur GitHub.
La bibliothèque de Motion Leap fournit des informations de la main de 200 - 300 fois par seconde. C’est trop pour ce projet. J’ai donc utilisé l’information chaque 5 fois.
L’appareil possède un système de coordonnées 3D comme indiqué ci-dessus (la photo est prise sur le site officiel).
Dans le projet actuel, j’ai conçu les spécifications suivantes pour le contrôle de la voiture de l’Arduino.
Ces deux règles sont la première priorité.
- Si le dispositif détecte sans les mains, elle s’arrête.
- Si le dispositif détecte un nombre de doigts moins de deux elle s’arrête.
Le positionnement des mains détermine le mouvement de la voiture.
- Si la valeur absolue d’axe x est inférieure à 10 cm et que la valeur absolue de z-AXIS est inférieure à 5 cm, elle s’arrête.
- Un contrôle sur l’axe des abscisses et l’axe z Comparaison de valeur absolue doit être effectuée. N’importe quel axe a valeur supérieure sera utilisé dans un tel cas. La voiture peut se déplacer que dans une seule direction (rotation à gauche, rotation droite, vers l’avant ou vers l’arrière/arrière) à la fois.
- Si l’axe des z est de valeur négative, la voiture se déplace vers l’arrière/arrière. Si l’axe des z est d’une valeur positive, la voiture se déplace vers l’avant.
- Si l’axe des x est de valeur négative, la voiture se déplace à gauche. Si l’axe des x sont une valeur positive, la voiture se déplace à droite.
- La valeur de l’axe des ordonnées détermine la puissance du moteur. Une valeur plus élevée donnera lieu à plus de puissance.
La précision réelle de l’appareil dépend de la distance entre l’appareil et la position de la main. Pour des raisons de sécurité, j’ai devez programmer la voiture s’arrêter lorsque l’appareil ne détecte aucune main ou données insuffisantes.
La direction basée sur ce règlement sera diffusée simultanément à la voiture d’Arduino via XBee et au Web via Socket.IO. Je peux comprendre le genre de direction transmis à la voiture en cochant navigateur Web.
Il a fallu quelques temps pour s’adapter à la spécification. Compréhension de la bibliothèque de Motion Leap et tune-up pour décider de la spécification est l’élément clé de ce projet.