Programme utilisé pour la coupe

Dependencies:   TCA9548A_vcdf mbed QEI RemoteIR VL53L0X_Vcdf

Fork of asservissement_robot2_Homologued_real by Timothée Frouté

Committer:
Onclehube
Date:
Thu Oct 10 10:04:43 2019 +0000
Revision:
2:b94303d66b9d
Parent:
1:11cbd2bf65d7
Last Version;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hamaint 1:11cbd2bf65d7 1 #include "Moteur.h"
hamaint 1:11cbd2bf65d7 2
hamaint 1:11cbd2bf65d7 3
hamaint 1:11cbd2bf65d7 4 #define PERIODE_PWM_MOTEUR 0.001
hamaint 1:11cbd2bf65d7 5
hamaint 1:11cbd2bf65d7 6 PwmOut mypwm_a(D6);
hamaint 1:11cbd2bf65d7 7 PwmOut mypwm_b(D11);
hamaint 1:11cbd2bf65d7 8
Onclehube 2:b94303d66b9d 9
hamaint 1:11cbd2bf65d7 10 DigitalOut in1(D7);
hamaint 1:11cbd2bf65d7 11 DigitalOut in2(D8);
hamaint 1:11cbd2bf65d7 12 DigitalOut in3(D9);
hamaint 1:11cbd2bf65d7 13 DigitalOut in4(D10);
Onclehube 2:b94303d66b9d 14 DigitalOut in5(PC_10);
Onclehube 2:b94303d66b9d 15 DigitalOut in6(PC_12);
Onclehube 2:b94303d66b9d 16 DigitalOut in7(PA_13);
hamaint 1:11cbd2bf65d7 17
hamaint 1:11cbd2bf65d7 18
hamaint 1:11cbd2bf65d7 19 void moteur_init()
hamaint 1:11cbd2bf65d7 20 {
hamaint 1:11cbd2bf65d7 21 mypwm_a.period(PERIODE_PWM_MOTEUR);
hamaint 1:11cbd2bf65d7 22 mypwm_b.period(PERIODE_PWM_MOTEUR);
Onclehube 2:b94303d66b9d 23 //in7=0;
Onclehube 2:b94303d66b9d 24
hamaint 1:11cbd2bf65d7 25 mypwm_a.pulsewidth(0);
hamaint 1:11cbd2bf65d7 26 mypwm_b.pulsewidth(0);
Onclehube 2:b94303d66b9d 27
hamaint 1:11cbd2bf65d7 28 }
hamaint 1:11cbd2bf65d7 29
hamaint 1:11cbd2bf65d7 30 void moteur_a(float percent)
hamaint 1:11cbd2bf65d7 31 {
hamaint 1:11cbd2bf65d7 32
hamaint 1:11cbd2bf65d7 33 if (percent>=0) {
hamaint 1:11cbd2bf65d7 34 in1 = 1;
hamaint 1:11cbd2bf65d7 35 in2 = 0;
hamaint 1:11cbd2bf65d7 36 } else {
hamaint 1:11cbd2bf65d7 37 in1 = 0;
hamaint 1:11cbd2bf65d7 38 in2 = 1;
hamaint 1:11cbd2bf65d7 39 percent = -1 * percent;
hamaint 1:11cbd2bf65d7 40 }
hamaint 1:11cbd2bf65d7 41 mypwm_a.pulsewidth((float)percent*(float)PERIODE_PWM_MOTEUR);
hamaint 1:11cbd2bf65d7 42 }
hamaint 1:11cbd2bf65d7 43
hamaint 1:11cbd2bf65d7 44 void moteur_b(float percent)
hamaint 1:11cbd2bf65d7 45 {
hamaint 1:11cbd2bf65d7 46
hamaint 1:11cbd2bf65d7 47 if (percent>=0) {
hamaint 1:11cbd2bf65d7 48 in4 = 1;
hamaint 1:11cbd2bf65d7 49 in3 = 0;
hamaint 1:11cbd2bf65d7 50 } else {
hamaint 1:11cbd2bf65d7 51 in4 = 0;
hamaint 1:11cbd2bf65d7 52 in3 = 1;
hamaint 1:11cbd2bf65d7 53 percent = -1 * percent;
hamaint 1:11cbd2bf65d7 54 }
hamaint 1:11cbd2bf65d7 55
hamaint 1:11cbd2bf65d7 56 mypwm_b.pulsewidth((float)percent*(float)PERIODE_PWM_MOTEUR);
hamaint 1:11cbd2bf65d7 57 }
Onclehube 2:b94303d66b9d 58
Onclehube 2:b94303d66b9d 59 void moteur_c(int percent)
Onclehube 2:b94303d66b9d 60 {
Onclehube 2:b94303d66b9d 61 if (percent==0) in7=0;
Onclehube 2:b94303d66b9d 62 else
Onclehube 2:b94303d66b9d 63 if (percent==1) {
Onclehube 2:b94303d66b9d 64 in5 = 0;
Onclehube 2:b94303d66b9d 65 in6 = 1;
Onclehube 2:b94303d66b9d 66 in7=1;
Onclehube 2:b94303d66b9d 67 wait_ms(900);
Onclehube 2:b94303d66b9d 68 in7=0;
Onclehube 2:b94303d66b9d 69
Onclehube 2:b94303d66b9d 70 } else if (percent==2){
Onclehube 2:b94303d66b9d 71 in5 = 1;
Onclehube 2:b94303d66b9d 72 in6 = 0;
Onclehube 2:b94303d66b9d 73 in7=1;
Onclehube 2:b94303d66b9d 74 wait_ms(900);
Onclehube 2:b94303d66b9d 75 in7=0;
Onclehube 2:b94303d66b9d 76
Onclehube 2:b94303d66b9d 77 }
Onclehube 2:b94303d66b9d 78
Onclehube 2:b94303d66b9d 79
Onclehube 2:b94303d66b9d 80 }