Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
commande.cpp
00001 #include "mbed.h" 00002 #include "commande.h" 00003 00004 #define adr 128 00005 using namespace std; 00006 00007 00008 DigitalOut S2(p11); 00009 Serial com_mot(p9,p10); 00010 00011 void avancerG(char speed) 00012 { 00013 com_mot.putc(adr); 00014 com_mot.putc(1); 00015 com_mot.putc(speed); 00016 com_mot.putc((adr + 1 + speed) & 127); //checksum trame envoyée / reçue 00017 } 00018 void avancerD(char speed) 00019 { 00020 com_mot.putc(adr); 00021 com_mot.putc(4); 00022 com_mot.putc(speed); 00023 com_mot.putc((adr + 4 + speed) & 127); //checksum trame envoyée / reçue 00024 } 00025 void reculerG(char speed) 00026 { 00027 com_mot.putc(adr); 00028 com_mot.putc(0); 00029 com_mot.putc(speed); 00030 com_mot.putc((adr + 0 + speed) & 127); //checksum trame envoyée / reçue 00031 } 00032 void reculerD(char speed) 00033 { 00034 com_mot.putc(adr); 00035 com_mot.putc(5); 00036 com_mot.putc(speed); 00037 com_mot.putc((adr + 5 + speed) & 127); //checksum trame envoyée / reçue 00038 } 00039 //////////////Fonction Finale/////////////// 00040 00041 ///////Marche avant//////// 00042 void dem(char speed) 00043 { 00044 int i;speed=speed*0.1; 00045 for(i=0;i<100;i++) 00046 { 00047 avancerG(speed);wait(0.001); 00048 avancerD(speed);speed++; 00049 wait(0.01); 00050 } 00051 avancerG(speed);wait(0.001); 00052 avancerD(speed); 00053 } 00054 void commande::avance(char speed) 00055 { 00056 avancerG(speed);wait(0.001); 00057 avancerD(speed); 00058 } 00059 00060 //////Fonction avancer////// 00061 void commande::avancer(char speed) 00062 { 00063 dem(speed);avance(speed); 00064 } 00065 //////////Marche arriere////////// 00066 void demar(char speed) 00067 { 00068 int i; 00069 speed=speed*0.1; 00070 for(i=0;i<100;i++) 00071 { 00072 reculerG(speed);wait(0.001); 00073 reculerD(speed);speed=speed++; 00074 wait(0.01); 00075 } 00076 } 00077 void commande::recu(char speed) 00078 { 00079 reculerG(speed);wait(0.001); 00080 reculerD(speed); 00081 } 00082 //////Fonction reculer////// 00083 void commande::reculer(char speed) 00084 { 00085 demar(speed);recu(speed); 00086 } 00087 //////virage///////////////// 00088 void commande::tourner_droite(char speed) 00089 { 00090 avancerG(speed);wait(0.001); 00091 reculerD(speed); 00092 } 00093 void commande::tourner_gauche(char speed) 00094 { 00095 avancerD(speed);wait(0.001); 00096 reculerG(speed); 00097 } 00098 00099 void commande::demi_tour(void) 00100 { 00101 avancerD(50);wait(0.001); 00102 reculerG(50); 00103 wait(1.3); 00104 avancerD(0);wait(0.001); 00105 reculerG(0); 00106 } 00107 00108 void commande::stop(void) 00109 { 00110 avancerD(0);wait(0.001); 00111 reculerG(0); 00112 } 00113 //////Fonction arret////// 00114 //void arreter(void)
Generated on Wed Jul 13 2022 19:52:49 by
1.7.2