Sommaire |
Si vous aussi vous avez toujours eu envie de partir à la conquête du monde à la tête de votre propre armée de robots, il faut commencer par les bases. Voici comment fabriquer un bras robotisé simple à l'aide d'un Arduino !
Mettre le code suivant dans l'Arduino :
(pour plus de détail : Arduino)
// Contrôler la position de servomoteurs avec des potentiomètres (résistance variable) #include <Servo.h> Servo myservo1; // créer un objet servo 1 pour le contrôler Servo myservo2; // créer un objet servo 2 pour le contrôler Servo myservo3; // créer un objet servo 3 pour le contrôler int potpin1 = 0; // borne analogique pour connecter le potentiomètre 1 int potpin2 = 1; // borne analogique pour connecter le potentiomètre 2 int potpin3 = 2; // borne analogique pour connecter le potentiomètre 3 int val1; // variable pour stocker la valeur du potentiomètre 1 int val2; // variable pour stocker la valeur du potentiomètre 2 int val3; // variable pour stocker la valeur du potentiomètre 3 void setup() { myservo1.attach(9); // brancher le servomoteur 1 sur l'entrée 9 myservo2.attach(10); // brancher le servomoteur 2 sur l'entrée 10 myservo3.attach(11); // brancher le servomoteur 3 sur l'entrée 11 } void loop() { val1 = analogRead(potpin1); // lire la valeur du potentiomètre 1 val1 = map(val1, 0, 1023, 0, 179); // la discrétiser pour l'utiliser avec un servomoteur val2 = analogRead(potpin2); // lire la valeur du potentiomètre 2 val2 = map(val2, 0, 1023, 0, 179); // la discrétiser pour l'utiliser avec un servomoteur val3 = analogRead(potpin3); // lire la valeur du potentiomètre 3 val3 = map(val3, 0, 1023, 0, 179); // la discrétiser pour l'utiliser avec un servomoteur myservo1.write(val1); // mettre le servomoteur 1 dans la bonne position myservo2.write(val2); // mettre le servomoteur 2 dans la bonne position myservo3.write(val3); // mettre le servomoteur 3 dans la bonne position delay(5); // attendre que les servomoteurs aillent dans leur position }
Schéma général :
Attention une erreur s'est glissée dans le schéma : les potentiomètre ne sont pas alimentés, hors il doivent être connectés (une patte en rouge, une noir et l'autre, pour la valeur de la résistance). Fichier:Schema bras robotisé.jpg
- Câblage des potentiomètres :
1) Aligner les potentiomètres sur la plaque Labdec.
2) Câbler les potentiomètres. On utilisera les entrées 0, 1 et 2 de l'arduino. La broche du milieu du potentiomètre est la commande qui sera branchée sur l'arduino, pour les deux autres, une sera connectée au + et une au -.
Astuce : utiliser une source + et – sur la plaque Labdec
- Câblage des servomoteurs :
On utilisera les sorties 9, 10 et 11 de l'arduino. Brancher la borne orange ou blanche du servomoteur sur la sortie correspondante de l'arduino, la borne rouge du servomoteur sur le + et la noire ou marron sur le -.
- Fabriquer un socle pour le servomoteur qui fera tourner le bras sur lui-même.
On peut utiliser du carton et de la colle.
- Fixer le deuxième servomoteur sur la platine du premier.
- Fabriquer un bras qui sera fixé sur la platine du deuxième servomoteur.
On peut utiliser du carton rigide ou des pics à brochette, comme sur la vidéo.
- Fixer le troisième servomoteur sur ce bras.
- Fabriquer le dernier bras à fixer sur le dernier servomoteur.
/!\ Utiliser une alimentation extérieure pour l'arduino, l'alimentation par la prise USB de l'ordinateur n'étant pas suffisante.
1) Tourner un des potentiomètres dans un sens, le servomoteur correspondant fait bouger le bras !
2) Tourner le même potentiomètre dans l'autre sens, le servomoteur correspondant fait bouger le bras dans l'autre sens !
Il est possible d'ajouter autant de servomoteurs que l'on veut en ajustant le code à mettre dans l'arduino.
Il est également possible de piloter autre chose que des servomoteurs, comme un moteur continu par exemple.
On obtient un petit bras robotisé où chaque articulation est pilotée par un potentiomètre.
Quand on tourne un potentiomètre, on envoie une information à l'Arduino. Ce dernier utilise le code que l'on lui a transmis via le câble USB pour traduire cette information en commande pour le servo-moteur. Le signal envoyé par le potentiomètre est un signal analogique (continu, c'est-à-dire constitué d'une infinité de valeurs). Le signal envoyé au servo-moteur est un signal numérique (discret, c'est-à-dire constitué d'un nombre limité de valeurs).
Développons les concepts scientifiques associés. Ne pas hésiter à faire des liens avec Wikipédia.
Robotique industrielle, exploration spatiale.
© Graphisme : Les Petits Débrouillards Grand Ouest (Patrice Guinche - Jessica Romero) | Développement web : Libre Informatique