Étape 3: Code
Dans le fichier principal de l’esquisse de l’arduino, chacun des capteurs cinq flex sont mappés aux entrées analogiques 0 à 4 tandis que les servos correspondants sont mappés sur les broches analogiques sur le côté numérique 5,6,9,10 et 11 respectivement. Comme vous pouvez le voir, le fichier principal déclare objets pouce, index, milieu, anneau et pinky basé sur la classe doigt. Dans la fonction de réglage, chaque objet initialise la fonction initialize servo du doigt tandis que dans la fonction en boucle chaque objet met constamment à jour la position de chaque servo selon la lecture de la sonde flex.
Le fichier d’en-tête de classe doigt contient toutes les déclarations associées à la classe. Les goupilles de flexSensorPin et servoPin et les chiffres de servo sont déclarées, ainsi que la variable flexSensorReading qui contient le mappage entre les lectures de résistance brute du capteur flex. Le flex variable contient le mappage de flexSensorReading mappé dans un paramètre plus rationalisé. Les fonctions attachServoPin et updateFinger sont également déclarées. Le constructeur est présent sans paramètre seulement pour permettre la déclaration d’objets.
Le fichier de classe pour la classe doigt contient toutes les définitions de fonction pour chaque objet du doigt. Dans un premier temps, le constructeur est initialisé. Suite à cela, est la fonction attachServoPin qui attache un servoPin à un servo correspondant et initialise ce servo. La fonction suivante est updateFinger qui est basé sur le paramètre flexSensorPin. Pour comprendre ce que fait la fonction, vous devez d’abord comprendre ce qui se passe dans le système de contrôle. Chaque capteur flex a une résistance lecture nourris dans l’arduino. Sans code, le doesn de capteur flex rien sauf se nourrissent dans les lectures. Ce que l’arduino est codé de manière à faire est de lire la résistance chacun flex capteur sorties lorsque pliée ou dépliée et mappe ces valeurs sur les servos.
N’oubliez pas que chaque sonde a une résistance de 22 kilo-Ohms afin d’alimenter en entrée maniable et lisse à l’arduino, c’est pourquoi les paramètres de croquis sont très par rapport à ce que la résistance est présente dans chaque circuit. Donc l’updateFinger fonction cartes ces résistance capteur flex de lectures à une variable, en fonction du nombre de broches à la flexion. C’est parce que chaque objet de doigt possède sa propre gamme de résistances de plié à se détendit en raison du caractère unique de la structure des doigts sur une main. C’est là, si des instructions conditionnelles viennent dans. La variable flex mappe ces gammes de résistance à partir des valeurs arbitraires de 0 à 100. Cela, plus simple lecture, est ensuite introduit dans la ligne de cartographie servo, qui apparaît à la fin, afin de déplacer les servos de 0 degrés à 180 degrés lorsque le capteur est déplié et plié.