Go Down

Topic: Wall-e tut nicht was er soll (Read 446 times) previous topic - next topic

Chris.Le

Habe ein fertigen Sketch. Dieser funktioniert einwandfrei.
Wenn ich aber noch eine Funktion einfüge in meinen void loop(),
dann wird er nicht mehr ausgeführt.

wenn ich die 2. Funktion auskommentiere (  //walletouch  ), funktioniert alles wie bisher.

Hat einer ne Ahnung woran das liegt?

Code:
Code: [Select]
void loop()
{

 scan();  
 if(!cornerNav()){
   bumpSteer();
 }
 //delay(90000);
 //walletouch();

}


void walletouch(){
 rightWheel.write(R_STOP);
 leftWheel.write(L_STOP);
 head.write(CENTER);
 delay(400);
 head.write(LEFT);
 delay(1500);
 head.write(CENTER);
 delay(1000);
 head.write(RIGHT);
 delay(1500);
 //Sprechen kommt noch
 head.write(CENTER);
 delay(500);
 leftArm.write(RIGHT);
 rightArm.write(LEFT);
 delay(1000);
 leftWheel.write(L_FULL_REVERSE);
 rightWheel.write(R_FULL_REVERSE);
 delay(1000);
 rightWheel.write(R_FULL_REVERSE);
   leftWheel.write(L_FULL_FORWARD);
 delay(1500);
 scan();  
 if(!cornerNav()){
   bumpSteer();
   }
 delay(5000);
 rightWheel.write(R_FULL_FORWARD);
   leftWheel.write(L_FULL_REVERSE);
 delay(1500);
 scan();  
 if(!cornerNav()){
   bumpSteer();
   }
 delay(5000);
}


Es ist ein Hack eines Wall-e Spielzeuges, gesteuert durch Arduino, 5 Servos, 1 Sharp IR Sensor.

Wenn ihr mehr Information braucht oder mehr als diesen Programmschnipsel, sagt bitte bescheid.

Danke Chris

Chris.Le

Habs selber gelöst.

in meinem Sketch wurde scan() nur einmal ausgeführt und dann 90000 millis gewartet.

Hab jetzt ne While-Schleife genommen.

Code: [Select]
void loop()
{
while(schleife<1000)
{
 scan();  
 if(!cornerNav()){
   bumpSteer();
 }
}
 walletouch();
 schleife = 0;
while(schleife<2000)
{
 scan();  
 if(!cornerNav()){
   bumpSteer();
 }
}
walletouch();
 schleife = 0;

}

Go Up