![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
TP_presa
Dependencies: SRF08 Servo mbed
main.cpp
- Committer:
- Remi95
- Date:
- 2017-05-31
- Revision:
- 2:6d12c2d70f19
- Parent:
- 1:5830b7d6a985
- Child:
- 3:0b19b5b7c3a4
File content as of revision 2:6d12c2d70f19:
#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){ sbt.putc(Adress); sbt.putc(Code); sbt.putc(Vit); sbt.putc((Adress+Code+Vit) & 127); } void forward(char Vit) { emiss(0,Vit); emiss(4,Vit); } void avancer(char Vit) { int i=0; for(i; i<Vit ; i=i+(Vit/5));{ emiss(0,i); emiss(4,i); wait(0.1); } } void arreter(char Vit){ int i=Vit; for(i ; i>0;i=i-(Vit/5)){ emiss(0,i); emiss(4,i); wait(0.1);} emiss(0,0); emiss(4,0); } void arret_urgence(void) { emiss(0,0); emiss(4,0); } void reculer(char Vit) { for(int i =0; i<Vit;i=i+5){ emiss(1,i); emiss(5,i); wait(0.1);} } void tourner_droite(char Vit) { emiss(0,Vit); emiss(5,Vit); wait(0.125); emiss(0,0); emiss(5,0); } void tourner_gauche(char Vit) { emiss(1,Vit); emiss(4,Vit); wait(0.125); emiss(1,0); emiss(4,0); } void demi_tour_droite(char Vit) { emiss(0,Vit); emiss(5,Vit); wait(0.75); emiss(0,0); emiss(5,0); } void demi_tour_gauche(char Vit) { emiss(1,Vit); emiss(4,Vit); wait(0.75); emiss(1,0); emiss(4,0); } void myVG (char Vit , char Ang){ emiss(1,Vit); emiss(4,Vit); wait((Ang*0.44)/Vit); emiss(1,0); emiss(4,0); } int main (){ while (1){ Led (1,0,0,0); S2=0; wait(1); avancer(70); Led (1,1,0,0); wait(1); arreter(70); wait(0.5); reculer(70); Led (1,1,1,0); wait(1); arret_urgence(); wait(0.5); tourner_gauche(120); Led (1,1,1,1); wait(1); tourner_droite(120); Led (0,1,1,1); wait(1); demi_tour_gauche(120); Led (0,0,1,1); wait(1); demi_tour_droite(120); Led (0,0,0,1); } }