Xavier Jannin / Mbed 2 deprecated PETIT_robot

Dependencies:   mbed

Committer:
xav_jann1
Date:
Wed May 22 16:54:27 2019 +0000
Revision:
0:1cfd66c3a181
Premiere version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
xav_jann1 0:1cfd66c3a181 1 // Eléments:
xav_jann1 0:1cfd66c3a181 2 #include "Base.h"
xav_jann1 0:1cfd66c3a181 3 #include "Servo.h"
xav_jann1 0:1cfd66c3a181 4 #include "Infra.h"
xav_jann1 0:1cfd66c3a181 5
xav_jann1 0:1cfd66c3a181 6 extern Base base;
xav_jann1 0:1cfd66c3a181 7 extern Servo servo;
xav_jann1 0:1cfd66c3a181 8 extern Infra infraFrontG;
xav_jann1 0:1cfd66c3a181 9 extern Infra infraFrontD;
xav_jann1 0:1cfd66c3a181 10 extern Infra infraBack;
xav_jann1 0:1cfd66c3a181 11 extern DigitalOut pompe;
xav_jann1 0:1cfd66c3a181 12
xav_jann1 0:1cfd66c3a181 13 // Déplacement pour côté Jaune:
xav_jann1 0:1cfd66c3a181 14 int YELLOW_steps(int state) {
xav_jann1 0:1cfd66c3a181 15 int timeOut = 3000;
xav_jann1 0:1cfd66c3a181 16
xav_jann1 0:1cfd66c3a181 17 // 0: Avant:
xav_jann1 0:1cfd66c3a181 18 if (state == 0) {
xav_jann1 0:1cfd66c3a181 19 base.forward(-1700);
xav_jann1 0:1cfd66c3a181 20 timeOut = 6000;
xav_jann1 0:1cfd66c3a181 21 }
xav_jann1 0:1cfd66c3a181 22
xav_jann1 0:1cfd66c3a181 23 // 1: Tourne:
xav_jann1 0:1cfd66c3a181 24 else if (state == 1) {
xav_jann1 0:1cfd66c3a181 25 base.turn(90.0f);
xav_jann1 0:1cfd66c3a181 26 infraFrontG.off();
xav_jann1 0:1cfd66c3a181 27 infraFrontD.off();
xav_jann1 0:1cfd66c3a181 28 infraBack.on();
xav_jann1 0:1cfd66c3a181 29 }
xav_jann1 0:1cfd66c3a181 30
xav_jann1 0:1cfd66c3a181 31 // 2: Avance vers palet:
xav_jann1 0:1cfd66c3a181 32 else if (state == 2) {
xav_jann1 0:1cfd66c3a181 33 servo.pos(10);
xav_jann1 0:1cfd66c3a181 34 base.forward(-470);
xav_jann1 0:1cfd66c3a181 35 timeOut = 3000;
xav_jann1 0:1cfd66c3a181 36 }
xav_jann1 0:1cfd66c3a181 37
xav_jann1 0:1cfd66c3a181 38 // 3: Servo:
xav_jann1 0:1cfd66c3a181 39 else if (state == 3) {
xav_jann1 0:1cfd66c3a181 40 //base.stop();
xav_jann1 0:1cfd66c3a181 41 servo.pos(45);
xav_jann1 0:1cfd66c3a181 42 timeOut = 3000;
xav_jann1 0:1cfd66c3a181 43 }
xav_jann1 0:1cfd66c3a181 44
xav_jann1 0:1cfd66c3a181 45 // 4: Recule du palet:
xav_jann1 0:1cfd66c3a181 46 else if (state == 4) {
xav_jann1 0:1cfd66c3a181 47 base.start();
xav_jann1 0:1cfd66c3a181 48 base.backward(-200);
xav_jann1 0:1cfd66c3a181 49 timeOut = 3000;
xav_jann1 0:1cfd66c3a181 50 }
xav_jann1 0:1cfd66c3a181 51
xav_jann1 0:1cfd66c3a181 52 // 5: Tourne
xav_jann1 0:1cfd66c3a181 53 else if (state == 5) {
xav_jann1 0:1cfd66c3a181 54 base.start();
xav_jann1 0:1cfd66c3a181 55 base.turn(90.0f);
xav_jann1 0:1cfd66c3a181 56 }
xav_jann1 0:1cfd66c3a181 57
xav_jann1 0:1cfd66c3a181 58 // 6: Avance
xav_jann1 0:1cfd66c3a181 59 else if (state == 6) {
xav_jann1 0:1cfd66c3a181 60 base.backward(-520);
xav_jann1 0:1cfd66c3a181 61 infraFrontG.on();
xav_jann1 0:1cfd66c3a181 62 infraFrontD.on();
xav_jann1 0:1cfd66c3a181 63 }
xav_jann1 0:1cfd66c3a181 64
xav_jann1 0:1cfd66c3a181 65 // 7: Tourne
xav_jann1 0:1cfd66c3a181 66 else if (state == 7) {
xav_jann1 0:1cfd66c3a181 67 base.turn(-90.0f);
xav_jann1 0:1cfd66c3a181 68 servo.pos(130.0f);
xav_jann1 0:1cfd66c3a181 69 infraFrontG.off();
xav_jann1 0:1cfd66c3a181 70 infraFrontD.off();
xav_jann1 0:1cfd66c3a181 71 }
xav_jann1 0:1cfd66c3a181 72
xav_jann1 0:1cfd66c3a181 73 // 8: Avance
xav_jann1 0:1cfd66c3a181 74 else if (state == 8) base.forward(-400.0f);
xav_jann1 0:1cfd66c3a181 75
xav_jann1 0:1cfd66c3a181 76 // 9: Pompe à air
xav_jann1 0:1cfd66c3a181 77 else if (state == 9) {
xav_jann1 0:1cfd66c3a181 78 pompe = 1;
xav_jann1 0:1cfd66c3a181 79 timeOut = 2000;
xav_jann1 0:1cfd66c3a181 80 }
xav_jann1 0:1cfd66c3a181 81
xav_jann1 0:1cfd66c3a181 82 // 10: Recule du Goldenium
xav_jann1 0:1cfd66c3a181 83 else if (state == 10) {
xav_jann1 0:1cfd66c3a181 84 base.backward(-500.0f);
xav_jann1 0:1cfd66c3a181 85 timeOut = 1000;
xav_jann1 0:1cfd66c3a181 86 }
xav_jann1 0:1cfd66c3a181 87
xav_jann1 0:1cfd66c3a181 88 // 11: Désactive la pompe
xav_jann1 0:1cfd66c3a181 89 else if (state == 11) {
xav_jann1 0:1cfd66c3a181 90 pompe = 0;
xav_jann1 0:1cfd66c3a181 91 timeOut = 1000;
xav_jann1 0:1cfd66c3a181 92 }
xav_jann1 0:1cfd66c3a181 93
xav_jann1 0:1cfd66c3a181 94 // 12: Tourne pour revenir
xav_jann1 0:1cfd66c3a181 95 else if (state == 12) {
xav_jann1 0:1cfd66c3a181 96 base.turn(90.0f);
xav_jann1 0:1cfd66c3a181 97 }
xav_jann1 0:1cfd66c3a181 98
xav_jann1 0:1cfd66c3a181 99 // 13: Avance pour revenir
xav_jann1 0:1cfd66c3a181 100 else if (state == 13) {
xav_jann1 0:1cfd66c3a181 101 base.forward(-1700);
xav_jann1 0:1cfd66c3a181 102 infraFrontG.on();
xav_jann1 0:1cfd66c3a181 103 infraFrontD.on();
xav_jann1 0:1cfd66c3a181 104 timeOut = 6000;
xav_jann1 0:1cfd66c3a181 105 }
xav_jann1 0:1cfd66c3a181 106
xav_jann1 0:1cfd66c3a181 107 // 14: Fin
xav_jann1 0:1cfd66c3a181 108 else if (state == 14) {
xav_jann1 0:1cfd66c3a181 109 base.stop();
xav_jann1 0:1cfd66c3a181 110 }
xav_jann1 0:1cfd66c3a181 111
xav_jann1 0:1cfd66c3a181 112 return timeOut;
xav_jann1 0:1cfd66c3a181 113 }