Arduino Forum

Forum 2005-2010 (read only) => International => Deutsch => Topic started by: Chris.Le on Nov 14, 2009, 12:17 pm

Title: Wall-e tut nicht was er soll
Post by: Chris.Le on Nov 14, 2009, 12:17 pm
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
Title: Re: Wall-e tut nicht was er soll
Post by: Chris.Le on Nov 14, 2009, 01:29 pm
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;

}