Advertisement
KRITSADA

Test Robot Time Delay with Knob

Sep 16th, 2019
280
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <popx2.h>
  2.  
  3. #define STRAING_DELAY 10
  4. #define BACKWARD_DELAY 300
  5. #define WALL_DELAY 100
  6. #define SPEED 30
  7.  
  8. int TURN_DELAY=350;
  9. float ANGLE = 0;
  10.  
  11. void FF(){
  12.   /////////// Wall detect /////////////
  13.   while(in(26)){
  14.     if(!in(24)){
  15.       tr(SPEED);
  16.       delay(WALL_DELAY);
  17.     }
  18.     else if(!in(25)){
  19.       tl(SPEED);
  20.       delay(WALL_DELAY);
  21.     }
  22.     else{
  23.       fd2(SPEED, SPEED);
  24.     }
  25.   }
  26.   //////////// Straing alignment ///////////////
  27.   while(in(24) || in(25)){
  28.     if(!in(24)){
  29.       tl(SPEED);
  30.     }
  31.     else if(!in(25)){
  32.       tr(SPEED);
  33.     }
  34.   }
  35.   delay(STRAING_DELAY);
  36.   ao();
  37.   delay(500);
  38.   /////////////////////////////////////////////
  39.  
  40.   bk(SPEED);
  41.   delay(BACKWARD_DELAY);
  42.   ao();
  43. }
  44.  
  45. void FR(){
  46.   delay(500);
  47.   sr(SPEED*0.8);
  48.   delay(TURN_DELAY);
  49.   ao();
  50.   delay(500);
  51. }
  52.  
  53. void FL(){
  54.   delay(500);
  55.   sl(SPEED*0.8);
  56.   delay(TURN_DELAY);
  57.   ao();
  58.   delay(500);
  59. }
  60.  
  61. void KICK(){
  62.   bk(SPEED);
  63.   delay(BACKWARD_DELAY);
  64.   ao();
  65.   FL();
  66.   FL();
  67.   ao(); delay(500);
  68.   bk(SPEED); delay(BACKWARD_DELAY);
  69.   ao(); delay(500);
  70.   delay(500);servo(1,100);
  71.   delay(500);servo(1,115);
  72.   delay(500);servo(1, 90);
  73.   delay(1000);
  74. }
  75.  
  76. void setup() {
  77.   servo(1, 90);
  78.   setTextSize(2);  
  79.   ///////////////////////////////////
  80.  
  81.   /* Press OK */
  82.   glcd(0,0,"Press OK");
  83.   while(!sw_OK()){
  84.     TURN_DELAY = map(knob(),0,1024,300,800);
  85.     glcd(1,0,"T=%d",TURN_DELAY);
  86.     delay(100);
  87.   }
  88.   glcd(0,0,"Running ");
  89.   ///////////////////////////////////    
  90.   delay(500);
  91.   FF();FL();
  92.  
  93.   glcd(0,0,"Finished");
  94. }
  95.  
  96. void loop() {
  97.   //FF();FR();
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement