***
Mise à jour le 09/06/2015
Dans cet article vous trouverez la vidéo , le schéma de câblage et le programme de test de la main .
Programme de test de la main avec les différents paramètres
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
// // /* ******************************************************** * Teste de la main type Terminator * * * * RedOhm * * Herve Mazelin & Louis leca * ******************************************************** */ // Pour inclure la librairie Servo dans un programme // on ajoutera au début du programme la ligne suivante : #include <Servo.h> Servo servo5; // déclaration d'une variable de type Servo5 Servo servo6; // déclaration d'une variable de type Servo6 Servo servo7; // déclaration d'une variable de type Servo7 Servo servo8; // déclaration d'une variable de type Servo8 Servo servo9; // déclaration d'une variable de type Servo9 // la broches analogique 0 est utilisée pour raccorder le potentiomètre int potpin = 0; // la variable val+doigt pour stocker la valeur de la broche analogique 0 int valauriculaire; int valannulaire; int valmajeur; int valpouce; int valindex; void setup() { // ouvre le port série et fixe le debit de communication à 9600 bauds Serial.begin(9600); // Attache un objet de type Servo à une broche servo5.attach(5); // attache la variable Servo à la broche 5 auriculaire servo6.attach(6); // attache la variable Servo à la broche 6 annulaire servo7.attach(7); // attache la variable Servo à la broche 7 majeur servo8.attach(8); // attache la variable Servo à la broche 8 index servo9.attach(9); // attache la variable Servo à la broche 9 pouce } void loop() { // -------------------- auriculaire ----------------------------- // lit la valeur du potentiomètre comprise entre 0 et 1023 valauriculaire = analogRead(potpin); // Ré-étalonne la valeur entre 0 et 1023 du potentiométre sur une // fourchette comprise entre 120 et 175 valauriculaire = map(valauriculaire, 0, 1023, 120, 175); //définit la position d'asservissement en fonction de la valeur //de mise à l'échelle servo5.write(valauriculaire); // -------------------- annulaire ----------------------------- // lit la valeur du potentiomètre comprise entre 0 et 1023 valannulaire = analogRead(potpin); // Ré-étalonne la valeur entre 0 et 1023 du potentiométre sur une // fourchette comprise entre 130 et 178 valannulaire=map(valannulaire,0,1023,130,178); //définit la position d'asservissement en fonction de la valeur //de mise à l'échelle servo6.write(valannulaire); // -------------------- majeur ----------------------------- // lit la valeur du potentiomètre comprise entre 0 et 1023 valmajeur = analogRead(potpin); // Ré-étalonne la valeur entre 0 et 1023 du potentiométre sur une // fourchette comprise entre 130 et 178 valmajeur=map(valmajeur,0,1023,130,178); //définit la position d'asservissement en fonction de la valeur //de mise à l'échelle servo7.write(valmajeur); //---------------- index ------------------------------------ // lit la valeur du potentiomètre comprise entre 0 et 1023 valindex = analogRead(potpin); // Ré-étalonne la valeur entre 0 et 1023 du potentiométre sur une // fourchette comprise entre 127 et 178 valindex=map(valindex, 0, 1023, 127, 178); //définit la position d'asservissement en fonction de la valeur //de mise à l'échelle servo8.write(valindex); // ----------------pouce ------------------------------------ // lit la valeur du potentiomètre comprise entre 0 et 1023 valpouce = analogRead(potpin); // Ré-étalonne la valeur entre 0 et 1023 du potentiométre sur une // fourchette comprise entre 175 et 140 valpouce = map(valpouce, 0, 1023, 175, 140); //définit la position d'asservissement en fonction de la valeur //de mise à l'échelle attention a l'inversion des valeurs servo9.write(valpouce); Serial.println("position de l'auriculaire"); Serial.println(valauriculaire); Serial.println("position de l'annulaire"); Serial.println(valannulaire); Serial.println("position du majeur"); Serial.println(valmajeur); Serial.println("position de l'index"); Serial.println(valindex); Serial.println("position du pouce"); Serial.println(valpouce); // tempo pour attendre le positionnement du servo delay(10); } |