Davy MILLION
/
Sumo
issou
main.cpp@0:6f23e23056ac, 2020-02-13 (annotated)
- Committer:
- Davdav
- Date:
- Thu Feb 13 15:25:18 2020 +0000
- Revision:
- 0:6f23e23056ac
- Child:
- 1:32df7d7d355d
Ajout code...
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Davdav | 0:6f23e23056ac | 1 | #include "mbed.h" |
Davdav | 0:6f23e23056ac | 2 | |
Davdav | 0:6f23e23056ac | 3 | #define MOT_A_IN_1 D9 |
Davdav | 0:6f23e23056ac | 4 | #define MOT_A_IN_2 D8 |
Davdav | 0:6f23e23056ac | 5 | #define MOT_A_PWM D6 |
Davdav | 0:6f23e23056ac | 6 | |
Davdav | 0:6f23e23056ac | 7 | #define MOT_B_IN_1 D11 |
Davdav | 0:6f23e23056ac | 8 | #define MOT_B_IN_2 D10 |
Davdav | 0:6f23e23056ac | 9 | #define MOT_B_PWM D5 |
Davdav | 0:6f23e23056ac | 10 | |
Davdav | 0:6f23e23056ac | 11 | #define STBY D12 |
Davdav | 0:6f23e23056ac | 12 | |
Davdav | 0:6f23e23056ac | 13 | #define ECHO D14 |
Davdav | 0:6f23e23056ac | 14 | #define TRIGGER D15 |
Davdav | 0:6f23e23056ac | 15 | |
Davdav | 0:6f23e23056ac | 16 | #define LINE_LEFT D4 |
Davdav | 0:6f23e23056ac | 17 | #define LINE_RIGHT D3 |
Davdav | 0:6f23e23056ac | 18 | |
Davdav | 0:6f23e23056ac | 19 | PwmOut speedA(MOT_A_PWM); // porke pwmout ? |
Davdav | 0:6f23e23056ac | 20 | PwmOut speedB(MOT_B_PWM); // porke pwmout ? |
Davdav | 0:6f23e23056ac | 21 | |
Davdav | 0:6f23e23056ac | 22 | DigitalOut inA1(MOT_A_IN_1); |
Davdav | 0:6f23e23056ac | 23 | DigitalOut inA2(MOT_A_IN_2); |
Davdav | 0:6f23e23056ac | 24 | DigitalOut inB1(MOT_B_IN_1); |
Davdav | 0:6f23e23056ac | 25 | DigitalOut inB2(MOT_B_IN_2); |
Davdav | 0:6f23e23056ac | 26 | |
Davdav | 0:6f23e23056ac | 27 | DigitalOut stby(STBY); |
Davdav | 0:6f23e23056ac | 28 | |
Davdav | 0:6f23e23056ac | 29 | DigitalIn lineL(LINE_LEFT); // ? |
Davdav | 0:6f23e23056ac | 30 | DigitalIn lineR(LINE_RIGHT); // ? |
Davdav | 0:6f23e23056ac | 31 | |
Davdav | 0:6f23e23056ac | 32 | void testMotors(); |
Davdav | 0:6f23e23056ac | 33 | void testLineSensors(); |
Davdav | 0:6f23e23056ac | 34 | |
Davdav | 0:6f23e23056ac | 35 | int main() { |
Davdav | 0:6f23e23056ac | 36 | //testMotors(); |
Davdav | 0:6f23e23056ac | 37 | testLineSensors(); |
Davdav | 0:6f23e23056ac | 38 | } |
Davdav | 0:6f23e23056ac | 39 | |
Davdav | 0:6f23e23056ac | 40 | void testMotors() |
Davdav | 0:6f23e23056ac | 41 | { |
Davdav | 0:6f23e23056ac | 42 | // Choix de la direction des moteurs, le robot avance. |
Davdav | 0:6f23e23056ac | 43 | inA1 = 1; |
Davdav | 0:6f23e23056ac | 44 | inA2 = 0; |
Davdav | 0:6f23e23056ac | 45 | inB1 = 1; |
Davdav | 0:6f23e23056ac | 46 | inB2 = 0; |
Davdav | 0:6f23e23056ac | 47 | |
Davdav | 0:6f23e23056ac | 48 | // Choix de la vitesse de rotation des moteurs. |
Davdav | 0:6f23e23056ac | 49 | speedA = 1; // Moteur gauche |
Davdav | 0:6f23e23056ac | 50 | speedB = 1; // Moteur droit |
Davdav | 0:6f23e23056ac | 51 | // vitesse en quelles unités ? |
Davdav | 0:6f23e23056ac | 52 | |
Davdav | 0:6f23e23056ac | 53 | // On active les moteurs |
Davdav | 0:6f23e23056ac | 54 | stby = 1; |
Davdav | 0:6f23e23056ac | 55 | |
Davdav | 0:6f23e23056ac | 56 | wait(1); // On avance pendant 1 secondes |
Davdav | 0:6f23e23056ac | 57 | |
Davdav | 0:6f23e23056ac | 58 | // On tourne pendant 1sec sur la gauche |
Davdav | 0:6f23e23056ac | 59 | speedA = 0.5; |
Davdav | 0:6f23e23056ac | 60 | wait(1); |
Davdav | 0:6f23e23056ac | 61 | |
Davdav | 0:6f23e23056ac | 62 | // On tourne pendant 1sec sur la droite |
Davdav | 0:6f23e23056ac | 63 | speedA = 1; |
Davdav | 0:6f23e23056ac | 64 | speedB = 0.5; |
Davdav | 0:6f23e23056ac | 65 | wait(1); |
Davdav | 0:6f23e23056ac | 66 | |
Davdav | 0:6f23e23056ac | 67 | // On tourne sur place sur la gauche pendant 1sec |
Davdav | 0:6f23e23056ac | 68 | speedB = 1; |
Davdav | 0:6f23e23056ac | 69 | inA1 = 0; |
Davdav | 0:6f23e23056ac | 70 | inA2 = 1; |
Davdav | 0:6f23e23056ac | 71 | wait(1); |
Davdav | 0:6f23e23056ac | 72 | |
Davdav | 0:6f23e23056ac | 73 | // On tourne sur place sur la droite pendant 1sec |
Davdav | 0:6f23e23056ac | 74 | inA1 = 1; |
Davdav | 0:6f23e23056ac | 75 | inA2 = 0; |
Davdav | 0:6f23e23056ac | 76 | inB1 = 0; |
Davdav | 0:6f23e23056ac | 77 | inB2 = 1; |
Davdav | 0:6f23e23056ac | 78 | wait(1); |
Davdav | 0:6f23e23056ac | 79 | |
Davdav | 0:6f23e23056ac | 80 | // On recule pendant 1sec; |
Davdav | 0:6f23e23056ac | 81 | inA1 = 0; |
Davdav | 0:6f23e23056ac | 82 | inA2 = 1; |
Davdav | 0:6f23e23056ac | 83 | wait(1); |
Davdav | 0:6f23e23056ac | 84 | |
Davdav | 0:6f23e23056ac | 85 | // On avance de nouveau 1sec; |
Davdav | 0:6f23e23056ac | 86 | inA1 = 1; |
Davdav | 0:6f23e23056ac | 87 | inA2 = 0; |
Davdav | 0:6f23e23056ac | 88 | inB1 = 1; |
Davdav | 0:6f23e23056ac | 89 | inB2 = 0; |
Davdav | 0:6f23e23056ac | 90 | wait(1); |
Davdav | 0:6f23e23056ac | 91 | |
Davdav | 0:6f23e23056ac | 92 | speedA=0; |
Davdav | 0:6f23e23056ac | 93 | speedB=0; |
Davdav | 0:6f23e23056ac | 94 | } |
Davdav | 0:6f23e23056ac | 95 | |
Davdav | 0:6f23e23056ac | 96 | void testLineSensors() |
Davdav | 0:6f23e23056ac | 97 | { |
Davdav | 0:6f23e23056ac | 98 | inA1 = 1; |
Davdav | 0:6f23e23056ac | 99 | inA2 = 0; |
Davdav | 0:6f23e23056ac | 100 | inB1 = 1; |
Davdav | 0:6f23e23056ac | 101 | inB2 = 0; |
Davdav | 0:6f23e23056ac | 102 | |
Davdav | 0:6f23e23056ac | 103 | stby = 1; |
Davdav | 0:6f23e23056ac | 104 | |
Davdav | 0:6f23e23056ac | 105 | speedA = 0; |
Davdav | 0:6f23e23056ac | 106 | speedB = 0; |
Davdav | 0:6f23e23056ac | 107 | |
Davdav | 0:6f23e23056ac | 108 | while(1) |
Davdav | 0:6f23e23056ac | 109 | { |
Davdav | 0:6f23e23056ac | 110 | if (lineL <= .5) // ?? |
Davdav | 0:6f23e23056ac | 111 | speedA = 1; |
Davdav | 0:6f23e23056ac | 112 | else |
Davdav | 0:6f23e23056ac | 113 | speedA = 0; |
Davdav | 0:6f23e23056ac | 114 | if (lineR <= .5) // ?? |
Davdav | 0:6f23e23056ac | 115 | speedB = .7; |
Davdav | 0:6f23e23056ac | 116 | else |
Davdav | 0:6f23e23056ac | 117 | speedB = 0; |
Davdav | 0:6f23e23056ac | 118 | } |
Davdav | 0:6f23e23056ac | 119 | } |