Ehhh T NUL
Dependencies: mbed bloc_io mbed-rtos html
Diff: main.cpp
- Revision:
- 5:e3b59050984c
- Parent:
- 4:08e917c15d87
- Child:
- 6:c785bc12d542
diff -r 08e917c15d87 -r e3b59050984c main.cpp --- 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; }