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.
Diff: commande.cpp
- Revision:
- 0:afd478f066b0
diff -r 000000000000 -r afd478f066b0 commande.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commande.cpp Mon Jul 03 10:13:36 2017 +0000
@@ -0,0 +1,114 @@
+#include "mbed.h"
+#include "commande.h"
+
+#define adr 128
+using namespace std;
+
+
+DigitalOut S2(p11);
+Serial com_mot(p9,p10);
+
+void avancerG(char speed)
+{
+ com_mot.putc(adr);
+ com_mot.putc(1);
+ com_mot.putc(speed);
+ com_mot.putc((adr + 1 + speed) & 127); //checksum trame envoyée / reçue
+}
+void avancerD(char speed)
+{
+ com_mot.putc(adr);
+ com_mot.putc(4);
+ com_mot.putc(speed);
+ com_mot.putc((adr + 4 + speed) & 127); //checksum trame envoyée / reçue
+}
+void reculerG(char speed)
+{
+ com_mot.putc(adr);
+ com_mot.putc(0);
+ com_mot.putc(speed);
+ com_mot.putc((adr + 0 + speed) & 127); //checksum trame envoyée / reçue
+}
+void reculerD(char speed)
+{
+ com_mot.putc(adr);
+ com_mot.putc(5);
+ com_mot.putc(speed);
+ com_mot.putc((adr + 5 + speed) & 127); //checksum trame envoyée / reçue
+}
+//////////////Fonction Finale///////////////
+
+///////Marche avant////////
+void dem(char speed)
+{
+ int i;speed=speed*0.1;
+ for(i=0;i<100;i++)
+ {
+ avancerG(speed);wait(0.001);
+ avancerD(speed);speed++;
+ wait(0.01);
+ }
+ avancerG(speed);wait(0.001);
+ avancerD(speed);
+}
+void commande::avance(char speed)
+{
+ avancerG(speed);wait(0.001);
+ avancerD(speed);
+}
+
+//////Fonction avancer//////
+void commande::avancer(char speed)
+{
+ dem(speed);avance(speed);
+}
+//////////Marche arriere//////////
+void demar(char speed)
+{
+ int i;
+ speed=speed*0.1;
+ for(i=0;i<100;i++)
+ {
+ reculerG(speed);wait(0.001);
+ reculerD(speed);speed=speed++;
+ wait(0.01);
+ }
+}
+void commande::recu(char speed)
+{
+ reculerG(speed);wait(0.001);
+ reculerD(speed);
+}
+//////Fonction reculer//////
+void commande::reculer(char speed)
+{
+ demar(speed);recu(speed);
+}
+//////virage/////////////////
+void commande::tourner_droite(char speed)
+{
+ avancerG(speed);wait(0.001);
+ reculerD(speed);
+}
+void commande::tourner_gauche(char speed)
+{
+ avancerD(speed);wait(0.001);
+ reculerG(speed);
+}
+
+void commande::demi_tour(void)
+{
+ avancerD(50);wait(0.001);
+ reculerG(50);
+ wait(1.3);
+ avancerD(0);wait(0.001);
+ reculerG(0);
+}
+
+void commande::stop(void)
+{
+ avancerD(0);wait(0.001);
+ reculerG(0);
+}
+//////Fonction arret//////
+//void arreter(void)