Go Down

Topic: Problema con codigo, varios if dentro de un while (Solucionado) (Read 317 times) previous topic - next topic

Josko85

Solucion: Faltaria definir funciones pasoAscenso y pasoGiro que estan en la respuestas anteriores. También lo dejo sin librerías y demas para que cada uno ponga las del sensor y demás elementos que quiera.
Saludos



Code: [Select]

bool medida;
bool subir;
bool girar;
int pasosGiroAculados;
int pasosAscensoAcumulados;

int milimetros_totales=0;
int milimetros_parciales=0;

pasosGiroAculados = 0;
pasosAscensoAcumulados = 0;
subir=true;
girar=false;

void loop()
{
 if (Serial1.available()>0){
 Programa=Serial1.read();
 
 if (Programa==100){
 
 }
 if(Programa==200){
 while (subir == true) {
 pasoAscenso();
 pasosAscensoAcumulados++;
 girar=false;
 Serial.print ("pasosAscensoAcumulados");
 Serial.println (pasosAscensoAcumulados);  
 
 if (pasosAscensoAcumulados==200){
 milimetros_totales++;
 pasosAscensoAcumulados=0;
 }

 if (sensor0.readRangeContinuousMillimeters() >= 180){  // si doy una vuelta compelta guardo en milimetros_totales.
 subir=false;
 girar=true;
 }
 }
 while  (girar==true) {
 Serial.print ("pasosGiroAculados");
 Serial.println (pasosGiroAculados);
 
 if (sensor0.readRangeContinuousMillimeters() < 180){
 pasosGiroAculados=0;
 girar=false;
 subir=true;
 }
 
 if (sensor0.readRangeContinuousMillimeters() >= 180){
 pasoGiro();
 pasosGiroAculados++;
 if (pasosGiroAculados >= 200) {
 girar=false;
 subir=false;
 Programa=0;
 }
 }
 }    

 Serial.print ("milimetros_totales");
 Serial.println (milimetros_totales);
 Serial.print("pasosAscensoAcumulados");
 Serial.println(pasosAscensoAcumulados) ;
 

 }
    
 }
}

Go Up