Différences entre les versions de « Bras manipulateur »
Ligne 173 : | Ligne 173 : | ||
:: <div style="margin-left:0cm;margin-right:0cm;"><nowiki>#define POS_INIT_EPAULE 80</nowiki></div> | :: <div style="margin-left:0cm;margin-right:0cm;"><nowiki>#define POS_INIT_EPAULE 80</nowiki></div> | ||
<div style="margin-left:0cm;margin-right:0cm;"><nowiki>#define POS_INIT_COUDE 60</nowiki></div> | :: <div style="margin-left:0cm;margin-right:0cm;"><nowiki>#define POS_INIT_COUDE 60</nowiki></div> | ||
<div style="margin-left:0cm;margin-right:0cm;"><nowiki>#define POS_INIT_POIGNET 15</nowiki></div> | :: <div style="margin-left:0cm;margin-right:0cm;"><nowiki>#define POS_INIT_POIGNET 15</nowiki></div> | ||
<div style="margin-left:0cm;margin-right:0cm;"><nowiki>#define POS_INIT_ROTPOIGNET 70</nowiki></div> | :: <div style="margin-left:0cm;margin-right:0cm;"><nowiki>#define POS_INIT_ROTPOIGNET 70</nowiki></div> | ||
<div style="margin-left:0cm;margin-right:0cm;"><nowiki>#define POS_INIT_PINCE 90</nowiki></div> | :: <div style="margin-left:0cm;margin-right:0cm;"><nowiki>#define POS_INIT_PINCE 90</nowiki></div> | ||
<div style="margin-left:0cm;margin-right:0cm;"><nowiki>#define PINCEOUVERTE POS_INIT_PINCE</nowiki></div> | :: <div style="margin-left:0cm;margin-right:0cm;"><nowiki>#define PINCEOUVERTE POS_INIT_PINCE</nowiki></div> | ||
<div style="margin-left:0cm;margin-right:0cm;"><nowiki>#define PINCEFERMEE 125</nowiki></div> | :: <div style="margin-left:0cm;margin-right:0cm;"><nowiki>#define PINCEFERMEE 125</nowiki></div> | ||
=== - Programmes : === | === - Programmes : === |
Version du 17 décembre 2016 à 17:05
← Accueil
VoLAB
Assocation VoRoBoTics
Problématique
BrasVor est un petit bras robotisé avec 6 servomoteurs 9g et une carte Arduino Uno + une carte contrôleur PWM/servo 16 canaux.
Au départ, le bras était directement commandé par l'ordinateur et le logiciel Arduino. (Voir vidéo). J'ai développé une deuxième version du bras communiquant en bluetooth à l'aide d'unmodule bluetooth HC-05, une tablette sous Android et une interface créée sous App Inventor.
Dans ce document sont abordés :
- La programmation à l'aide du logiciel Arduino :
- Servomoteur
- La compilation séparée
- Communication Bluetooth
- App Inventor permet de créer des applications Android.
Matériel
La maquette proposée n'est qu'un support et le travail peut très bien être transposable sur un autre projet (exemple : une main)
Cartes
La carte Arduino Uno est une carte à microcontrôleur basée sur l'ATmega328 (voir la fiche technique).
La carte contrôleur PWM/servo 16 canaux : L'Adafruit 16-Channel 12-bit PWM / Servo Driver conduira jusqu'à 16 servos sur I2C avec seulement 2 broches. Le contrôleur PWM intégré pilotera les 16 canaux simultanément sans aucune charge supplémentaire de traitement Arduino.
Logiciels
La librairie Adafruit_PWMServoDriver à placer dans C:\Users\nom_du_compte\Documents\Arduino\libraries
APP INVENTOR est un environnement de développement intégré permettant la création d'applications destinées à des systèmes équipés de plate-forme Androïd.
Actionneurs
6 Servomoteurs 9g, 4,8 à 6V.
Préparation
Câblage des cartes Uno, du contrôleur PWM/servo 16 canaux et module bluetooth HC-05
Repérage des branchements
Programmation
Programmation des servomoteurs
Ouvrir le fichier code source clic droit "Enregistrer la cible du lien sous ..."
La librairie externe utilisée pour les servomoteurs
Vérifier en premier la plage de rotation des moteurs
Pour travailler en degrés
La compilation séparée :
- bras_manip_rot_control_bluetooth : programme principal
- paramètre_robot.h : comme le nom l'indique, déclaration des constantes.
- fonctions_robot.h : regroupe les prototypes des fonctions ainsi que les définitions de structures ou de classes
- fonctions_robot.ccp : (pour C plus plus ou C++) regroupe le code à proprement parler, le codage de vos fonctions. C'est ici que vous écrivez le contenu de vos fonctions, ce qui est censé se passer à l'intérieur de ces dernières.
Scénario
Ouvrir le fichier code source clic droit "Enregistrer la cible du lien sous ..."
- Bibliothèque externes utilisées :
- Initialisation du système :
- La position de chaque servomoteur est définie en degrés comme suit :
- #define POS_INIT_PLATEF 130
- #define POS_INIT_EPAULE 80
- #define POS_INIT_COUDE 60
- #define POS_INIT_POIGNET 15
- #define POS_INIT_ROTPOIGNET 70
- #define POS_INIT_PINCE 90
- #define PINCEOUVERTE POS_INIT_PINCE
- #define PINCEFERMEE 125
- Programmes :
Licence
Parternité 'by' : L’œuvre peut être librement utilisée, à la condition de l'attribuer à l'auteur en citant son nom.
Note aux auteurs de documents du VoLAB, Vous avez la possibilité de changer de licence. Mais ce serait bien de rester libre et ouvert. Encore une fois ceci est une recommandation et non une obligation.
Bibliographie
Webographie
https://learn.adafruit.com/16-channel-pwm-servo-driver
http://eskimon.fr/2498-arduino-annexes-g-utiliser-module-bluetooth-hc-05
http://appinventor.mit.edu/explore/
http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.MaterielUno
http://www.mon-club-elec.fr/datasheet/micro_proc/avr/at_mega_328.pdf
http://fr.wikipedia.org/wiki/Licence_Creative_Commons
Rédaction en langue française
Partant du constat de terrain qu'une énorme masse d'information concernant les sujets qui nous intéressent comme entre autres l'impression 3D n'étaient disponibles que dans la langue de Shakespeare et que de nombreuses personnes dans notre entourage ne maîtrisaient pas la dite langue et soucieux de diffuser encore plus l'information, nous avons pris le parti, au VoLAB, de rédiger nos documents de préférence en langue française.