Andreu- Felix

Dependencies:   SRF08 mbed

Committer:
yannickrda
Date:
Mon Jul 03 10:13:36 2017 +0000
Revision:
0:afd478f066b0
Final!!!

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yannickrda 0:afd478f066b0 1 #include "mbed.h"
yannickrda 0:afd478f066b0 2 #include "commande.h"
yannickrda 0:afd478f066b0 3
yannickrda 0:afd478f066b0 4 #define adr 128
yannickrda 0:afd478f066b0 5 using namespace std;
yannickrda 0:afd478f066b0 6
yannickrda 0:afd478f066b0 7
yannickrda 0:afd478f066b0 8 DigitalOut S2(p11);
yannickrda 0:afd478f066b0 9 Serial com_mot(p9,p10);
yannickrda 0:afd478f066b0 10
yannickrda 0:afd478f066b0 11 void avancerG(char speed)
yannickrda 0:afd478f066b0 12 {
yannickrda 0:afd478f066b0 13 com_mot.putc(adr);
yannickrda 0:afd478f066b0 14 com_mot.putc(1);
yannickrda 0:afd478f066b0 15 com_mot.putc(speed);
yannickrda 0:afd478f066b0 16 com_mot.putc((adr + 1 + speed) & 127); //checksum trame envoyée / reçue
yannickrda 0:afd478f066b0 17 }
yannickrda 0:afd478f066b0 18 void avancerD(char speed)
yannickrda 0:afd478f066b0 19 {
yannickrda 0:afd478f066b0 20 com_mot.putc(adr);
yannickrda 0:afd478f066b0 21 com_mot.putc(4);
yannickrda 0:afd478f066b0 22 com_mot.putc(speed);
yannickrda 0:afd478f066b0 23 com_mot.putc((adr + 4 + speed) & 127); //checksum trame envoyée / reçue
yannickrda 0:afd478f066b0 24 }
yannickrda 0:afd478f066b0 25 void reculerG(char speed)
yannickrda 0:afd478f066b0 26 {
yannickrda 0:afd478f066b0 27 com_mot.putc(adr);
yannickrda 0:afd478f066b0 28 com_mot.putc(0);
yannickrda 0:afd478f066b0 29 com_mot.putc(speed);
yannickrda 0:afd478f066b0 30 com_mot.putc((adr + 0 + speed) & 127); //checksum trame envoyée / reçue
yannickrda 0:afd478f066b0 31 }
yannickrda 0:afd478f066b0 32 void reculerD(char speed)
yannickrda 0:afd478f066b0 33 {
yannickrda 0:afd478f066b0 34 com_mot.putc(adr);
yannickrda 0:afd478f066b0 35 com_mot.putc(5);
yannickrda 0:afd478f066b0 36 com_mot.putc(speed);
yannickrda 0:afd478f066b0 37 com_mot.putc((adr + 5 + speed) & 127); //checksum trame envoyée / reçue
yannickrda 0:afd478f066b0 38 }
yannickrda 0:afd478f066b0 39 //////////////Fonction Finale///////////////
yannickrda 0:afd478f066b0 40
yannickrda 0:afd478f066b0 41 ///////Marche avant////////
yannickrda 0:afd478f066b0 42 void dem(char speed)
yannickrda 0:afd478f066b0 43 {
yannickrda 0:afd478f066b0 44 int i;speed=speed*0.1;
yannickrda 0:afd478f066b0 45 for(i=0;i<100;i++)
yannickrda 0:afd478f066b0 46 {
yannickrda 0:afd478f066b0 47 avancerG(speed);wait(0.001);
yannickrda 0:afd478f066b0 48 avancerD(speed);speed++;
yannickrda 0:afd478f066b0 49 wait(0.01);
yannickrda 0:afd478f066b0 50 }
yannickrda 0:afd478f066b0 51 avancerG(speed);wait(0.001);
yannickrda 0:afd478f066b0 52 avancerD(speed);
yannickrda 0:afd478f066b0 53 }
yannickrda 0:afd478f066b0 54 void commande::avance(char speed)
yannickrda 0:afd478f066b0 55 {
yannickrda 0:afd478f066b0 56 avancerG(speed);wait(0.001);
yannickrda 0:afd478f066b0 57 avancerD(speed);
yannickrda 0:afd478f066b0 58 }
yannickrda 0:afd478f066b0 59
yannickrda 0:afd478f066b0 60 //////Fonction avancer//////
yannickrda 0:afd478f066b0 61 void commande::avancer(char speed)
yannickrda 0:afd478f066b0 62 {
yannickrda 0:afd478f066b0 63 dem(speed);avance(speed);
yannickrda 0:afd478f066b0 64 }
yannickrda 0:afd478f066b0 65 //////////Marche arriere//////////
yannickrda 0:afd478f066b0 66 void demar(char speed)
yannickrda 0:afd478f066b0 67 {
yannickrda 0:afd478f066b0 68 int i;
yannickrda 0:afd478f066b0 69 speed=speed*0.1;
yannickrda 0:afd478f066b0 70 for(i=0;i<100;i++)
yannickrda 0:afd478f066b0 71 {
yannickrda 0:afd478f066b0 72 reculerG(speed);wait(0.001);
yannickrda 0:afd478f066b0 73 reculerD(speed);speed=speed++;
yannickrda 0:afd478f066b0 74 wait(0.01);
yannickrda 0:afd478f066b0 75 }
yannickrda 0:afd478f066b0 76 }
yannickrda 0:afd478f066b0 77 void commande::recu(char speed)
yannickrda 0:afd478f066b0 78 {
yannickrda 0:afd478f066b0 79 reculerG(speed);wait(0.001);
yannickrda 0:afd478f066b0 80 reculerD(speed);
yannickrda 0:afd478f066b0 81 }
yannickrda 0:afd478f066b0 82 //////Fonction reculer//////
yannickrda 0:afd478f066b0 83 void commande::reculer(char speed)
yannickrda 0:afd478f066b0 84 {
yannickrda 0:afd478f066b0 85 demar(speed);recu(speed);
yannickrda 0:afd478f066b0 86 }
yannickrda 0:afd478f066b0 87 //////virage/////////////////
yannickrda 0:afd478f066b0 88 void commande::tourner_droite(char speed)
yannickrda 0:afd478f066b0 89 {
yannickrda 0:afd478f066b0 90 avancerG(speed);wait(0.001);
yannickrda 0:afd478f066b0 91 reculerD(speed);
yannickrda 0:afd478f066b0 92 }
yannickrda 0:afd478f066b0 93 void commande::tourner_gauche(char speed)
yannickrda 0:afd478f066b0 94 {
yannickrda 0:afd478f066b0 95 avancerD(speed);wait(0.001);
yannickrda 0:afd478f066b0 96 reculerG(speed);
yannickrda 0:afd478f066b0 97 }
yannickrda 0:afd478f066b0 98
yannickrda 0:afd478f066b0 99 void commande::demi_tour(void)
yannickrda 0:afd478f066b0 100 {
yannickrda 0:afd478f066b0 101 avancerD(50);wait(0.001);
yannickrda 0:afd478f066b0 102 reculerG(50);
yannickrda 0:afd478f066b0 103 wait(1.3);
yannickrda 0:afd478f066b0 104 avancerD(0);wait(0.001);
yannickrda 0:afd478f066b0 105 reculerG(0);
yannickrda 0:afd478f066b0 106 }
yannickrda 0:afd478f066b0 107
yannickrda 0:afd478f066b0 108 void commande::stop(void)
yannickrda 0:afd478f066b0 109 {
yannickrda 0:afd478f066b0 110 avancerD(0);wait(0.001);
yannickrda 0:afd478f066b0 111 reculerG(0);
yannickrda 0:afd478f066b0 112 }
yannickrda 0:afd478f066b0 113 //////Fonction arret//////
yannickrda 0:afd478f066b0 114 //void arreter(void)