Go Down

Topic: projet main robotisé (Read 3 times) previous topic - next topic

anthology

voila je suis en train d'essayer de faire une main robotisé
c'est a dire que sur ma vrai main j'aurai une sorte de gants avec des capteurs etc et toute les action que je ferez seront reporté sur une main robotisé
pour le moment avec câble et surement a distance après
mais voila je bute sur diffèrent problèmes ^^
déja pour le gants a mettre sur ma main
comment savoir quand je bouge un doigts ??
j'ai pensé au accéléromètre mais dur a intégrés sur un gants sans devoir mettre tout ca dans un gants de boxe
j'ai trouvé des tout petit capteur fin de course ( qui me servent de boutons ) qui ferez pile la bonne tailles mais il faudrait que quand j'appuie dessus le servo tourne dans un sens et quand j'appuie sur un autre le servo tourne dans l'autre sens
je pense que vous voyez ce que je veut dire
je n'est aucune référence pour ses capteurs car je les est trouvé dans un vieux lecteur cd portable
sinon j'ai pensé a mettre des nappes comme sur certain appareils électronique ou le contact ce fé en posant le doit
( ca fait les contact avec 2 plaques métallique qui ce touche dés que une pression ce fait sentir )
voila donc si vous avez des idées de réalisation ou pour amélioré le tout car je me dit que des servo ca va faire gros pour une mains
voila voila
si il y a du monde dans le limousin qu'il veulent m'aidé je suis preneur ^^
merci merci

Jean-François

#1
Jun 11, 2010, 10:57 pm Last Edit: Jun 11, 2010, 10:58 pm by jfs Reason: 1
Alors attends voir.... tu t'es attaqué à d'autres projets pas trop compliqués... qui ne sont toujours pas aboutis, faute d'expérience..... fini les d'abord. Ne brules pas trop d'étapes, parce que une main robotisée comme tu l'envisages c'est un peu plus compliqué que les projets que tu n'a pas fini.

Le projet est ambitieux, mais je te mets simplement en garde, à vouloir faire trop compliqué sans avoir les bases, tu vas droit dans le mur et à force tu vas te décourager.
MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

anthology

je sais bien j'ai pas mal de projet abandonnées
surtout parce que ca marche une fois mais pas deux et j'ai pas d'explication du pk ca a marché et pk ca ne veut plus marché ( le brushless )
donc au lieu de tourné sur des petits truc je préfère m'attaquer a un truc un peu plus abouti qui donne quelque chose au final
faire tourné un brushless hormis entendre le bruit qu'il fait quand il tourne je ne voit vraiment pas ce que on peut faire d'autre avec hormis bien sur un robot etc mais la justement ca revient au même que ma main robotisé il faut pas seulement le brushless il faut d'autre chose autour
enfin c'est ma méthode de pensé ^^ et elle est pas parfaite

fdufnews

Quote
comment savoir quand je bouge un doigts ??

Capteur de flexion http://www.lextronic.fr/P3289-capteur-de-flexion.html

Jean-François

Bien vu le capteur de flexion, par contre comment avoir la position sur trois phalanges si le capteur fait 11 cm ?
MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

anthology

pas mal le capteur
je pense que c'est ca qu'il utilise sur cette vidéo http://www.youtube.com/watch?v=mrLij6TvjwY
faudrez voir comment il font pour faire bouger un servo en même temps
je pense pas que ca soit le plus dur
mais genre si je suis a la moitié de la bande j'ai 2 phalange qui bouge
si je suis entre la moitié et le bout j'ai la 3 eme phalange qui bouge mais ca peut etre une bonne idée ca
merci

Jean-François

Ce capteur ne fonctionne pas en mesurant la flexion par segment, il fonctionne sur la flexion qui sera donnée sur la totalité de la bande, donc mesurer la flexion de trois phalanges....  ::)
MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

anthology

oui ca j'avais capté
mais je sais pas comment expliqué mdr
en gros comment faire pour que suivant la résistance de la bande il bouge 1 2 ou 3 servo et pas les trois en même temps
du genre je suis a 9000Ohms je doit plié 2 phalange
je suis a 11000ohm je doit plié 3 phalange
vois tu ce que je veut dire ?

Jean-François

Comme ça :

http://arduino.cc/fr/Main/IfElse
MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

