TP_presa

Dependencies:   SRF08 Servo mbed

Committer:
Remi95
Date:
Mon Jun 26 09:58:11 2017 +0000
Revision:
7:7d3c6326cbc3
Parent:
6:d61052f4ab1e
trkl;

Who changed what in which revision?

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