Wall-e tut nicht was er soll

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:

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

Habs selber gelöst.

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

Hab jetzt ne While-Schleife genommen.

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

}