Contrôle d’un bras robotique Joy-It

Aujourd’hui, nous allons contrôler un bras robotique grâce à une carte Arduino et à une manette.

Matériel pour la réalisation :

  • Une carte Arduino Uno
  • Un kit GoTronic pour JoyIT comprenant :
    • Un bras robotique JoyIT
    • Une manette et son câble (à souder et monter soi-même)
    • Un jumper femelle-femelle
    • Une carte Shield Gravity V7
    • Une alimentation +5 V (câble + bornier + bloc secteur)
Joyit_mat4

Montage des éléments

Pour construire le robot, aidez-vous du guide de montage. Nous vous conseillons d’utiliser des écrous indesserrables.

Pour monter la manette, veuillez vous référer au mode d’emploi.

Insérez le Shield Gravity sur la carte Arduino Uno.

Étape 1, reliez le VCC Analogique et le VCC Digital entre eux avec le Jumper F/F. Ce raccordement est indispensable pour que tout le Shield soit correctement alimenté !

Étape 2, raccordez la manette au Shield Gravity de la façon suivante :

  • le fil GRIS  au GND
  • le fil ROSE  en D4
  • le fil ROUGE  en A2
  • le fil JAUNE en A3
  • le fil BLEU en D2
  • le fil BLANC en A1
  • le fil MARRON en A0
  • le fil VERT au VCC
Joyit_montage3

Étape 3, nous allons relier les moteurs du bras robotique au Shield Gravity. Chaque moteur est composé de 3 fils : un GND (marron), un VCC (rouge), et une sortie numérique (orange). Il faudra donc relier de la manière suivante :

Joyit_cablage

Raccordez :

  •  le moteur de la base en D6
  •  le moteur du l’épaule en D3
  •  le moteur du coude en D9
  •  le moteur du poignet en D5
  •  le moteur de la rotation de la pince en D11
  •  le moteur de l’ouverture de la pince en D10
Joyit_moteur

Fonctionnement des servomoteurs :

Le servomoteur est un moteur permettant de tourner sur une course limitée (180°).
Il se pilote par des largeurs d’impulsions. Avec Arduino, on peut contrôler ces largeurs d’impulsions grâce à l’instruction writeMicroseconds.
La plage 0° – 180° se traduit alors par 1000µs – 2000µs.

Servo3

Programme Arduino

Nous allons éditer un programme permettant de contrôler les différent moteurs du robot grâce à la manette :

  • un mouvement horizontal du Joystick gauche pilotera la base
  • un mouvement vertical du Joystick gauche pilotera le coude
  • un mouvement horizontal du Joystick droit pilotera le poignet
  • un mouvement vertical du Joystick droit pilotera l’épaule
  • les clics des Joysticks piloteront l’ouverture de la pince
  • les boutons poussoirs piloteront la rotation de la pince
JoyIT_Axes_

#include <Servo.h>

Servo base; Servo epaule; Servo coude; Servo poignet; Servo rotapince; Servo ouvepince;

int J1, J2, J3, J4;
int BP1, BP2;

int pulse1, pulse2, pulse3, pulse4, pulse5, pulse6;
int pas1, pas2, pas3, pas4;

void setup(){

base.attach(6); //sortie numérique 6
epaule.attach(3); //sortie numérique 3
coude.attach(9); //sortie numérique 9
poignet.attach(5); //sortie numérique 5
rotapince.attach(11); //sortie numérique 11
ouvepince.attach(10); //sortie numérique 10 

Mise en marche

Une fois le programme téléversé, retirez le câble USB de l’Arduino.

Câblez le bloc d’alimentation 5 V au Shield Gravity et branchez la prise au secteur.

Tout est prêt !

Démonstration
2 Commentaires
  • REVAULT
    Publié à 08:10h, 11 mars

    Bonjour Monsieur,

    J’ai construit le robot référencé 36293 (Kit bras robotique + manette Bras 01), il fonctionne très bien. Je vous félicite pour l’article que vous avez rédigé et l’ensemble de la documentation jointe qui sont très pédagogiques.
    .
    Cordialement..

  • Yohann
    Publié à 09:12h, 11 mars

    Bonjour, merci pour votre retour. Bonne journée.

Laisser un commentaire