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.
Dependencies: mbed bloc_io mbed-rtos html EthernetInterface
Revision 5:e3b59050984c, committed 2019-12-17
- Comitter:
- ragas
- Date:
- Tue Dec 17 09:04:10 2019 +0000
- Parent:
- 4:08e917c15d87
- Commit message:
- jhdf
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Tue Dec 03 08:47:42 2019 +0000
+++ b/main.cpp Tue Dec 17 09:04:10 2019 +0000
@@ -1,4 +1,6 @@
//#include "EthernetInterface.h"
+#define tps 0.1
+#define tpss 0.05
#include <stdlib.h>
#include <string.h>
#include "mbed.h"
@@ -16,6 +18,7 @@
// valid pmw mbed pin
Serial pc(USBTX, USBRX); // tx, rx
// Top_Hall Pin
+float pi=3.14159265359;
int valref=0 ;//rajout
int val=0;
float min ;
@@ -76,6 +79,11 @@
Ticker ragas;
float ray=0.20;
float Bride;
+Timer charo;
+float d=0;
+float dac;
+int kpar;
+int ktot;
//************************************************************
@@ -159,20 +167,21 @@
FILE* pfile = fopen ("/local/ragas.txt","r");
if(pfile!=NULL) {
- fscanf(pfile,"min=%f max=%f bride=%f", &min,&max,&Bride);
- pc.printf("\n min=%f max=%f bride=%f", min,max,Bride);
+ fscanf(pfile,"min=%f max=%f bride=%f Kpar=%d Ktot=%d", &min,&max,&Bride,&kpar,&ktot);
+ pc.printf("\n min=%f max=%f bride=%f Kpar=% Ktot=%d", min,max,Bride,kpar,ktot);
} else {
pc.printf("erreur");
}
fclose(pfile); // close file
- guidon.attach(&task1,0.05);
+ guidon.attach(&task1,tpss);
//***************************************************************************************
tphall.rise(&cpt);
- ragas.attach(&vit,0.1);
+ tphall.mode(PullUp);
+ ragas.attach(&vit,tps);
//****************************************************************************************
@@ -208,6 +217,8 @@
pc.printf(" v:vitesse\r\n");
pc.printf(" m:mode \r\n");
pc.printf(" w:valeur bride \r\n");
+ pc.printf(" x:reset \r\n ");
+ pc.printf(" k:kilometre \r\n");
pc.printf(" q:quitter \r\n");
/************* multithreading : main thread need to sleep in order to allow web response */
@@ -242,7 +253,7 @@
getchar();
max=poignee.read();
printf("max%f\n\r",max);
-
+
break;
case 'm':
do {
@@ -251,19 +262,21 @@
} while(mode<0 || mode >1);
break ;
case 'q':
- FILE* pfile = fopen ("/local/ragas.txt","w");
+ FILE* pfile = fopen ("/local/ragas.txt","w");
if(pfile!=NULL)
- fprintf(pfile,"min=%f max=%f bride=%f", min,max,Bride);
+ fprintf(pfile,"min=%f max=%f bride=%f kpar=%d ktot=%d", min,max,Bride,kpar,ktot);
fclose(pfile); // close file
valid.write(0);
MyPLD.write(0);
guidon.detach();
+ ragas.detach();
+ dac=0;
break;
case 'v':
printf ("vitesse :%g m/s \n",vitesse);
printf ("vitesse :%g km/h \n",vitesse*3.6);
- printf ("vitesse :%g tr/min \n",(vitesse*60)/(2*3.14159265359*ray));
+ printf ("vitesse :%g tr/min \n",(vitesse*60)/(2*pi*ray));
break ;
case 'w':
do {
@@ -271,6 +284,22 @@
scanf("%g",&Bride);
} while(Bride<0 || Bride >38.9);
break ;
+
+ case 'k':
+
+ d=(((2*pi*ray)/(6*8))*ktot);
+
+ printf("distance= %g m\r\n",d);
+
+ dac=(((2*pi*ray)/(6*8))*kpar);
+
+ printf("distance= %g m\r\n",dac);
+ break;
+ case 'x' :
+ kpar=0;
+ break;
+
+
/* case 'q':
@@ -346,19 +375,19 @@
if(frein==0) { //frein actif
val=0;
} else { //frein inactif
-
- if(val<valPoignee) { //incrémentation
- val=val+1;
- } else { //bonne valeur
- val=valPoignee;
- }
- if(Bride<vitesse*3.6){
- val=val-1;
- }
-
- if(val<0) {
- val=0;
- }/*
+
+ if(val<valPoignee) { //incrémentation
+ val=val+1;
+ } else { //bonne valeur
+ val=valPoignee;
+ }
+ if(Bride<vitesse*3.6) {
+ val=val-1;
+ }
+
+ if(val<0) {
+ val=0;
+ }/*
if(val>valPoignee) { //décrémentation
val=val-1;
} else { //bonne valeur
@@ -390,5 +419,21 @@
{
lire=cpthall;
cpthall=0;
- vitesse=(((2*3.14159265359*ray)/(6*8))*lire)/0.1;
+ vitesse=(((2*pi*ray)/(6*8))*lire)/tps;
+ /*if (vitesse!=0)
+ {
+
+ charo.start();
+ vitesse=vitesse/3600;
+ }
+ else
+ {
+ charo.stop();
+ }
+
+ d=d+vitesse*charo;
+ dac=dac+vitesse*charo;
+ charo.reset();*/
+ kpar=kpar+lire;
+ ktot=ktot+lire;
}