![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Pousse-seringue Ulg
Dependencies: FSR Pousse_Seringue mbed
Fork of Pousse_seringue_Ulg by
main.cpp@0:dd840e8b1a2a, 2016-06-27 (annotated)
- Committer:
- philipperenoire
- Date:
- Mon Jun 27 09:34:52 2016 +0000
- Revision:
- 0:dd840e8b1a2a
- Child:
- 1:b5b006e4cd59
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
philipperenoire | 0:dd840e8b1a2a | 1 | |
philipperenoire | 0:dd840e8b1a2a | 2 | #include "mbed.h" |
philipperenoire | 0:dd840e8b1a2a | 3 | #include "Stepper.h" |
philipperenoire | 0:dd840e8b1a2a | 4 | #include "FSR.h" |
philipperenoire | 0:dd840e8b1a2a | 5 | #define pi 3.141592653589793 |
philipperenoire | 0:dd840e8b1a2a | 6 | |
philipperenoire | 0:dd840e8b1a2a | 7 | FSR gauge1(PA_1, 10); // A1 Strain gauge, a 10k resistor is used |
philipperenoire | 0:dd840e8b1a2a | 8 | FSR gauge2(PA_4, 10); // A2 Strain gauge |
philipperenoire | 0:dd840e8b1a2a | 9 | DigitalIn home(PA_9); // D8 |
philipperenoire | 0:dd840e8b1a2a | 10 | DigitalIn switch1(PB_3); // D3 Switch => Rouge |
philipperenoire | 0:dd840e8b1a2a | 11 | DigitalIn switch2(PB_5); // D4 Switch => Noir |
philipperenoire | 0:dd840e8b1a2a | 12 | InterruptIn switch3(PA_10); // D2 Switch => Vert |
philipperenoire | 0:dd840e8b1a2a | 13 | Stepper mot(PB_6, PC_7); // D10 D9 motor :NEMA 17 |
philipperenoire | 0:dd840e8b1a2a | 14 | DigitalOut myled(LED2); |
philipperenoire | 0:dd840e8b1a2a | 15 | Serial s(SERIAL_TX, SERIAL_RX); |
philipperenoire | 0:dd840e8b1a2a | 16 | |
philipperenoire | 0:dd840e8b1a2a | 17 | |
philipperenoire | 0:dd840e8b1a2a | 18 | int main() |
philipperenoire | 0:dd840e8b1a2a | 19 | { |
philipperenoire | 0:dd840e8b1a2a | 20 | ////////////////// Initialisation ////////////////// |
philipperenoire | 0:dd840e8b1a2a | 21 | float entree = 0; |
philipperenoire | 0:dd840e8b1a2a | 22 | int mode = 0; // Pousser (1) ou tirer (2) |
philipperenoire | 0:dd840e8b1a2a | 23 | float vitesse = 0; // vitesse d'avance |
philipperenoire | 0:dd840e8b1a2a | 24 | float avance = 0; // avance, nombre de pas à realiser |
philipperenoire | 0:dd840e8b1a2a | 25 | int vol_ou_deb = 0; // travailler en volume (1) ou en debit (2) |
philipperenoire | 0:dd840e8b1a2a | 26 | float section = 0; // section de la seringue |
philipperenoire | 0:dd840e8b1a2a | 27 | float volume = 0; // volume demande |
philipperenoire | 0:dd840e8b1a2a | 28 | float debit = 0; // debit demande |
philipperenoire | 0:dd840e8b1a2a | 29 | mot.setSpeed(80000); // vitesse max <!> NE PAS METTRE DE MICROPAS <!> |
philipperenoire | 0:dd840e8b1a2a | 30 | int paire=0; |
philipperenoire | 0:dd840e8b1a2a | 31 | int change=0; |
philipperenoire | 0:dd840e8b1a2a | 32 | |
philipperenoire | 0:dd840e8b1a2a | 33 | ////////////////// Mode : Pousser ou tirer ? ////////////////// |
philipperenoire | 0:dd840e8b1a2a | 34 | printf("Bonjour utilisateur, quel mode souhaitez-vous utiliser :\n"); |
philipperenoire | 0:dd840e8b1a2a | 35 | printf("Pour vider une seringue de son contenu, tapez 1 \n"); |
philipperenoire | 0:dd840e8b1a2a | 36 | printf("Pour remplir une seringue, tapez 2 \n"); |
philipperenoire | 0:dd840e8b1a2a | 37 | scanf("%d", &mode); // Choix du mode |
philipperenoire | 0:dd840e8b1a2a | 38 | while( mode != 1 && mode != 2) |
philipperenoire | 0:dd840e8b1a2a | 39 | { // Verifie que l'entree est correcte |
philipperenoire | 0:dd840e8b1a2a | 40 | printf("Une erreur s'est produite quelque part.\n"); |
philipperenoire | 0:dd840e8b1a2a | 41 | printf("Pour vider une seringue de son contenu, tapez 1 \n"); |
philipperenoire | 0:dd840e8b1a2a | 42 | printf("Pour remplir une seringue, tapez 2 \n"); |
philipperenoire | 0:dd840e8b1a2a | 43 | scanf("%d", &mode); |
philipperenoire | 0:dd840e8b1a2a | 44 | } |
philipperenoire | 0:dd840e8b1a2a | 45 | |
philipperenoire | 0:dd840e8b1a2a | 46 | ////////////////// Si pousser : placement du chariot ////////////////// |
philipperenoire | 0:dd840e8b1a2a | 47 | if (mode == 1) // On retourne vers le moteur puis on avance jusqu'à toucher la seringue |
philipperenoire | 0:dd840e8b1a2a | 48 | { |
philipperenoire | 0:dd840e8b1a2a | 49 | mot.rotate(0); // Sens de rotation : 1 = pousser, 0 = tirer |
philipperenoire | 0:dd840e8b1a2a | 50 | while (switch2 == 0 && switch3 == 0) // Tant que pas à fond à gauche (côte moteur) ou switch3 pas enfonce, on continue |
philipperenoire | 0:dd840e8b1a2a | 51 | { |
philipperenoire | 0:dd840e8b1a2a | 52 | } |
philipperenoire | 0:dd840e8b1a2a | 53 | mot.stop(); |
philipperenoire | 0:dd840e8b1a2a | 54 | printf("Veuillez placez la seringue. \n Une fois la seringue mise en place, tapez 1\n"); |
philipperenoire | 0:dd840e8b1a2a | 55 | scanf("%f", &entree); |
philipperenoire | 0:dd840e8b1a2a | 56 | while( entree != 1) { // Verifie que l'entree est correcte |
philipperenoire | 0:dd840e8b1a2a | 57 | printf("L'entree est incorrecte.\n"); |
philipperenoire | 0:dd840e8b1a2a | 58 | printf("Une fois la seringue mise en place, tapez 1\n"); |
philipperenoire | 0:dd840e8b1a2a | 59 | scanf("%f", &entree); |
philipperenoire | 0:dd840e8b1a2a | 60 | } |
philipperenoire | 0:dd840e8b1a2a | 61 | mot.rotate(1); // Puis on repart dans l'autre sens. |
philipperenoire | 0:dd840e8b1a2a | 62 | while(gauge1.readRaw() <= 0.4 && switch1 == 0) //Tant que le contacte n'a pas eu lieu |
philipperenoire | 0:dd840e8b1a2a | 63 | { |
philipperenoire | 0:dd840e8b1a2a | 64 | } |
philipperenoire | 0:dd840e8b1a2a | 65 | mot.stop(); |
philipperenoire | 0:dd840e8b1a2a | 66 | printf("Le contact entre la seringue et la fixation est realise\n"); |
philipperenoire | 0:dd840e8b1a2a | 67 | } |
philipperenoire | 0:dd840e8b1a2a | 68 | |
philipperenoire | 0:dd840e8b1a2a | 69 | ////////////////// Si tirer : placement du chariot ////////////////// |
philipperenoire | 0:dd840e8b1a2a | 70 | if (mode == 2) // Si tirer |
philipperenoire | 0:dd840e8b1a2a | 71 | { |
philipperenoire | 0:dd840e8b1a2a | 72 | mot.rotate(1); // Sens de rotation : 1 = pousser, 0 = tirer |
philipperenoire | 0:dd840e8b1a2a | 73 | while (switch1 == 0 && switch3 == 0) // Tant que pas à fond à droite (côte seringue) ou switch3 pas enfonce, on continue |
philipperenoire | 0:dd840e8b1a2a | 74 | { |
philipperenoire | 0:dd840e8b1a2a | 75 | } |
philipperenoire | 0:dd840e8b1a2a | 76 | mot.stop(); |
philipperenoire | 0:dd840e8b1a2a | 77 | printf("Veuillez placez la seringue. \n Une fois la seringue mise en place, tapez 1\n"); |
philipperenoire | 0:dd840e8b1a2a | 78 | scanf("%f", &entree); |
philipperenoire | 0:dd840e8b1a2a | 79 | while( entree != 1) { // Verifie que l'entree est correcte |
philipperenoire | 0:dd840e8b1a2a | 80 | printf("L'entree est incorrecte.\n"); |
philipperenoire | 0:dd840e8b1a2a | 81 | printf("Une fois la seringue mise en place, tapez 1\n"); |
philipperenoire | 0:dd840e8b1a2a | 82 | scanf("%f", &entree); |
philipperenoire | 0:dd840e8b1a2a | 83 | } |
philipperenoire | 0:dd840e8b1a2a | 84 | mot.rotate(0); // Puis on repart dans l'autre sens. |
philipperenoire | 0:dd840e8b1a2a | 85 | while(gauge2.readRaw() <= 0.4 && switch2 == 0) //Tant que le contacte n'a pas eu lieu |
philipperenoire | 0:dd840e8b1a2a | 86 | { |
philipperenoire | 0:dd840e8b1a2a | 87 | } |
philipperenoire | 0:dd840e8b1a2a | 88 | mot.stop(); |
philipperenoire | 0:dd840e8b1a2a | 89 | printf("Le contact entre la seringue et la fixation est realise.\n"); |
philipperenoire | 0:dd840e8b1a2a | 90 | } |
philipperenoire | 0:dd840e8b1a2a | 91 | |
philipperenoire | 0:dd840e8b1a2a | 92 | ////////////////// Actionnement de la seringue ////////////////// |
philipperenoire | 0:dd840e8b1a2a | 93 | |
philipperenoire | 0:dd840e8b1a2a | 94 | printf("Voulez-vous travailler en volume ou en debit?\n"); |
philipperenoire | 0:dd840e8b1a2a | 95 | printf("Pour travailler en volume, tapez 1 \n"); |
philipperenoire | 0:dd840e8b1a2a | 96 | printf("Pour travailler en debit, tapez 2 \n"); |
philipperenoire | 0:dd840e8b1a2a | 97 | scanf("%d", &vol_ou_deb); // choix : travailler en volume ou en debit |
philipperenoire | 0:dd840e8b1a2a | 98 | while( vol_ou_deb != 1 && vol_ou_deb != 2) // Verifie que l'entree est correcte |
philipperenoire | 0:dd840e8b1a2a | 99 | { |
philipperenoire | 0:dd840e8b1a2a | 100 | printf("Une erreur s'est produite quelque part \n"); |
philipperenoire | 0:dd840e8b1a2a | 101 | printf("Pour travailler en volume, tapez 1 \n"); |
philipperenoire | 0:dd840e8b1a2a | 102 | printf("Pour travailler en debit, tapez 2 \n"); |
philipperenoire | 0:dd840e8b1a2a | 103 | scanf("%d", &vol_ou_deb); |
philipperenoire | 0:dd840e8b1a2a | 104 | } |
philipperenoire | 0:dd840e8b1a2a | 105 | |
philipperenoire | 0:dd840e8b1a2a | 106 | //>>>>>>> VOLUME |
philipperenoire | 0:dd840e8b1a2a | 107 | if (vol_ou_deb == 1 ) |
philipperenoire | 0:dd840e8b1a2a | 108 | { |
philipperenoire | 0:dd840e8b1a2a | 109 | printf("Veuillez maintenant indiquer le diamètre de la seringue s'il vous plait [mm].\n"); |
philipperenoire | 0:dd840e8b1a2a | 110 | scanf("%f", §ion); |
philipperenoire | 0:dd840e8b1a2a | 111 | while( section < 0 || section > 1000) // Verifie que l'entree est correcte |
philipperenoire | 0:dd840e8b1a2a | 112 | { |
philipperenoire | 0:dd840e8b1a2a | 113 | printf("Une erreur s'est produite quelque part.\n"); |
philipperenoire | 0:dd840e8b1a2a | 114 | printf("Veuillez indiquer le diametre de la seringue s'il vous plait [mm^2].\n"); |
philipperenoire | 0:dd840e8b1a2a | 115 | scanf("%f", §ion); |
philipperenoire | 0:dd840e8b1a2a | 116 | } |
philipperenoire | 0:dd840e8b1a2a | 117 | printf("Merci, veuillez maintenant indiquer le volume voulu s'il vous plait [micro-litre].\n"); |
philipperenoire | 0:dd840e8b1a2a | 118 | scanf("%f", &volume); |
philipperenoire | 0:dd840e8b1a2a | 119 | while( volume < 0 && volume > 500000) // Verifie que l'entree est correcte |
philipperenoire | 0:dd840e8b1a2a | 120 | { |
philipperenoire | 0:dd840e8b1a2a | 121 | printf("Une erreur s'est produite quelque part.\n"); |
philipperenoire | 0:dd840e8b1a2a | 122 | printf("Veuillez indiquer le volume voulu s'il vous plait [micro-litre]. \n"); |
philipperenoire | 0:dd840e8b1a2a | 123 | scanf("%f", &volume); |
philipperenoire | 0:dd840e8b1a2a | 124 | } |
philipperenoire | 0:dd840e8b1a2a | 125 | avance = 376500*volume/(0.25*pi*section*section)//+1000; // Sans micro-pas : 376500 = 1mm; avec micro-pas 192000 = 1mm |
philipperenoire | 0:dd840e8b1a2a | 126 | } |
philipperenoire | 0:dd840e8b1a2a | 127 | //>>>>>>> DEBIT |
philipperenoire | 0:dd840e8b1a2a | 128 | if (vol_ou_deb == 2 ) |
philipperenoire | 0:dd840e8b1a2a | 129 | { |
philipperenoire | 0:dd840e8b1a2a | 130 | printf("Veuillez maintenant indiquer le diametre de la seringue s'il vous plait [mm].\n"); |
philipperenoire | 0:dd840e8b1a2a | 131 | scanf("%f", §ion); |
philipperenoire | 0:dd840e8b1a2a | 132 | while( section < 0 || section > 1000) // Verifie que l'entree est correcte |
philipperenoire | 0:dd840e8b1a2a | 133 | { |
philipperenoire | 0:dd840e8b1a2a | 134 | printf("Une erreur s'est produite quelque part.\n"); |
philipperenoire | 0:dd840e8b1a2a | 135 | printf("Veuillez indiquer le diametre de la seringue s'il vous plait [mm].\n"); |
philipperenoire | 0:dd840e8b1a2a | 136 | scanf("%f", §ion); |
philipperenoire | 0:dd840e8b1a2a | 137 | } |
philipperenoire | 0:dd840e8b1a2a | 138 | printf("Merci, veuillez maintenant indiquer le debit voulu s'il vous plait [micro-litre/ seconde].\n"); |
philipperenoire | 0:dd840e8b1a2a | 139 | scanf("%f", &debit); |
philipperenoire | 0:dd840e8b1a2a | 140 | while( debit < 0 && debit > 2) // Verifie que l'entree est correcte |
philipperenoire | 0:dd840e8b1a2a | 141 | { |
philipperenoire | 0:dd840e8b1a2a | 142 | printf("Une erreur s'est produite quelque part.\n"); |
philipperenoire | 0:dd840e8b1a2a | 143 | printf("Veuillez indiquer le debit voulu s'il vous plait [micro-litre/seconde]. \n"); |
philipperenoire | 0:dd840e8b1a2a | 144 | scanf("%f", &debit); |
philipperenoire | 0:dd840e8b1a2a | 145 | } |
philipperenoire | 0:dd840e8b1a2a | 146 | vitesse = 376500*debit/(0.25*pi*section*section); //Si pas de micro-pas 192000 si micro-pas. |
philipperenoire | 0:dd840e8b1a2a | 147 | } |
philipperenoire | 0:dd840e8b1a2a | 148 | |
philipperenoire | 0:dd840e8b1a2a | 149 | /////////////////// Si pousser ////////////////// |
philipperenoire | 0:dd840e8b1a2a | 150 | if (mode == 1) |
philipperenoire | 0:dd840e8b1a2a | 151 | { |
philipperenoire | 0:dd840e8b1a2a | 152 | //>>>>>>> VOLUME |
philipperenoire | 0:dd840e8b1a2a | 153 | if (vol_ou_deb == 1) // Si on travaille en VOLUME |
philipperenoire | 0:dd840e8b1a2a | 154 | { |
philipperenoire | 0:dd840e8b1a2a | 155 | printf("Demarrage de l'operation.\n"); |
philipperenoire | 0:dd840e8b1a2a | 156 | mot.rotate(1); // Sens de rotation : 1 = pousser 0 = tirer |
philipperenoire | 0:dd840e8b1a2a | 157 | mot.setPositionZero(); |
philipperenoire | 0:dd840e8b1a2a | 158 | mot.goesTo(avance); |
philipperenoire | 0:dd840e8b1a2a | 159 | |
philipperenoire | 0:dd840e8b1a2a | 160 | while(switch1==0) |
philipperenoire | 0:dd840e8b1a2a | 161 | { |
philipperenoire | 0:dd840e8b1a2a | 162 | if(switch3==1 && paire==0) |
philipperenoire | 0:dd840e8b1a2a | 163 | { |
philipperenoire | 0:dd840e8b1a2a | 164 | mot.stop(); |
philipperenoire | 0:dd840e8b1a2a | 165 | printf(" ");//printf("Arret temporaire"); |
philipperenoire | 0:dd840e8b1a2a | 166 | change = 1; |
philipperenoire | 0:dd840e8b1a2a | 167 | } |
philipperenoire | 0:dd840e8b1a2a | 168 | if (switch3 == 0 & change == 1) |
philipperenoire | 0:dd840e8b1a2a | 169 | { |
philipperenoire | 0:dd840e8b1a2a | 170 | paire = paire +1; |
philipperenoire | 0:dd840e8b1a2a | 171 | paire = paire % 2; |
philipperenoire | 0:dd840e8b1a2a | 172 | change = 0; |
philipperenoire | 0:dd840e8b1a2a | 173 | } |
philipperenoire | 0:dd840e8b1a2a | 174 | if (switch3 == 1 && paire == 1) |
philipperenoire | 0:dd840e8b1a2a | 175 | { |
philipperenoire | 0:dd840e8b1a2a | 176 | printf(" ");//printf("Redemarrage"); |
philipperenoire | 0:dd840e8b1a2a | 177 | mot.rotate(1); |
philipperenoire | 0:dd840e8b1a2a | 178 | mot.goesTo(avance); |
philipperenoire | 0:dd840e8b1a2a | 179 | change = 1; |
philipperenoire | 0:dd840e8b1a2a | 180 | } |
philipperenoire | 0:dd840e8b1a2a | 181 | } |
philipperenoire | 0:dd840e8b1a2a | 182 | } |
philipperenoire | 0:dd840e8b1a2a | 183 | |
philipperenoire | 0:dd840e8b1a2a | 184 | //>>>>>>> DEBIT |
philipperenoire | 0:dd840e8b1a2a | 185 | if (vol_ou_deb == 2) // Si on travaille en debit |
philipperenoire | 0:dd840e8b1a2a | 186 | { |
philipperenoire | 0:dd840e8b1a2a | 187 | printf("Demarrage de l'operation.\n"); |
philipperenoire | 0:dd840e8b1a2a | 188 | mot.setSpeed(vitesse); |
philipperenoire | 0:dd840e8b1a2a | 189 | mot.rotate(1); // Sens de rotation : 1 = pousser 0 = tirer. |
philipperenoire | 0:dd840e8b1a2a | 190 | while (switch1 == 0) // Arret si fin de course |
philipperenoire | 0:dd840e8b1a2a | 191 | { |
philipperenoire | 0:dd840e8b1a2a | 192 | if(switch3==1 && paire==0) |
philipperenoire | 0:dd840e8b1a2a | 193 | { |
philipperenoire | 0:dd840e8b1a2a | 194 | mot.stop(); |
philipperenoire | 0:dd840e8b1a2a | 195 | printf(" ");//printf("Arret temporaire"); |
philipperenoire | 0:dd840e8b1a2a | 196 | change = 1; |
philipperenoire | 0:dd840e8b1a2a | 197 | } |
philipperenoire | 0:dd840e8b1a2a | 198 | if (switch3 == 0 & change == 1) |
philipperenoire | 0:dd840e8b1a2a | 199 | { |
philipperenoire | 0:dd840e8b1a2a | 200 | paire = paire +1; |
philipperenoire | 0:dd840e8b1a2a | 201 | paire = paire % 2; |
philipperenoire | 0:dd840e8b1a2a | 202 | change = 0; |
philipperenoire | 0:dd840e8b1a2a | 203 | } |
philipperenoire | 0:dd840e8b1a2a | 204 | if (switch3 == 1 && paire == 1) |
philipperenoire | 0:dd840e8b1a2a | 205 | { |
philipperenoire | 0:dd840e8b1a2a | 206 | printf(" ");//printf("Redemarrage"); |
philipperenoire | 0:dd840e8b1a2a | 207 | mot.setSpeed(vitesse); |
philipperenoire | 0:dd840e8b1a2a | 208 | mot.rotate(1); |
philipperenoire | 0:dd840e8b1a2a | 209 | change = 1; |
philipperenoire | 0:dd840e8b1a2a | 210 | } |
philipperenoire | 0:dd840e8b1a2a | 211 | } |
philipperenoire | 0:dd840e8b1a2a | 212 | mot.stop(); |
philipperenoire | 0:dd840e8b1a2a | 213 | printf("Fin de l'operation."); |
philipperenoire | 0:dd840e8b1a2a | 214 | } |
philipperenoire | 0:dd840e8b1a2a | 215 | } |
philipperenoire | 0:dd840e8b1a2a | 216 | /////////////////// Si tirer ////////////////// |
philipperenoire | 0:dd840e8b1a2a | 217 | |
philipperenoire | 0:dd840e8b1a2a | 218 | if (mode == 2) |
philipperenoire | 0:dd840e8b1a2a | 219 | { |
philipperenoire | 0:dd840e8b1a2a | 220 | //>>>>>>> VOLUME |
philipperenoire | 0:dd840e8b1a2a | 221 | if (vol_ou_deb == 1) // Si on travaille en VOLUME |
philipperenoire | 0:dd840e8b1a2a | 222 | { |
philipperenoire | 0:dd840e8b1a2a | 223 | printf("Demarrage de l'operation.\n"); |
philipperenoire | 0:dd840e8b1a2a | 224 | mot.rotate(0); // Sens de rotation : 1 = pousser 0 = tirer |
philipperenoire | 0:dd840e8b1a2a | 225 | mot.setPositionZero(); |
philipperenoire | 0:dd840e8b1a2a | 226 | mot.goesTo(avance); |
philipperenoire | 0:dd840e8b1a2a | 227 | |
philipperenoire | 0:dd840e8b1a2a | 228 | while(switch2==0) |
philipperenoire | 0:dd840e8b1a2a | 229 | { |
philipperenoire | 0:dd840e8b1a2a | 230 | if(switch3==1 && paire==0) |
philipperenoire | 0:dd840e8b1a2a | 231 | { |
philipperenoire | 0:dd840e8b1a2a | 232 | mot.stop(); |
philipperenoire | 0:dd840e8b1a2a | 233 | printf(" ");//printf("Arret temporaire"); |
philipperenoire | 0:dd840e8b1a2a | 234 | change = 1; |
philipperenoire | 0:dd840e8b1a2a | 235 | } |
philipperenoire | 0:dd840e8b1a2a | 236 | if (switch3 == 0 & change == 1) |
philipperenoire | 0:dd840e8b1a2a | 237 | { |
philipperenoire | 0:dd840e8b1a2a | 238 | paire = paire +1; |
philipperenoire | 0:dd840e8b1a2a | 239 | paire = paire % 2; |
philipperenoire | 0:dd840e8b1a2a | 240 | change = 0; |
philipperenoire | 0:dd840e8b1a2a | 241 | } |
philipperenoire | 0:dd840e8b1a2a | 242 | if (switch3 == 1 && paire == 1) |
philipperenoire | 0:dd840e8b1a2a | 243 | { |
philipperenoire | 0:dd840e8b1a2a | 244 | printf(" ");//printf("Redemarrage"); |
philipperenoire | 0:dd840e8b1a2a | 245 | mot.rotate(0); |
philipperenoire | 0:dd840e8b1a2a | 246 | mot.goesTo(avance); |
philipperenoire | 0:dd840e8b1a2a | 247 | change = 1; |
philipperenoire | 0:dd840e8b1a2a | 248 | } |
philipperenoire | 0:dd840e8b1a2a | 249 | } |
philipperenoire | 0:dd840e8b1a2a | 250 | } |
philipperenoire | 0:dd840e8b1a2a | 251 | |
philipperenoire | 0:dd840e8b1a2a | 252 | //>>>>>>> DEBIT |
philipperenoire | 0:dd840e8b1a2a | 253 | if (vol_ou_deb == 2) // Si on travaille en debit |
philipperenoire | 0:dd840e8b1a2a | 254 | { |
philipperenoire | 0:dd840e8b1a2a | 255 | printf("Demarrage de l'operation.\n"); |
philipperenoire | 0:dd840e8b1a2a | 256 | mot.setSpeed(vitesse); |
philipperenoire | 0:dd840e8b1a2a | 257 | mot.rotate(0); // Sens de rotation : 1 = pousser 0 = tirer. |
philipperenoire | 0:dd840e8b1a2a | 258 | //printf("Je tire. \n"); |
philipperenoire | 0:dd840e8b1a2a | 259 | while (switch2 ==0) // Arret si fin de course |
philipperenoire | 0:dd840e8b1a2a | 260 | { |
philipperenoire | 0:dd840e8b1a2a | 261 | if(switch3==1 && paire==0) |
philipperenoire | 0:dd840e8b1a2a | 262 | { |
philipperenoire | 0:dd840e8b1a2a | 263 | mot.stop(); |
philipperenoire | 0:dd840e8b1a2a | 264 | printf(" ");//printf("Arret temporaire"); |
philipperenoire | 0:dd840e8b1a2a | 265 | change = 1; |
philipperenoire | 0:dd840e8b1a2a | 266 | } |
philipperenoire | 0:dd840e8b1a2a | 267 | if (switch3 == 0 & change == 1) |
philipperenoire | 0:dd840e8b1a2a | 268 | { |
philipperenoire | 0:dd840e8b1a2a | 269 | paire = paire +1; |
philipperenoire | 0:dd840e8b1a2a | 270 | paire = paire % 2; |
philipperenoire | 0:dd840e8b1a2a | 271 | change = 0; |
philipperenoire | 0:dd840e8b1a2a | 272 | } |
philipperenoire | 0:dd840e8b1a2a | 273 | if (switch3 == 1 && paire == 1) |
philipperenoire | 0:dd840e8b1a2a | 274 | { |
philipperenoire | 0:dd840e8b1a2a | 275 | printf(" ");//printf("Redemarrage"); |
philipperenoire | 0:dd840e8b1a2a | 276 | mot.setSpeed(vitesse); |
philipperenoire | 0:dd840e8b1a2a | 277 | mot.rotate(0); |
philipperenoire | 0:dd840e8b1a2a | 278 | change = 1; |
philipperenoire | 0:dd840e8b1a2a | 279 | } |
philipperenoire | 0:dd840e8b1a2a | 280 | } |
philipperenoire | 0:dd840e8b1a2a | 281 | } |
philipperenoire | 0:dd840e8b1a2a | 282 | } |
philipperenoire | 0:dd840e8b1a2a | 283 | } |