TP_presa
Dependencies: SRF08 Servo mbed
CAR.cpp@11:8853764285f9, 2017-07-03 (annotated)
- Committer:
- Remi95
- Date:
- Mon Jul 03 09:42:02 2017 +0000
- Revision:
- 11:8853764285f9
- Parent:
- 7:7d3c6326cbc3
finished
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Remi95 | 6:d61052f4ab1e | 1 | #include "mbed.h" |
Remi95 | 6:d61052f4ab1e | 2 | #include "CAR.h" |
Remi95 | 6:d61052f4ab1e | 3 | |
Remi95 | 6:d61052f4ab1e | 4 | |
Remi95 | 6:d61052f4ab1e | 5 | #define Adress 128 |
Remi95 | 6:d61052f4ab1e | 6 | DigitalOut myled1(LED1); |
Remi95 | 6:d61052f4ab1e | 7 | DigitalOut myled2(LED2); |
Remi95 | 6:d61052f4ab1e | 8 | DigitalOut myled3(LED3); |
Remi95 | 6:d61052f4ab1e | 9 | DigitalOut myled4(LED4); |
Remi95 | 7:7d3c6326cbc3 | 10 | //DigitalOut S2 (p11); |
Remi95 | 6:d61052f4ab1e | 11 | |
Remi95 | 6:d61052f4ab1e | 12 | //Serial bt(p13,p14); |
Remi95 | 6:d61052f4ab1e | 13 | Serial sbt(p9, p10); // tx, rx |
Remi95 | 6:d61052f4ab1e | 14 | //AnalogIn btri (p28); |
Remi95 | 6:d61052f4ab1e | 15 | |
Remi95 | 6:d61052f4ab1e | 16 | //char action; |
Remi95 | 6:d61052f4ab1e | 17 | int iCoefVirage=0.44; |
Remi95 | 6:d61052f4ab1e | 18 | //string sprintf; |
Remi95 | 6:d61052f4ab1e | 19 | |
Remi95 | 6:d61052f4ab1e | 20 | CAR::CAR(PinName TX, PinName RX) { |
Remi95 | 6:d61052f4ab1e | 21 | Serial sbt (TX ,RX ); |
Remi95 | 6:d61052f4ab1e | 22 | } |
Remi95 | 6:d61052f4ab1e | 23 | //CAR::~CAR() { |
Remi95 | 6:d61052f4ab1e | 24 | |
Remi95 | 6:d61052f4ab1e | 25 | //} |
Remi95 | 6:d61052f4ab1e | 26 | void CAR::Led (bool l1,bool l2,bool l3,bool l4) //Fonction pour aider au debug avec les led |
Remi95 | 6:d61052f4ab1e | 27 | { |
Remi95 | 6:d61052f4ab1e | 28 | myled1=l1; |
Remi95 | 6:d61052f4ab1e | 29 | myled2=l2; |
Remi95 | 6:d61052f4ab1e | 30 | myled3=l3; |
Remi95 | 6:d61052f4ab1e | 31 | myled4=l4; |
Remi95 | 6:d61052f4ab1e | 32 | } |
Remi95 | 6:d61052f4ab1e | 33 | |
Remi95 | 6:d61052f4ab1e | 34 | void CAR::emiss(char Code, char Vit) |
Remi95 | 6:d61052f4ab1e | 35 | { |
Remi95 | 6:d61052f4ab1e | 36 | sbt.putc(Adress); |
Remi95 | 6:d61052f4ab1e | 37 | sbt.putc(Code); |
Remi95 | 6:d61052f4ab1e | 38 | sbt.putc(Vit); |
Remi95 | 6:d61052f4ab1e | 39 | sbt.putc((Adress+Code+Vit) & 127); |
Remi95 | 6:d61052f4ab1e | 40 | } |
Remi95 | 6:d61052f4ab1e | 41 | void CAR::myVirageGauche (char Vit , char Ang) |
Remi95 | 6:d61052f4ab1e | 42 | { |
Remi95 | 6:d61052f4ab1e | 43 | emiss(1,Vit); |
Remi95 | 6:d61052f4ab1e | 44 | emiss(4,Vit); |
Remi95 | 6:d61052f4ab1e | 45 | wait(0.792); //Remplacer par (Ang*iCoefVirage)/Vit |
Remi95 | 6:d61052f4ab1e | 46 | emiss(1,0); |
Remi95 | 6:d61052f4ab1e | 47 | emiss(4,0); |
Remi95 | 6:d61052f4ab1e | 48 | } |
Remi95 | 6:d61052f4ab1e | 49 | void CAR::myVirageDroite (char Vit , char Ang) |
Remi95 | 6:d61052f4ab1e | 50 | { |
Remi95 | 6:d61052f4ab1e | 51 | emiss(0,Vit); |
Remi95 | 6:d61052f4ab1e | 52 | emiss(5,Vit); |
Remi95 | 6:d61052f4ab1e | 53 | wait(0.792); |
Remi95 | 6:d61052f4ab1e | 54 | emiss(0,0); |
Remi95 | 6:d61052f4ab1e | 55 | emiss(5,0); |
Remi95 | 6:d61052f4ab1e | 56 | } |
Remi95 | 6:d61052f4ab1e | 57 | void CAR::avancer(char Vit) |
Remi95 | 6:d61052f4ab1e | 58 | { |
Remi95 | 6:d61052f4ab1e | 59 | emiss(0,Vit); |
Remi95 | 6:d61052f4ab1e | 60 | emiss(4,Vit); |
Remi95 | 6:d61052f4ab1e | 61 | } |
Remi95 | 6:d61052f4ab1e | 62 | void CAR::reculer(char Vit) |
Remi95 | 6:d61052f4ab1e | 63 | { |
Remi95 | 6:d61052f4ab1e | 64 | emiss(1,Vit); |
Remi95 | 6:d61052f4ab1e | 65 | emiss(5,Vit); |
Remi95 | 6:d61052f4ab1e | 66 | } |
Remi95 | 6:d61052f4ab1e | 67 | void CAR::arreter(void) |
Remi95 | 6:d61052f4ab1e | 68 | { |
Remi95 | 6:d61052f4ab1e | 69 | emiss(0,0); |
Remi95 | 6:d61052f4ab1e | 70 | emiss(4,0); |
Remi95 | 6:d61052f4ab1e | 71 | } |
Remi95 | 6:d61052f4ab1e | 72 | void CAR::tourner_droite(char Vit) |
Remi95 | 6:d61052f4ab1e | 73 | { |
Remi95 | 6:d61052f4ab1e | 74 | emiss(0,Vit); |
Remi95 | 6:d61052f4ab1e | 75 | emiss(5,Vit); |
Remi95 | 7:7d3c6326cbc3 | 76 | wait(0.250); |
Remi95 | 6:d61052f4ab1e | 77 | emiss(0,0); |
Remi95 | 6:d61052f4ab1e | 78 | emiss(5,0); |
Remi95 | 6:d61052f4ab1e | 79 | } |
Remi95 | 6:d61052f4ab1e | 80 | void CAR::tourner_gauche(char Vit) |
Remi95 | 6:d61052f4ab1e | 81 | { |
Remi95 | 6:d61052f4ab1e | 82 | emiss(1,Vit); |
Remi95 | 6:d61052f4ab1e | 83 | emiss(4,Vit); |
Remi95 | 7:7d3c6326cbc3 | 84 | wait(0.250); //0.125 |
Remi95 | 6:d61052f4ab1e | 85 | emiss(1,0); |
Remi95 | 6:d61052f4ab1e | 86 | emiss(4,0); |
Remi95 | 6:d61052f4ab1e | 87 | } |
Remi95 | 6:d61052f4ab1e | 88 | void CAR::demi_tour_droite(char Vit) |
Remi95 | 6:d61052f4ab1e | 89 | { |
Remi95 | 6:d61052f4ab1e | 90 | myVirageDroite(Vit,180); |
Remi95 | 6:d61052f4ab1e | 91 | } |
Remi95 | 6:d61052f4ab1e | 92 | void CAR::demi_tour_gauche(char Vit) |
Remi95 | 6:d61052f4ab1e | 93 | { |
Remi95 | 6:d61052f4ab1e | 94 | myVirageGauche(Vit,180); |
Remi95 | 6:d61052f4ab1e | 95 | } |
Remi95 | 6:d61052f4ab1e | 96 | |
Remi95 | 6:d61052f4ab1e | 97 | |
Remi95 | 6:d61052f4ab1e | 98 |