ss

Dependencies:   mbed

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;
        
  }  
  
  
        
}