Ceci est une ancienne révision du document !
Ce projet vise à réaliser une main robotique commandable à distance par le biais de cartes Arduino. L'utilisateur commande la main robotique à l'aide d'un gant équipé de capteurs et la transmission de données est effectuée par Bluetooth.
Projet réalisé par :
Pour ce projet, nous avons recours à diverse technologie software et hardware pour d'une part modéliser et designer les pièces nécéssaire à imprimer en 3D et d'autres part contrôler l'électronique que nous utilisons.
Cette partie vise à introduire et à décrire ces différents outils.
OpenScad
OpenSCAD est un logiciel de modélisation tridimensionnelle rudimentaire. C'est un logiciel libre qui fonctionne à la fois sous Linux, Mac OS et Microsoft Windows. Il se focalise plus sur l'aspect de conception assisté par ordinateur (CAD) que sur l'aspect artistique de la modélisation 3D.
Ce logiciel se présente sous la forme d'un éditeur de texte, d'un aperçu de la pièce en cours de modélisation et d'une console. En écrivant du code dans la partie éditeur de texte, on modifie la pièce que l'on modélise. Pour plus de détaille je vous recommande de lire ces pages :
Arduino
A l'heure où l'utilisation de microcontrôleurs est en pleine essor, il n'est pas forcément évident de les utiliser pour le grand publique. Cela requière de se plonger dans des datasheet diverses et de connaitre l'architecture et la syntaxe du mircocontrôleur que l'on souhaite utiliser. Pour palier à cela, une équipe de développeurs italiens a eu l'idée de rendre la programmation de ces microntrôleurs plus simple en construisant une carte facile d'accès et une bibliothèques de programmation plus intuitive. Ils ont rencontrés un grand succès et l'utilisation des cartes Arduino est aujourd'hui très répandu dans le monde du DIY (Do It Yourself). Par ailleurs, ces cartes font office d'une parfaite introduction si l'on souhaite se spécialiser dans le domaine de l'électronique, notamment des microncontrôleurs.
Pour utiliser ces cartes, on écrit un code informatique dans l'IDE (Integrated Development Environment) d'Arduino, puis on le “téléverse” dans la carte Arduino, c'est à dire qu'on l'envoi dans le microncontrôleur. Pour plus de détaille je vous recommande de lire ces pages :
Les servomoteurs
Les servomoteurs sont des moteurs électriques qui ont la particularité de ne tourner que de 180° et d'être facilement asservi en position. Ils sont donc parfait pour les projets de robotique comme le notre.
(en construction)
nous avons recours à plusieurs outils pour organiser au mieux notre projet :
Tout d'abord, nous avons tenté d'estimer le temps nécéssaire à la réalisation du projet en le divisant en plusieurs étapes et le représentant sous la forme d'un diagramme de Gantt. Cela nous a donc donné un certain nombre de dates clé qu'il nous faut respecter afin de pouvoir présenter le projet à la date prévue.
Nous avons également réparti les tâches de la manière la plus équitable possible afin d'avancer au plus vite.
Pour cette étape nous avons proposé deux types de prototypes pour réaliser la main commandée :
Fabrice à entièrement écrit le code OpenScad afin d'imprimer la main 3D. Nous avons pour le moment quelques doigts fonctionnels. Ce prototype est donc presque fini.
la première version de la main en latex n'a pas encore aboutie: les doigts ne se plient pas dans le bon sens et le prototype ne respecte donc pas du tout son cahier des charges. Des modifications sont donc encore à faire.
avec les “morceaux” de prototype de la main 3D, nous avons pu réaliser quelques tests avec une carte Arduino Uno et un servomoteur. Le résultat est encourageant pour le reste du projet. le code utilisé est le suivant :
#include "Servo.h"
const int ctrl_pouce = 0, ctrl_indexe= 0, ctrl_majeur= 0, ctrl_annulaire= 0, ctrl_oriculaire= 0;
Servo pouce, indexe, majeur, annulaire, oriculaire;
void setup()
{
indexe.attach(2);
Serial.begin(9600);
}
void loop()
{
int val_indexe = analogRead(ctrl_indexe);
int angle = map(val_indexe, 0, 1023, 0, 180);
indexe.write(angle);
Serial.println(angle);
delay(100);
}