Commit fd8f5fc183f33d9e974f02c72f2631d777a68b97

Authored by Mestari Yousra
1 parent 25c7cc5b

CODE DES ETATS

Showing 1 changed file with 37 additions and 3 deletions   Show diff stats
... ... @@ -625,11 +625,43 @@ int main(void)
625 625 if (field<thresholdInfrared/2)
626 626 state=SEEKING;
627 627  
628   -
629 628 }
630 629  
  630 + while (state == DEPART){
  631 + avancer(vitesse);
  632 + /* temps = robot/(2*vitesse) */
  633 + mDelay(temps);
  634 + avancer(0);
  635 + pivoter(vitesse);
  636 + /* temps_rotation = faire le test */
  637 + mDelay(temps_rotation);
  638 +
  639 + state=AVANCER;
  640 + }
  641 +
  642 + while (state==AVANCER){
  643 + avancer(vitesse);
  644 + centerInfraRed(SENSOR, &field);
  645 + if(field<thresholdInfrared){
  646 + state=DUPER;
  647 + }
  648 + }
  649 +
  650 + while (state==DUPER){
  651 + int k=1;
  652 + while(field<thresholdInfrared && k<10){
  653 + pivoter(vitesse*pow(-1,k));
  654 + /* calculer le temps pour que k=10 corresponde à un demi-tour */
  655 + mDelay(k*temps_DUPER);
  656 + k++;
  657 + centerInfraRed(SENSOR, &field);
  658 + }
  659 + if(k==10) state = PLS;
  660 + else state=AVANCER;
  661 +
  662 + }
631 663 while (state==PLS){
632   - int vitesse=500
  664 + int vitesse=500;
633 665 while (field<thresholdInfrared){
634 666 setSpeed(MOTOR_up_left, 1023);
635 667 setSpeed(MOTOR_up_right, vitesse);
... ... @@ -637,8 +669,10 @@ int main(void)
637 669 setSpeed(MOTOR_down_right, vitesse);
638 670 mdelay(floor(M_PI/vitesse));
639 671 vitesse=vitesse+50;
  672 + centerInfraRed(SENSOR, &field);
640 673 }
641   - state==START
  674 + state==DEPART;
  675 + }
642 676  
643 677 while (1) {} ;
644 678  
... ...