TP_presa

Dependencies:   SRF08 Servo mbed

main.cpp

Committer:
Remi95
Date:
2017-05-31
Revision:
1:5830b7d6a985
Parent:
0:99cb324a2329
Child:
2:6d12c2d70f19

File content as of revision 1:5830b7d6a985:

#include "mbed.h"

char Adress = 128;
char Vit =50;
                    //Address: 130
                    //Command : 0
                    //Data: 64
                    //Checksum: 66
                    //Checksum Putc((address + 0 + speed) & 127);

Serial sbt(p9, p10); // tx, rx

DigitalOut myled1(LED1);
DigitalOut myled2(LED2);
DigitalOut myled3(LED3);
DigitalOut myled4(LED4);
DigitalOut S2 (p11);


void Led (bool l1,bool l2,bool l3,bool l4){  //Fonction pour aider au debug avec les led
  
    myled1=l1;
    myled2=l2;
    myled3=l3;
    myled4=l4;    
}
void emiss(char Code,  char Vit_perso){
     sbt.putc(Adress);
     sbt.putc(Code); 
     sbt.putc(Vit_perso);  
     sbt.putc((Adress+Code+Vit_perso) & 127);
    }

void forward(char Vit_perso) {
    emiss(0,Vit_perso);
    emiss(4,Vit_perso);
}
void avancer(void) {
 
     emiss(0,Vit);
     emiss(4,Vit);
}
void arreter(void) {
     emiss(0,0);
     emiss(4,0);
}

void reculer(void) {
 
     emiss(1,Vit);
     emiss(5,Vit);
}
void tourner_droite(void) {

     emiss(0,Vit);
     emiss(5,Vit);   
     wait(0.3);
     emiss(0,0);
     emiss(5,0);  
}
void tourner_gauche(void) {
     Vit=50;
     emiss(1,Vit);
     emiss(4,Vit);   
     wait(0.3);
     emiss(1,0);
     emiss(4,0);  
}
void demi_tour_droite(void) {

     emiss(0,Vit);
     emiss(5,Vit);   
     wait(1);
     emiss(0,0);
     emiss(5,0);      
}
void demi_tour_gauche(void) {
     emiss(1,Vit);
     emiss(4,Vit);   
     wait(1);
     emiss(1,0);
     emiss(4,0);  
}
int main (){
    while (1){
    Led (1,0,0,0);
    S2=0;
    wait(1);
    avancer();
    Led (1,1,0,0);
    wait(1);
    reculer();
    Led (1,1,1,0);
    wait(1);
    tourner_gauche();
    Led (1,1,1,1);
    wait(1);
    tourner_droite();
    Led (0,1,1,1);
    wait(1);
    demi_tour_gauche();
    Led (0,0,1,1);
    wait(1);
    demi_tour_droite();   
    Led (0,0,0,1);
 
    }
}