Étape 6: Utilisation de la manette et entaillant le code
Ouvrez le code de l’Arduino dans son environnement et le charger sur l’Arduino. Ouvrez le schéma de traitement dans son environnement, puis cliquez sur le bouton play. Un écran qui ressemble à la première image devrait apparaître, avec le ballon vers le coin en haut, plus proche de vous.
Maintenant, placez votre poing dans le coin supérieur, avec vos bras vers le coin extrême (où les 3 morceaux de carton se croisent).
Cliquez sur le bouton gauche de la souris et maintenez-le enfoncé. Déplacez lentement votre poing vers le coin bas extrême. Lorsque vous avez atteint là, relâchez le bouton.
L’esquisse de traitement sait maintenant ce qu’est l’amplitude du mouvement, et la plage de temps de charge, il peut s’attendre pour chaque plaque. Vous pouvez maintenant jouer et voir la balle suivent votre main !
Ce suivi ne sera pas parfait, surtout vers les bords du cube (probablement en raison des champs de la frange de condensateur.) Cependant, en travaillant avec câble blindé, en vous assurant que rien n’est en contact électrique, et en sélectionnant une bonne valeur pour la taille des plaques et les résistances, vous devriez être en mesure d’améliorer la réponse du capteur. Expérimenter avec cela ! Nous avons essayé quelques tailles de plaque et s’installe sur la place de 8 pouces, mais la façon dont nous l’avons fait était loin d’être quantitative. Aussi, nous n’avions pas le temps d’essayer les autres valeurs de résistance. N’oubliez pas, plus la valeur de la résistance, le plus lent le temps de charge / décharge. Nous ne savons pas comment cela affectera la précision des lectures, bien que ma première supposition serait que décharge plus longs conduirait à une plus juste mais plus lent à répondre à mesure.
Piratage du code :
Le vrai plaisir d’avoir ce capteur 3D, c’est comment vous pouvez l’adapter à toutes sortes de dispositifs de contrôle. Les applications plus simples serait de contrôler quelque chose simplement impliquant divers circuits de commutation quand votre main est dans une certaine position, et lorsque la main est dans un autre.
Le schéma de traitement, les variables qui vous indiquent les coordonnées de votre main s’appellent axyz [0] .avg, axyz [1] .avg et .avg d’axyz [2] (sd est seulement un facteur d’échelle).
Vous pouvez imprimer les valeurs de ces variables en ajoutant des déclarations impression juste après où les variables sont d’abord vus, tels que : print(axyz[0]) ;
En imprimant les valeurs de ces variables, vous pouvez figurer dehors quels nombres correspondent à quels endroits dans le cube.
Vous pouvez ensuite utiliser ces coordonnées à votre avantage ! Par exemple, vous pouvez écrire un if instruction dans l’esquisse de traitement qui raconte l’Arduino où votre poing est tel que :
Si (axyz [0] < 0,1 & & axyz [1] > 0,9 & & axyz [2] < 0,1) {}
Serial.Write(1)
Cet extrait de code devrait dire l’Arduino over Serial que votre poing se trouve dans le coin arrière
Notez que le code a déjà initialisé au port série d’être appelé « série » sur la ligne 4
}
Puis dans le code de l’Arduino, vous pouvez écrire un if déclaration qui dit: « si mon poing est à cet endroit, la valeur numérique broche 5 haute »
Au-dessus de
void setup()
écrire l’instruction :
int incomingByte = 0 ; déclare une variable pour stocker les octets entrants Serial
Puis dans la boucle, écrire
Envoyer des données uniquement lorsque vous recevez des données :
Si (Serial.available() > 0) {}
lire les octets entrants :
incomingByte = Serial.read() ;
Si (incomingByte == 1) {}
digitalWrite (5, HIGH) ;
}
Maintenant jouer avec l’appareil que vous souhaitez commander ! Démonter et voir ce que vous devez faire, circuit sage, pour le conduire. Vous avez maintenant la possibilité d’utiliser l’emplacement de votre main pour dire votre Arduino quoi faire avec if déclarations. Utilisez-le en bien ou en mal.