Advertisement
Guest User

Talent Robot

a guest
Sep 22nd, 2012
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 6.07 KB | None | 0 0
  1. //Code by Graham Gier, USC ID# 7227272017
  2.  
  3. #include <Myro.h>
  4. #include <math.h>
  5. #include <stdio.h>
  6. #include <iostream>
  7. #include <cstdlib>
  8.  
  9. using namespace std;
  10.  
  11. int main()
  12. {
  13.     srand ( time(NULL) );
  14.     double a = 880;
  15.     double b= 987.77;
  16.     double c = 1046.5;
  17.     double d = 1174.66;
  18.     double e = 1318.51;
  19.     double f = 1396.9;
  20.     double g = 1567.98;
  21.    
  22.     connect("/dev/tty.Fluke2-0221-Fluke2");
  23.     cout << robot.getBattery() << endl;
  24.     while(robot.getBattery() > 7 && robot.getLine()[1] == 0 && robot.getLine()[0] ==0)
  25.     {
  26.         cout << "obstacle: "<<endl;
  27.         cout << robot.getObstacle("center") << endl;
  28.        
  29.         cout <<"light:" << endl;
  30.         cout<< robot.getLight("center")<< endl;
  31.        
  32.         //1812 overture
  33.         if (robot.getObstacle("center") > 6000 && robot.getObstacle("left") >6000 && robot.getObstacle("right") > 6000)
  34.         {
  35.             robot.beep(.2, 783);
  36.             robot.beep(.2, 1046.5);
  37.             robot.beep(.2, 1174.66);
  38.             robot.beep(.2, 1318.5);
  39.             robot.beep(.2, 1174.66);
  40.             robot.beep(.2, c);
  41.             robot.beep(.2, 1174.66);
  42.             robot.beep(.4, e);
  43.             robot.beep(.4, c);
  44.             robot.beep(.8, c);
  45.             wait(.2);
  46.             robot.beep(.2, 783);
  47.             robot.beep(.2, 1046.5);
  48.             robot.beep(.2, 1174.66);
  49.             robot.beep(.2, 1318.5);
  50.             robot.beep(.2, 1174.66);
  51.             robot.beep(.2, c);
  52.             robot.beep(.2, 1174.66);
  53.             robot.beep(.4, e);
  54.             robot.beep(.4, c);
  55.             robot.beep(.8, c);
  56.             wait(.2);
  57.             robot.beep(.2, a);
  58.             robot.beep(.2, d);
  59.             robot.beep(.2, e);
  60.             robot.beep(.2, d);
  61.             robot.beep(.2, a);
  62.             robot.beep(.2, 698.46);
  63.             robot.beep(.2, a);
  64.             robot.beep(.2, d);
  65.             robot.beep(.2, a);
  66.             robot.beep(.2, 698.46);
  67.             robot.beep(.2, a);
  68.             robot.beep(.8,d);
  69.             wait(.2);
  70.             robot.beep(.2,783.99);
  71.             robot.beep(.2, c);
  72.             robot.beep(.2, d);
  73.             robot.beep(.2, e);
  74.             robot.beep(.2, d);
  75.             robot.beep(.2, c);
  76.             robot.beep(.2, d);
  77.             robot.beep(.4, e);
  78.             robot.beep(.4, c);
  79.             robot.beep(.8, c);
  80.             wait(.2);
  81.             robot.beep(.2, 783);
  82.             robot.beep(.2, 1046.5);
  83.             robot.beep(.2, 1174.66);
  84.             robot.beep(.2, 1318.5);
  85.             robot.beep(.2, 1174.66);
  86.             robot.beep(.2, c);
  87.             robot.beep(.2, 1174.66);
  88.             robot.beep(.4, e);
  89.             robot.beep(.4, c);
  90.             robot.beep(.8, c);
  91.             wait(.2);
  92.             robot.beep(.133333, a);
  93.             robot.beep(.133333, a);
  94.             robot.beep(.133333, a);
  95.             robot.beep(.4, c);
  96.             robot.beep(.4, a);
  97.             wait(.4);
  98.             robot.beep(.133333, a);robot.beep(.133333, a);robot.beep(.133333, a);
  99.             robot.beep(.4, b);
  100.             robot.beep(.4, 783.99);
  101.             wait(.4);
  102.             robot.beep(.133333, a);robot.beep(.133333, a);robot.beep(.133333, a);
  103.             robot.beep(.4, 932.33);
  104.             robot.beep(.4, a);
  105.             robot.beep(.4, c);
  106.             robot.beep(.4, b);
  107.             robot.beep(.4, d);
  108.             robot.beep(.4, c);
  109.             robot.beep(.2666666, g);
  110.             robot.beep(.2666666, 1479.98);
  111.             robot.beep(.2666666, f);
  112.             robot.beep(.2666666,e);
  113.             robot.beep(.2666666, 1244.51);
  114.             robot.beep(.2666666,d);
  115.             robot.beep(.2666666, 1108.73);
  116.             robot.beep(.2666666, c);
  117.             robot.beep(.2666666, b);
  118.             robot.beep(.2666666, 932.33);
  119.             robot.beep(.2666666, a);
  120.             robot.beep(.2666666, 830.61);
  121.             robot.beep(.2666666, 783.99);
  122.             wait(.4);
  123.             robot.beep(.4, 830.61);
  124.             wait(.4);
  125.             robot.beep(.4, a);
  126.             wait(.4);
  127.             robot.beep(.4, b);
  128.             wait(.4);
  129.             robot.beep(.2, c);
  130.             robot.beep(.2, 783.99);
  131.             robot.beep(.2, c);
  132.             robot.beep(.2, d);
  133.             robot.beep(.2, e);
  134.             robot.beep(.2, d);
  135.             robot.beep(.2, c);
  136.             robot.beep(.2, d);
  137.             robot.beep(.4, e);
  138.             wait(.4);
  139.             robot.beep(.4, e);
  140.             robot.beep(.6, c);
  141.         }
  142.        
  143.         //stick man
  144.         if(robot.getIR()[1] == 0 || robot.getIR()[0] == 0)
  145.         {
  146.             //legs
  147.             robot.forward(1, 1);
  148.             robot.turnRight(1, 1);
  149.             robot.forward(1, 1);
  150.             robot.turnLeft(1, 1.55);
  151.             robot.forward(1, 1);
  152.             robot.turnRight(1, .3);
  153.             //body
  154.             robot.forward(1, 1.25);
  155.             //arms
  156.             robot.turnRight(1, 1);
  157.             robot.forward(1,.7);
  158.             robot.turnLeft(1, 1.55);
  159.             robot.forward(1,.7);
  160.             robot.turnRight(1, .55);
  161.             robot.turnLeft(1,1);
  162.             robot.forward(1,.7);
  163.             robot.turnRight(1, 1.55);
  164.             robot.forward(1,.7);
  165.             //head
  166.             robot.motors(-.5, 1);
  167.             wait(4);
  168.             robot.motors(0,0);
  169.         }
  170.        
  171.         //surprise
  172.         if(robot.getLight("left") < 60000 || robot.getLight("center") < 55000 || robot.getLight("right") < 60000)
  173.         {
  174.             int randCheck = rand() %10;
  175.             if(randCheck>2)
  176.             {
  177.                 int sides = randCheck;
  178.                 cout << sides<< endl;
  179.                 float angle = ((180-((sides-2)*180/sides))*.00861111111111);
  180.                 cout << angle << endl;
  181.                 for(int i = 0; i < sides; i++)
  182.                 {
  183.                     robot.forward(1,.5);
  184.                     robot.motors(-1,1);
  185.                     wait(angle);
  186.                     robot.motors(0,0);
  187.                 }
  188.             }
  189.         }
  190.                
  191.  
  192.     }
  193.     cout << "Disconnecting" << endl;
  194.     disconnect();
  195.     return 0;
  196. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement