Advertisement
Guest User

Untitled

a guest
Nov 19th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.48 KB | None | 0 0
  1. int LEFT_MOTOR=0;
  2. int RIGHT_MOTOR=3;
  3. int leftTurn = 0;
  4. int rightTurn = 1;
  5.  
  6. void forward()
  7. {
  8.     motor(LEFT_MOTOR,50);
  9.     motor(RIGHT_MOTOR,50);
  10. }
  11.  
  12. void backward()
  13. {
  14.     motor(LEFT_MOTOR,-50);
  15.     motor(RIGHT_MOTOR, -50);
  16. }
  17.  
  18. void right()
  19. {
  20.     motor(LEFT_MOTOR,50);
  21.     motor(RIGHT_MOTOR,-50);
  22. }
  23.  
  24. void left()
  25. {
  26.     motor(RIGHT_MOTOR,50);
  27.     motor(LEFT_MOTOR,-50);
  28. }
  29.  
  30. void stop()
  31. {
  32.     off(LEFT_MOTOR);
  33.     off(RIGHT_MOTOR);
  34. }
  35.  
  36. void startup(){
  37.     tone(800.,0.2);
  38.     tone(1000.,0.2);
  39. }
  40.  
  41. void shutdown(){
  42.     tone(1567.98,0.1);
  43.     tone(1479.98,0.1);
  44.     tone(1244.51,0.1);
  45.     tone(880.00,0.1);
  46.     tone(830.61,0.1);
  47.     tone(1318.,0.1);
  48.     tone(1661.22,0.1);
  49.     tone(2093.00,0.1);
  50. }
  51.  
  52. void turnForDegrees(float degrees, int direction) {
  53.     float timeToTurn = (2.68/360.)*degrees;
  54.     restartProgram();
  55.     if(direction == 0)
  56.       {
  57.         left();
  58.     }
  59.     else
  60.       {
  61.         right();
  62.     }
  63.     sleep(timeToTurn);
  64.     stop();
  65.     sleep(0.05);
  66. }
  67.  
  68. void goForward(float distance) {
  69.     float travelTime = distance/15.;
  70.     restartProgram();
  71.     forward();
  72.     sleep(travelTime);
  73.     backward();
  74.     sleep(0.045);
  75.     stop();
  76.     sleep(0.05);
  77. }
  78.  
  79. void goBackward(float distance) {
  80.     float travelTime = distance/15.;
  81.     restartProgram();
  82.     backward();
  83.     sleep(travelTime);
  84.     forward();
  85.     sleep(0.045);
  86.     stop();
  87.     sleep(0.05);
  88. }
  89.  
  90. void restartProgram() {
  91.     if(stop_button() == 1){
  92.         main();
  93.         printf("Restarting! \n"); sleep(0.5);
  94.     }
  95. }
  96.  
  97. void main() {
  98.     while(stop_button() == 0)
  99.       {
  100.         printf("Ready to go! \n");
  101.     }
  102.     startup();
  103.     goForward(17.);
  104.     turnForDegrees(37.,leftTurn);
  105.     goForward(20.);
  106.     turnForDegrees(90.,rightTurn);
  107.     goForward(12.); //scores the first puck
  108.     goBackward(7.);
  109.     turnForDegrees(191.,leftTurn);
  110.     goForward(9.);
  111.     turnForDegrees(20., rightTurn);
  112.     goForward(11.);
  113.     turnForDegrees(18., leftTurn);
  114.     goForward(10.);
  115.     turnForDegrees(79., rightTurn);
  116.     goForward(20.); //scores second puck
  117.     goBackward(8.);
  118.     turnForDegrees(65., rightTurn);
  119.     goForward(23.);
  120.     turnForDegrees(39., leftTurn);
  121.     goForward(12.);
  122.     turnForDegrees(33., leftTurn);
  123.     goForward(11.); //scores third puck (if david is nice)
  124.     goBackward(24.);
  125.     turnForDegrees(20., leftTurn);
  126.     goForward(26.);
  127.     goBackward(8.);
  128.     stop(); sleep(20.);
  129.     shutdown();
  130.     while(1){
  131.         restartProgram();
  132.     }  
  133. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement