Bras robotisé

De Wikidebrouillard.

Article incomplet en cours de rédaction
La vidéo "Bras robotisé"


Sommaire

Présentation de l'expérience

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 !

Matériel

L'expérience

La réalisation

  • Partie programmation

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
} 
  • Partie électrique

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).

- 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 -.

  • Partie fabrication

- 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.

La manipulation

/!\ 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 !

Pour aller plus loin

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.

Que voit-on ?

On obtient un petit bras robotisé où chaque articulation est pilotée par un potentiomètre.

Explications

De manière simple

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).

Allons plus loin dans l'explication

Développons les concepts scientifiques associés.
Ne pas hésiter à faire des liens avec Wikipédia.

Applications : liens avec le quotidien

Robotique industrielle, exploration spatiale.

Catégories

Portail des ExplorateursWikidébrouillardLéon DitFLOGPhoto mystèreJ'ai FaitPortraitsAnnuaire
AR
CO

Bras robotisé

Rechercher

Page Discussion Historique
Powered by MediaWiki
Creative Commons - Paternite Partage a l

© Graphisme : Les Petits Débrouillards Grand Ouest (Patrice Guinche - Jessica Romero) | Développement web : Libre Informatique