anthology

pas mal j'avoue
je vais voir pour en commandé un car si il m'en faut pour chaque doigts ca va vite être cher ^^

anthology

bon jai trouvé tout ce qu'il me faut donc potar de 10K avec les servo qui vont bien en gros un potar sur chaque articulation et de l'autre coté un servo qui bouge sur l'articulation
pour la partie construction mecanique pas de soucis mais au niveau prog un soucis
je vous mets mon code
Code: [Select]

#include <Servo.h> // librairie pour servomoteur

// --- Déclaration des constantes ---
const int POS_MIN=550; // largeur impulsion pour position 0° servomoteur
                      // POS_MIN=550 pour futaba S3003
const int POS_MAX=2330; // largeur impulsion pour position 180° servomoteur
                                    // POS_MAS=2330 pour futaba s3003

int angle_servo=0; // variable pour angle du servomoteur

// --- constantes des broches ---

const int broche_servo=2; //declaration constante de broche
const int Voie_0=0; //declaration constante de broche analogique
const int broche_servo2=3; //declaration constante de broche
const int Voie_1=1; //declaration constante de broche analogique

// --- Déclaration des variables globales ---
int mesure_brute=0;// Variable pour acquisition résultat brut de conversion analogique numérique
float mesuref=0.0;// Variable pour calcul résultat décimal de conversion analogique numérique


// --- Déclaration des objets utiles pour les fonctionnalités utilisées ---
Servo mon_servo;  // crée un objet servo pour contrôler le servomoteur
Servo mon_servo2;  // servo 2

//**************** FONCTION SETUP = Code d'initialisation *****
// La fonction setup() est exécutée en premier et 1 seule fois, au démarrage du programme

void setup()   { // debut de la fonction setup()

// --- ici instructions à exécuter au démarrage ---

mon_servo.attach(broche_servo, POS_MIN, POS_MAX);  
mon_servo2.attach(broche_servo2, POS_MIN, POS_MAX);
// attache l'objet servo à la broche de commande du servomoteur

// ------- Broches en sortie -------  

pinMode(broche_servo, OUTPUT); //met la broche en sortie
pinMode(broche_servo2, OUTPUT); //met la broche en sortie

// ------- Broches en entrée -------  


// ------- Activation du rappel au + interne des broches en entrée si nécessaire -------  


} // fin de la fonction setup()
// ********************************************************************************

//*************** FONCTION LOOP = Boucle sans fin = coeur du programme *************
// la fonction loop() s'exécute sans fin en boucle aussi longtemps que l'Arduino est sous tension

void loop(){ // debut de la fonction loop()

// --- ici instructions à exécuter par le programme principal ---

// acquisition conversion analogique numérique (100µs env.)
//sur broche analogique indiquée - résultat 10bits (0-1023)
mesure_brute=analogRead(Voie_0);

angle_servo=map(mesure_brute,0,1023,0,180);
// convertit la valeur mesurée comprise entre 0 et 1023 en un angle entre 0 et 180

// map(value, fromLow, fromHigh, toLow, toHigh); // permet changement d'échelle simplifié

mon_servo.write(angle_servo); // positionne le servo à l'angle voulu

delay (10); // pause entre 2 mesures et modif position servomoteur

} // fin de la fonction loop() - le programme recommence au début de la fonction loop sans fin
// ********************************************************************************

// --- Fin programme ---


pour bouger un servo avec un potar pas de soucis
jai voulu en rajouté un deuxieme mais seul le premier marche
une idée de quoi modifié dans mon code ??

J_C

Dans ton code, dans Loop, il n'y a que mon_servo et la mesure sur analog0. Il te manque mon_servo2 et la lecture sur analog1 de la valeur du potar.

A+
JC

anthology

merci a toi
je l'avez pas vu
fatigué je pense
je modif ca et je te dit

anthology

impecable
j'ai modifié et ca marche
seul petit soucis
dés que je touche un des potar ( potar plat ou faut passé un truc plat dedans pour le faire tourné ) mon servo vacille
une idée ??
servo mort ??
portar mort ??
merci

J_C

Peut être que tes deux servo "pompent" trop de courant. Les alimentes-tu à partir de l'Arduino ou bien d'une alimentation externe ?

A+
JC

Go Up