Guest User

Untitled

a guest
May 25th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.57 KB | None | 0 0
  1. #define path_state 60       // Thresholds
  2. #define white_state 20
  3. #define speed_normal 90     // Speeds
  4. #define plus 95
  5. #define minus 87
  6. #define minusM 60
  7. #define plusP 100
  8. #define pause 50            // Wait time after sensor change
  9.  
  10. task main()
  11. {
  12.  
  13.  
  14.     SetSensorLight(IN_1);   // Edge
  15.     SetSensorLight(IN_2);   // Pfad
  16.  
  17.    
  18.     bool check = false; // If true = Stop, if false = keep going
  19.     int angle = 1;      // To determine weather it's left or right
  20.    
  21.    
  22.     while(true)
  23.     {
  24.         OnFwd(OUT_AB,speed_normal); //20
  25.    
  26.         while(true)
  27.             {
  28.                 if(IN_2 >= path_state)
  29.                 {
  30.                     if(IN_1 >= path_state)
  31.                         {
  32.  
  33.                         OnFwd(OUT_B,plus);
  34.                         }
  35.                     else if(IN_1 <= path_state)
  36.                         {
  37.                         OnFwd(OUT_A,plus);                     
  38.                         }
  39.                 }
  40.                 else
  41.                     break;
  42.             }
  43.            
  44.         if(IN_2 <= path_state)
  45.             {
  46.             while(true)
  47.                         {
  48.                             Wait(pause);
  49.                             if(IN_2 >= path_state)
  50.                                 {
  51.                                 check = true;
  52.                                 Off(OUT_AB);
  53.                                 goto gunnery;
  54.                                 }
  55.                             else
  56.                                 {
  57.                                 Off(OUT_AB);
  58.                                 OnFwd(OUT_A,plusP);
  59.                                 OnRev(OUT_B,minusM);
  60.                                 Wait(5000);
  61.                                 break;
  62.                                 }
  63.                         }
  64.             }
  65.            
  66.                     while(check)
  67.                         {
  68.                         gunnery:
  69.                             if(angle = 1 || angle = 3)
  70.                                 {
  71.                                 OnFwd(OUT_C,100);
  72.                                 Wait(1000);
  73.                                 check = false;
  74.                                 angle++;
  75.                                 break;
  76.                                 }
  77.                             else if(angle = 2)
  78.                                 {
  79.                                 OnRev(OUT_C, 100);
  80.                                 Wait(1000);
  81.                                 check = false;
  82.                                 angle++;
  83.                                 break;
  84.                                 }
  85.                             else
  86.                                 {
  87.                                 angle = 1;
  88.                                 check = false;
  89.                                 break;
  90.                                 }
  91.                         }
  92.             }  
  93.         }
  94.     }
Add Comment
Please, Sign In to add comment