issou

Dependencies:   mbed hcsr04

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?

UserRevisionLine numberNew 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 }