juan pores
/
PWM_myopenlab
ss
main.cpp
- Committer:
- poresc
- Date:
- 2020-10-26
- Revision:
- 0:b9f21a1a1fac
File content as of revision 0:b9f21a1a1fac:
#include "string" #include "mbed.h" #include "sstream" Serial pc(USBTX,USBRX); DigitalIn pulso(PTC5); DigitalOut right(PTC7); DigitalOut left(PTC0); int rea,ns; string cadena; using namespace std; void velocidad(int a,float ad); PwmOut l1(PTB3),l2(PTC2); int selec; float cambio; float rpm; int i=0; int f=0; int m=0; //using namespace boost; float h; int main(){ while(1){ if(pc.readable()){ cadena=pc.getc(); } if(cadena=="0"){ h=0.0; pc.printf(" pwm al 0 %.2f",h); } if (cadena=="1"){ h=0.1; pc.printf(" pwm al 10 %.2f",h); } if (cadena=="2"){ h=0.2; pc.printf(" pwm al 20 %.2f",h); } if (cadena=="3"){ h=0.3; pc.printf(" pwm al 30 %.2f",h); } if (cadena=="4"){ h=0.4; //if(m!=2){ // m=1; //} pc.printf(" pwm al 40 %.2f",h); //if(m==0){ for(int j=0;j<=5;j++){ if(pulso==1){ i=i+1; } if(j==5){ rpm=((i*60)/5)/6; } } i=0; } if (cadena=="5"){ h=0.5; pc.printf(" pwm al 50 %.2f",h); } if (cadena=="6"){ h=0.6; pc.printf(" pwm al 60 %.2f",h); } if (cadena=="7"){ h=0.7; pc.printf(" pwm al 70 %.2f",h); } if (cadena=="8"){ h=0.8; pc.printf(" pwm al 80 %.2f",h); } if (cadena=="9"){ h=0.9; pc.printf(" pwm al 90 %.2f",h); } if (cadena=="10"){ h=1; pc.printf(" pwm al 100 %.2f",h); } if(cadena=="d"){ selec=1; pc.printf(" derecha"); } if(cadena=="i"){ selec=2; pc.printf(" izquierda"); } if(cadena=="n"){ selec=0; pc.printf(" sin sentido"); } wait(0.5); // selec=1; cambio=h; velocidad(selec,cambio); /*if( if(pulso==1){ i=i+1; wait(0.2); }*/ /*if(i>=6){ f=f+1; i=0; }*/ //rpm=(6.2831*f)*(60/6.2831); pc.printf("rpm= %.2f",rpm); //h=rea-50000; // pc.printf("%s",); // std::string Convert(float rea); //cadena=float.toString("%f",rea); //pc.printf("%s",cadena); } } void velocidad(int a,float ad){ switch (a){ case 0: l1=0; l2=0; break; case 1: l1.write(ad); l2=0; break; case 2: l2.write(ad); l1=0; break; } }