Utilisation de deux Servos avec l'Arduino
L'Arduino peut contrôler deux servos avec la même facilité que l'un. Tout ce qu'il faut crée une deuxième instance (copie) de l'objet Servo, en lui donnant un nom unique. Par exemple, dans un robot à deux roues différentiellement vous pouvez appeler braqué un objet servo servoLeft, et l'autre servoRight.
Le manque Arduino connexions directes pour la fixation des servo-moteurs. Au lieu de cela, le mini offre un espace de breadboard prototypage pour connecter les deux servos, ainsi que le support de la pile AA qui alimente les servos.
Se référer à la Figure 1 (schématique) et la figure 2 (illustrée) pour le câblage de la carte de test sans soudure. Utilisation d'une bande de 0,100" à double face (long) sur les repères d'en-tête mâle, détacher deux séries de trois broches et un ensemble de broches pour la connexion de la batterie AA.
La conception de référence utilise un support de pile AA avec un connecteur femelle à quatre broches. + Et - conducteurs sont sur les deux positions à l'extérieur du connecteur. J'ai droit rompu la goupille à côté de la connexion + de l'en-tête mâle, puis utilisé un court morceau de fil de raccordement de conducteur solide pour remplir son trou correspondant dans le connecteur. Cela empêche le connecteur d'être inversé quand il est branché.
Lors du câblage du breadboard de soudure, particulièrement attention à ne pas mélanger les pistes positives et négatives à l'asservissement. Inverser la puissance endommagera de façon permanente.
Voici une note importante: le ArdBot utilise des blocs de pile pour l'Arduino et ses deux servos. Pour tout fonctionne correctement, les connexions au sol pour l'Arduino et l'alimentation de la batterie de servo doivent être reliés entre eux. Ceci est illustré dans les deux vues de circuit schématiques et picturales.
Assurez-vous aussi orienter correctement les connecteurs pour les servos lorsque vous les brancher sur la carte. conduit servocommandes sont codés par couleur, mais les couleurs ne sont pas universelles.
- Sol (-) est généralement noir ou brun.
- Puissance (+) est le plus souvent rouge et avec les servos modernes, il est toujours au milieu.
- Le signal est blanc, jaune, ou parfois orange (mais attention sur certains servos le fil d'alimentation est orange!).
En cas de doute, consultez la fiche technique fournie avec votre servos. Ne pas deviner!
Esquisse d'essai servo
Avec le ArdBot construit et la planche à pain câblé, vous êtes prêt à tester le robot et le mettre à l'épreuve. Reportez-vous au croquis ci-dessous.
Une fois téléchargé, mettez un petit livre sous votre ArdBot pour soulever les roues du sol. Déconnecter le câble USB, et, dans cet ordre, brancher le connecteur de pile AA dans la carte de test, puis brancher le courant de 9 volts à la prise d'alimentation Arduino. (Si vous utilisez un Arduino Diecimila, assurez-vous de passer sur le cavalier de sélection d'alimentation USB externe.)
Si tout est correctement connecté, les servomoteurs doivent passer par un motif de test.
En supposant que les moteurs fonctionnent comme ils devraient, appuyer sur le bouton de réinitialisation sur la carte Arduino et placez-le ArdBot sur le terrain. Relâchez le bouton et le robot doit effectuer ses manœuvres d'auto-test.
Si les moteurs ne bougent pas, vérifiez votre câblage, en vérifiant que les connecteurs d'asservissement sont correctement orientés. Ils ne fonctionneront pas si les connecteurs sont inversés sur la planche à pain.
arduino-2servo.pde
Regard sur l'esquisse d'essai
Revoyons comment l'esquisse de test fonctionne. Tout d'abord est une instruction include dans le fichier d'en-tête de la bibliothèque Servo.h, qui est fourni avec l'installation Arduino IDE. Ce fichier, et son programme en langage C correspondant, offrent tout le codage réel pour rendre la fonction servos.
Viennent ensuite deux déclarations qui créent ou instancient, deux objets servo pour une utilisation dans le reste de l'esquisse. Chaque objet représente un servo physique attaché à l'Arduino. Les méthodes de ces objets comprennent des choses comme la broche numérique qui spécifiant est utilisé pour se connecter depuis l'Arduino au servo, et la position du servo. Notez que j'ai donné les deux objets Servo noms descriptifs: servoLeft et servoRight. Il est plus facile de garder une trace des choses de cette façon.
Dans la fonction de configuration des objets servoLeft et servoRight sont « câblés » à leurs broches respectives sur l'Arduino dans ce cas, la broche 10 pour servoLeft et la broche 9 pour servoRight.
- Va de l'avant pendant 2 secondes
- Renverse pendant 2 secondes
- Virage à droite pendant 2 secondes
- Virages à gauche pendant 2 secondes
- Arrête pendant 2 secondes
Enfin, chaque fonction définie par l'utilisateur spécifie le mouvement spécifique à appliquer aux servos. Avec l'objet Servo, servos sont commandés pour se déplacer dans un sens ou dans l'autre par (parmi d'autres moyens) spécifiant un angle compris entre 0 et 180. Le servo se déplace alors à cet angle en réponse.