Go Down

Topic: Wall-e tut nicht was er soll (Read 463 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
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy