12自由度的四角蜘蛛程序
可以左右前后行走
制作出來的實物圖:
QQ圖片20170615191222.jpg (4.09 MB, 下載次數: 61)
下載附件
2018-2-14 18:38 上傳
arduino源程序如下:
- #include<Servo.h>
- int count_start=0;
- int count_forward=0;
- int count_back=0;
- int x;
- Servo a1;
- Servo a2;
- Servo a3;//***********
- Servo b1;
- Servo b2;
- Servo b3;//***********
- Servo c1;
- Servo c2;
- Servo c3;//***********
- Servo d1;
- Servo d2;
- Servo d3;//***********
- void start(){
- a1.write(130);
- a2.write(0);
- a3.write(180);//***********
- b1.write(20);
- b2.write(45);
- b3.write(90);//************
- c1.write(90);
- c2.write(30);
- c3.write(160);//*************
- d1.write(120);
- d2.write(60);
- d3.write(160);//************
- delay(2000);
- count_start++;
- }
- void stand()
- {
- const int times=2000;
- const int numstand_a3dow=60;
- const int numstand_b3dow=55;
- const int numstand_c2up=30;
- const int numstand_c3dow=30;
- const int numstand_d2up=30;
- const int numstand_d3dow=15;
- int *stand_a3dow = new int [numstand_a3dow];
- int *stand_b3dow = new int [numstand_b3dow];
- int *stand_c2up = new int [numstand_c2up];
- int *stand_c3dow = new int [numstand_c3dow];
- int *stand_d2up = new int [numstand_d2up];
- int *stand_d3dow = new int [numstand_d3dow];
- int rawstand_a3=180,rawstand_b3=90,rawstand_c2=30,rawstand_c3=160,rawstand_d2=60,rawstand_d3=160;
- for(int i = 0;i <= numstand_a3dow-1 ;i++) //stand_a3dow
- {
- stand_a3dow[i] =rawstand_a3;
- rawstand_a3 --;
- }
- rawstand_a3 =180;
- for(int i = 0;i <=numstand_a3dow-1;i++)
- {
- a3.write(stand_a3dow[i]);
- }
- for(int i = 0;i <= numstand_b3dow-1 ;i++) //stand_b3dow
- {
- stand_b3dow[i] =rawstand_b3;
- rawstand_b3 --;
- }
- rawstand_b3 =90;
- for(int i = 0;i <=numstand_b3dow-1;i++)
- {
- b3.write(stand_b3dow[i]);
- }
- for(int i = 0;i <= numstand_c2up-1 ;i++) //stand_c2up
- {
- stand_c2up[i] =rawstand_c2;
- rawstand_c2 ++;
- }
- rawstand_c2 =30;
- for(int i = 0;i <=numstand_c2up-1;i++)
- {
- c2.write(stand_c2up[i]);
- }
- for(int i = 0;i <= numstand_c3dow-1 ;i++) //stand_c3dow
- {
- stand_c3dow[i] =rawstand_c3;
- rawstand_c3 --;
- }
- rawstand_c3 =160;
- for(int i = 0;i <=numstand_c3dow-1;i++)
- {
- c3.write(stand_c3dow[i]);
- }
- for(int i = 0;i <= numstand_d2up-1 ;i++) //stand_d2up
- {
- stand_d2up[i] =rawstand_d2;
- rawstand_d2 ++;
- }
- rawstand_d2 =60;
- for(int i = 0;i <=numstand_d2up-1;i++)
- {
- d2.write(stand_d2up[i]);
- }
- for(int i = 0;i <= numstand_d3dow-1 ;i++) //stand_d3dow
- {
- stand_d3dow[i] =rawstand_d3;
- rawstand_d3 --;
- }
- rawstand_d3 =160;
- for(int i = 0;i <=numstand_d3dow-1;i++)
- {
- d3.write(stand_d3dow[i]);
- }
- delete [] stand_a3dow;
- delete [] stand_b3dow;
- delete [] stand_c2up;
- delete [] stand_c3dow;
- delete [] stand_d2up;
- delete []stand_d3dow;
- delay(times);
- }
- void forward()
- {
- const int times =200;
- const int numgoone_a2up = 30;
- const int numgoone_a1dow = 60;
- const int numgoone_a3dow = 5;
- const int num_goone_a2dow = 10;
- int *forwardgoone_a2up = new int [numgoone_a2up];
- int *forwardgoone_a1dow = new int [numgoone_a1dow];
- int *forwardgoone_a3dow = new int [numgoone_a3dow];
- int *forward_goone_a2dow = new int [num_goone_a2dow];
- int rawgoone_a1 = 130,rawgoone_a2 = 0,rawgoone_a3 = 125,raw_goone_a2 = 30;
- for(int i = 0;i <= numgoone_a2up-1 ;i++) //goone_a2 up
- {
- forwardgoone_a2up[i] = rawgoone_a2;
- rawgoone_a2 ++;
- }
- rawgoone_a2 = 0;
- for(int i = 0;i <= numgoone_a2up-1;i++)
- {
- a2.write(forwardgoone_a2up[i]);
- }
- for(int i = 0;i <= numgoone_a1dow-1 ;i++) //goone_a1 dow
- {
- forwardgoone_a1dow[i] = rawgoone_a1;
- rawgoone_a1--;
- }
- rawgoone_a1 = 130;
- for(int i = 0;i <= numgoone_a1dow-1;i++)
- {
- a1.write(forwardgoone_a1dow[i]);
- }
- for(int i = 0;i <= numgoone_a3dow-1 ;i++) //goone_a3 dow
- {
- forwardgoone_a3dow[i] = rawgoone_a3;
- rawgoone_a3--;
- }
- rawgoone_a3 = 125;
- for(int i = 0;i <= numgoone_a3dow-1;i++)
- {
- a3.write(forwardgoone_a3dow[i]);
- }
- delete [] forwardgoone_a2up;
- delete [] forwardgoone_a1dow;
- delete [] forwardgoone_a3dow;
- delay(times);
- for(int i = 0;i <= num_goone_a2dow-1 ;i++) //_goone_a2 dow
- {
- forward_goone_a2dow[i] = raw_goone_a2;
- raw_goone_a2--;
- }
- raw_goone_a2 = 30;
- for(int i = 0;i <= num_goone_a2dow-1;i++)
- {
- a2.write(forward_goone_a2dow[i]);
- }
- delete [] forward_goone_a2dow;
- delay(times);
- //go the first leg
- const int nummoveone_a1up = 20;
- const int nummoveone_a2up = 10;
- const int nummoveone_a3up = 30;
- const int nummovetwo_b1up = 40;
- const int nummovetwo_b2up = 30;
- const int nummovetwo_b3up =25;
- const int nummovethree_c1dow =40;
- const int nummovethree_c2dow = 30;
- const int nummovethree_c3dow =25;
- const int nummovefour_d1dow =20;
- const int nummovefour_d2dow= 10;
- const int nummovefour_d3dow = 30;
- int *forwardmoveone_a1up = new int [nummoveone_a1up];
- int *forwardmoveone_a2up = new int [nummoveone_a2up];
- int *forwardmoveone_a3up = new int [nummoveone_a3up];
- int *forwardmovetwo_b1up = new int [nummovetwo_b1up];
- int *forwardmovetwo_b2up = new int [nummovetwo_b2up];
- int *forwardmovetwo_b3up = new int [nummovetwo_b3up];
- int *forwardmovethree_c1dow = new int [nummovethree_c1dow];
- int *forwardmovethree_c2dow = new int [nummovethree_c2dow];
- int *forwardmovethree_c3dow = new int [nummovethree_c3dow];
- int *forwardmovefour_d1dow = new int [nummovefour_d1dow];
- int *forwardmovefour_d2dow= new int [nummovefour_d2dow];
- int *forwardmovefour_d3dow = new int [nummovefour_d3dow];
- int rawmoveone_a1 = 70,rawmoveone_a2 =20,rawmoveone_a3 =120,
- rawmovetwo_b1 =20,rawmovetwo_b2 =45,rawmovetwo_b3 =35,
- rawmovethree_c1 =90,rawmovethree_c2 =60,rawmovethree_c3 =130,
- rawmovefour_d1 =120,rawmovefour_d2 =90,rawmovefour_d3 =145;
- for(int i = 0;i <= nummoveone_a1up-1 ;i++) //moveone_a1up
- {
- forwardmoveone_a1up[i] = rawmoveone_a1;
- rawmoveone_a1 ++;
- }
- rawmoveone_a1 = 70;
- for(int i = 0;i <= nummoveone_a1up-1;i++)
- {
- a1.write(forwardmoveone_a1up[i]);
- }
- for(int i = 0;i <= nummoveone_a2up-1 ;i++) //moveone_a2up
- {
- forwardmoveone_a2up[i] = rawmoveone_a2;
- rawmoveone_a2 ++;
- }
- rawmoveone_a2 = 20;
- for(int i = 0;i <= nummoveone_a2up-1;i++)
- {
- a2.write(forwardmoveone_a2up[i]);
- }
- for(int i = 0;i <= nummoveone_a3up-1 ;i++) //moveone_a3 up
- {
- forwardmoveone_a3up[i] = rawmoveone_a3;
- rawmoveone_a3 ++;
- }
- rawmoveone_a3 =120;
- for(int i = 0;i <= nummoveone_a3up-1;i++)
- {
- a3.write(forwardmoveone_a3up[i]);
- }
- for(int i = 0;i <= nummovetwo_b1up-1 ;i++) //movetwo_b1up
- {
- forwardmovetwo_b1up[i] = rawmovetwo_b1;
- rawmovetwo_b1 ++;
- }
- rawmovetwo_b1 =20;
- for(int i = 0;i <= nummovetwo_b1up-1;i++)
- {
- b1.write(forwardmovetwo_b1up[i]);
- }
- for(int i = 0;i <= nummovetwo_b2up-1 ;i++) //movetwo_b2 up
- {
- forwardmovetwo_b2up[i] = rawmovetwo_b2;
- rawmovetwo_b2 ++;
- }
- rawmovetwo_b2 =45;
- for(int i = 0;i <= nummovetwo_b2up-1;i++)
- {
- b2.write(forwardmovetwo_b2up[i]);
- }
- for(int i = 0;i <= nummovetwo_b3up-1 ;i++) //movetwo_b3 up
- {
- forwardmovetwo_b3up[i] = rawmovetwo_b3;
- rawmovetwo_b3 ++;
- }
- rawmovetwo_b3 =35;
- for(int i = 0;i <= nummovetwo_b3up-1;i++)
- {
- b3.write(forwardmovetwo_b3up[i]);
- }
- for(int i = 0;i <= nummovethree_c1dow-1 ;i++) //movethree_c1dow
- {
- forwardmovethree_c1dow[i] = rawmovethree_c1;
- rawmovethree_c1 --;
- }
- rawmovethree_c1 =90;
- for(int i = 0;i <= nummovethree_c1dow-1;i++)
- {
- c1.write(forwardmovethree_c1dow[i]);
- }
- for(int i = 0;i <= nummovethree_c2dow-1 ;i++) //movethree_c2dow
- {
- forwardmovethree_c2dow[i] = rawmovethree_c2;
- rawmovethree_c2 --;
- }
- rawmovethree_c2 =60;
- for(int i = 0;i <= nummovethree_c2dow-1;i++)
- {
- c2.write(forwardmovethree_c2dow[i]);
- }
- for(int i = 0;i <= nummovethree_c3dow-1 ;i++) //movethree_c3dow
- {
- forwardmovethree_c3dow[i] = rawmovethree_c3;
- rawmovethree_c3 --;
- }
- rawmovethree_c3 =130;
- for(int i = 0;i <= nummovethree_c3dow-1;i++)
- {
- c3.write(forwardmovethree_c3dow[i]);
- }
- for(int i = 0;i <= nummovefour_d1dow-1 ;i++) //movefour_d1dow
- {
- forwardmovefour_d1dow[i] = rawmovefour_d1;
- rawmovefour_d1 --;
- }
- rawmovefour_d1 =120;
- for(int i = 0;i <= nummovefour_d1dow-1;i++)
- {
- d1.write(forwardmovefour_d1dow[i]);
- }
- for(int i = 0;i <= nummovefour_d2dow-1 ;i++) //movefour_d2dow
- {
- forwardmovefour_d2dow[i] = rawmovefour_d2;
- rawmovefour_d2 --;
- }
- rawmovefour_d2 =90;
- for(int i = 0;i <= nummovefour_d2dow-1;i++)
- {
- d2.write(forwardmovefour_d2dow[i]);
- }
- for(int i = 0;i <= nummovefour_d3dow-1 ;i++) //movefour_d3dow
- {
- forwardmovefour_d3dow[i] = rawmovefour_d3;
- rawmovefour_d3 --;
- }
- rawmovefour_d3 =145;
- for(int i = 0;i <= nummovefour_d3dow-1;i++)
- {
- d3.write(forwardmovefour_d3dow[i]);
- }
- delete [] forwardmoveone_a1up;
- delete [] forwardmoveone_a2up;
- delete [] forwardmoveone_a3up;
- delete [] forwardmovetwo_b1up;
- delete [] forwardmovetwo_b2up;
- delete [] forwardmovetwo_b3up;
- delete [] forwardmovethree_c1dow;
- delete [] forwardmovethree_c2dow;
- delete [] forwardmovethree_c3dow;
- delete [] forwardmovefour_d1dow;
- delete [] forwardmovefour_d2dow;
- delete [] forwardmovefour_d3dow;
- delay(times);
- //move the body
- const int numbackfour_d2up = 30;
- const int numbackfour_d1up = 60;
- const int numbackfour_d3up = 5;
- int *forwardbackfour_d2up = new int [numbackfour_d2up];
- int *forwardbackfour_d1up = new int [numbackfour_d1up];
- int *forwardbackfour_d3up = new int [numbackfour_d3up];
- int rawbackfour_d2 = 80,rawbackfour_d1 = 100,rawbackfour_d3 = 115;
- for(int i = 0;i <= numbackfour_d2up-1 ;i++) //backfour_d2up
- {
- forwardbackfour_d2up[i] = rawbackfour_d2;
- rawbackfour_d2 ++;
- }
- rawbackfour_d2 = 80;
- for(int i = 0;i <= numbackfour_d2up-1;i++)
- {
- d2.write(forwardbackfour_d2up[i]);
- }
- for(int i = 0;i <= numbackfour_d1up-1 ;i++) //backfour_d1up
- {
- forwardbackfour_d1up[i] = rawbackfour_d1;
- rawbackfour_d1++;
- }
- rawbackfour_d1 = 100;
- for(int i = 0;i <= numbackfour_d1up-1;i++)
- {
- d1.write(forwardbackfour_d1up[i]);
- }
- for(int i = 0;i <= numbackfour_d3up-1 ;i++) //backfour_d3up
- {
- forwardbackfour_d3up[i] = rawbackfour_d3;
- rawbackfour_d3++;
- }
- rawbackfour_d3 = 115;
- for(int i = 0;i <= numbackfour_d3up-1;i++)
- {
- d3.write(forwardbackfour_d3up[i]);
- }
- delete [] forwardbackfour_d2up;
- delete [] forwardbackfour_d1up;
- delete [] forwardbackfour_d3up;
- delay(times);
- const int num_backfour_d2dow = 50;
- int *forward_backfour_d2dow = new int [num_backfour_d2dow];
- int raw_backfour_d2 = 110;
- for(int i = 0;i <= num_backfour_d2dow-1 ;i++) //_backfour_d2dow
- {
- forward_backfour_d2dow[i] = raw_backfour_d2;
- raw_backfour_d2 --;
- }
- raw_backfour_d2 = 110;
- for(int i = 0;i <= num_backfour_d2dow-1;i++)
- {
- d2.write(forward_backfour_d2dow[i]);
- }
- delete [] forward_backfour_d2dow;
- delay(times);
- //back the four leg
- const int numgothree_c2up = 30;
- const int numgothree_c1up = 75;
- const int numgothree_c3dow = 5;
- int *forwardgothree_c2up = new int [numgothree_c2up];
- int *forwardgothree_c1up = new int [numgothree_c1up];
- int *forwardgothree_c3dow = new int [numgothree_c3dow];
- int rawgothree_c2 =30,rawgothree_c1 =50,rawgothree_c3 =105;
- for(int i = 0;i <= numgothree_c2up-1 ;i++) //gothree_c2up
- {
- forwardgothree_c2up[i] = rawgothree_c2;
- rawgothree_c2 ++;
- }
- rawgothree_c2 = 30;
- for(int i = 0;i <= numgothree_c2up-1;i++)
- {
- c2.write(forwardgothree_c2up[i]);
- }
- for(int i = 0;i <= numgothree_c1up-1 ;i++) //gothree_c1up
- {
- forwardgothree_c1up[i] = rawgothree_c1;
- rawgothree_c1++;
- }
- rawgothree_c1 = 50;
- for(int i = 0;i <= numgothree_c1up-1;i++)
- {
- c1.write(forwardgothree_c1up[i]);
- }
- for(int i = 0;i <= numgothree_c3dow-1 ;i++) //gothree_c3dow
- {
- forwardgothree_c3dow[i] = rawgothree_c3;
- rawgothree_c3--;
- }
- rawgothree_c3 = 105;
- for(int i = 0;i <= numgothree_c3dow-1;i++)
- {
- c3.write(forwardgothree_c3dow[i]);
- }
- delete [] forwardgothree_c2up;
- delete [] forwardgothree_c1up;
- delete [] forwardgothree_c3dow;
- delay(times);
- const int num_gothree_c2dow = 10;
- int *forward_gothree_c2dow = new int [num_gothree_c2dow];
- int raw_gothree_c2 = 60;
- for(int i = 0;i <= num_gothree_c2dow-1 ;i++) //_gothree_c2dow
- {
- forward_gothree_c2dow[i] = raw_gothree_c2;
- raw_gothree_c2 --;
- }
- raw_gothree_c2 = 110;
- for(int i = 0;i <= num_gothree_c2dow-1;i++)
- {
- c2.write(forward_gothree_c2dow[i]);
- }
- delete [] forward_gothree_c2dow;
- delay(times);
- //go the third leg
- const int numamoveone_a1up = 40;
- const int numamoveone_a2dow = 30;
- const int numamoveone_a3dow = 25;
- const int numamovetwo_b1up = 20;
- const int numamovetwo_b2dow= 10;
- const int numamovetwo_b3dow=30;
- const int numamovethree_c1dow =35;
- const int numamovethree_c2up = 10;
- const int numamovethree_c3up =30;
- const int numamovefour_d1dow =40;
- const int numamovefour_d2up= 30;
- const int numamovefour_d3up =25;
- int *forwardamoveone_a1up = new int [numamoveone_a1up];
- int *forwardamoveone_a2dow = new int [numamoveone_a2dow];
- int *forwardamoveone_a3dow = new int [numamoveone_a3dow];
- int *forwardamovetwo_b1up = new int [numamovetwo_b1up];
- int *forwardamovetwo_b2dow = new int [numamovetwo_b2dow];
- int *forwardamovetwo_b3dow = new int [numamovetwo_b3dow];
- int *forwardamovethree_c1dow = new int [numamovethree_c1dow];
- int *forwardamovethree_c2up = new int [numamovethree_c2up];
- int *forwardamovethree_c3up = new int [numamovethree_c3up];
- int *forwardamovefour_d1dow = new int [numamovefour_d1dow];
- int *forwardamovefour_d2up= new int [numamovefour_d2up];
- int *forwardamovefour_d3up = new int [numamovefour_d3up];
- int rawamoveone_a1 = 90,rawamoveone_a2 =30,rawamoveone_a3 =150,
- rawamovetwo_b1 =60,rawamovetwo_b2 =75,rawamovetwo_b3 =60,
- rawamovethree_c1 =125,rawamovethree_c2 =50,rawamovethree_c3 =100,
- rawamovefour_d1 =160,rawamovefour_d2 =60,rawamovefour_d3 =120;
- for(int i = 0;i <= numamoveone_a1up-1 ;i++) //amoveone_a1up
- {
- forwardamoveone_a1up[i] = rawamoveone_a1;
- rawamoveone_a1 ++;
- }
- rawamoveone_a1 = 90;
- for(int i = 0;i <= numamoveone_a1up-1;i++)
- {
- a1.write(forwardamoveone_a1up[i]);
- }
- for(int i = 0;i <= numamoveone_a2dow-1 ;i++) //amoveone_a2dow
- {
- forwardamoveone_a2dow[i] = rawamoveone_a2;
- rawamoveone_a2 --;
- }
- rawamoveone_a2 = 30;
- for(int i = 0;i <= numamoveone_a2dow-1;i++)
- {
- a2.write(forwardamoveone_a2dow[i]);
- }
- for(int i = 0;i <= numamoveone_a3dow-1 ;i++) //amoveone_a3dow
- {
- forwardamoveone_a3dow[i] = rawamoveone_a3;
- rawamoveone_a3 --;
- }
- rawamoveone_a3 =150;
- for(int i = 0;i <= numamoveone_a3dow-1;i++)
- {
- a3.write(forwardamoveone_a3dow[i]);
- }
- for(int i = 0;i <= numamovetwo_b1up-1 ;i++) //amovetwo_b1up
- {
- forwardamovetwo_b1up[i] = rawamovetwo_b1;
- rawamovetwo_b1 ++;
- }
- rawamovetwo_b1 =60;
- for(int i = 0;i <= numamovetwo_b1up-1;i++)
- {
- b1.write(forwardamovetwo_b1up[i]);
- }
- for(int i = 0;i <= numamovetwo_b2dow-1 ;i++) //amovetwo_b2dow
- {
- forwardamovetwo_b2dow[i] = rawamovetwo_b2;
- rawamovetwo_b2--;
- }
- rawamovetwo_b2 =75;
- for(int i = 0;i <= numamovetwo_b2dow-1;i++)
- {
- b2.write(forwardamovetwo_b2dow[i]);
- }
- for(int i = 0;i <= numamovetwo_b3dow-1 ;i++) //amovetwo_b3dow
- {
- forwardamovetwo_b3dow[i] = rawamovetwo_b3;
- rawamovetwo_b3 --;
- }
- rawamovetwo_b3 =60;
- for(int i = 0;i <= numamovetwo_b3dow-1;i++)
- {
- b3.write(forwardamovetwo_b3dow[i]);
- }
- for(int i = 0;i <= numamovethree_c1dow-1 ;i++) //amovethree_c1dow
- {
- forwardamovethree_c1dow[i] = rawamovethree_c1;
- rawamovethree_c1 --;
- }
- rawamovethree_c1 =125;
- for(int i = 0;i <= numamovethree_c1dow-1;i++)
- {
- c1.write(forwardamovethree_c1dow[i]);
- }
- for(int i = 0;i <= numamovethree_c2up-1 ;i++) //amovethree_c2up
- {
- forwardamovethree_c2up[i] = rawamovethree_c2;
- rawamovethree_c2 ++;
- }
- rawamovethree_c2 =50;
- for(int i = 0;i <= numamovethree_c2up-1;i++)
- {
- c2.write(forwardamovethree_c2up[i]);
- }
- for(int i = 0;i <= numamovethree_c3up-1 ;i++) //amovethree_c3up
- {
- forwardamovethree_c3up[i] = rawamovethree_c3;
- rawamovethree_c3 ++;
- }
- rawamovethree_c3 =100;
- for(int i = 0;i <= numamovethree_c3up-1;i++)
- {
- c3.write(forwardamovethree_c3up[i]);
- }
- for(int i = 0;i <= numamovefour_d1dow-1 ;i++) //amovefour_d1dow
- {
- forwardamovefour_d1dow[i] = rawamovefour_d1;
- rawamovefour_d1 --;
- }
- rawamovefour_d1 =160;
- for(int i = 0;i <= numamovefour_d1dow-1;i++)
- {
- d1.write(forwardamovefour_d1dow[i]);
- }
- for(int i = 0;i <= numamovefour_d2up-1 ;i++) //amovefour_d2up
- {
- forwardamovefour_d2up[i] = rawamovefour_d2;
- rawamovefour_d2 ++;
- }
- rawamovefour_d2 =60;
- for(int i = 0;i <= numamovefour_d2up-1;i++)
- {
- d2.write(forwardamovefour_d2up[i]);
- }
- for(int i = 0;i <= numamovefour_d3up-1 ;i++) //amovefour_d3up
- {
- forwardamovefour_d3up[i] = rawamovefour_d3;
- rawamovefour_d3 ++;
- }
- rawamovefour_d3 =120;
- for(int i = 0;i <= numamovefour_d3up-1;i++)
- {
- d3.write(forwardamovefour_d3up[i]);
- }
- delete [] forwardamoveone_a1up;
- delete [] forwardamoveone_a2dow;
- delete [] forwardamoveone_a3dow;
- delete [] forwardamovetwo_b1up;
- delete [] forwardamovetwo_b2dow;
- delete [] forwardamovetwo_b3dow;
- delete [] forwardamovethree_c1dow;
- delete [] forwardamovethree_c2up;
- delete [] forwardamovethree_c3up;
- delete [] forwardamovefour_d1dow;
- delete [] forwardamovefour_d2up;
- delete [] forwardamovefour_d3up;
- delay(times);
- //move the body again
- const int numbacktwo_b2up = 30;
- const int numbacktwo_b1dow = 60;
- const int numbacktwo_b3up = 5;
- int *forwardbacktwo_b2up = new int [numbacktwo_b2up];
- int *forwardbacktwo_b1dow = new int [numbacktwo_b1dow];
- int *forwardbacktwo_b3up = new int [numbacktwo_b3up];
- int rawbacktwo_b2 = 65,rawbacktwo_b1 = 80,rawbacktwo_b3 = 30;
- for(int i = 0;i <= numbacktwo_b2up-1 ;i++) //backtwo_b2up
- {
- forwardbacktwo_b2up[i] = rawbacktwo_b2;
- rawbacktwo_b2 ++;
- }
- rawbacktwo_b2 = 65;
- for(int i = 0;i <= numbacktwo_b2up-1;i++)
- {
- b2.write(forwardbacktwo_b2up[i]);
- }
- for(int i = 0;i <= numbacktwo_b1dow-1 ;i++) //backtwo_b1dow
- {
- forwardbacktwo_b1dow[i] = rawbacktwo_b1;
- rawbacktwo_b1--;
- }
- rawbacktwo_b1 = 80;
- for(int i = 0;i <= numbacktwo_b1dow-1;i++)
- {
- b1.write(forwardbacktwo_b1dow[i]);
- }
- for(int i = 0;i <= numbacktwo_b3up-1 ;i++) //backtwo_b3up
- {
- forwardbacktwo_b3up[i] = rawbacktwo_b3;
- rawbacktwo_b3++;
- }
- rawbacktwo_b3 = 30;
- for(int i = 0;i <= numbacktwo_b3up-1;i++)
- {
- b3.write(forwardbacktwo_b3up[i]);
- }
- delete [] forwardbacktwo_b2up;
- delete [] forwardbacktwo_b1dow;
- delete [] forwardbacktwo_b3up;
- delay(times);
- const int num_backtwo_b2dow = 50;
- int *forward_backtwo_b2dow = new int [num_backtwo_b2dow];
- int raw_backtwo_b2 = 95;
- for(int i = 0;i <= num_backtwo_b2dow-1 ;i++) //_backtwo_b2dow
- {
- forward_backtwo_b2dow[i] = raw_backtwo_b2;
- raw_backtwo_b2 --;
- }
- raw_backtwo_b2 = 95;
- for(int i = 0;i <= num_backtwo_b2dow-1;i++)
- {
- b2.write(forward_backtwo_b2dow[i]);
- }
- delete [] forward_backtwo_b2dow;
- delay(times);
- count_forward++;
- //back the second leg
- }
- void back()
- {
- const int times=200;
- const int numgo_b2up = 30;
- const int numgo_b1up = 60;
- const int numgo_b3dow = 5;
- int *backgo_b2up = new int [numgo_b2up];
- int *backgo_b1up = new int [numgo_b1up];
- int *backgo_b3dow = new int [numgo_b3dow];
- int rawgo_b2 =45,rawgo_b1 =20,rawgo_b3 =35;
- for(int i = 0;i <= numgo_b2up-1 ;i++) //go_b2up
- {
- backgo_b2up[i] = rawgo_b2;
- rawgo_b2 ++;
- }
- rawgo_b2 = 45;
- for(int i = 0;i <= numgo_b2up-1;i++)
- {
- b2.write(backgo_b2up[i]);
- }
- for(int i = 0;i <= numgo_b1up-1 ;i++) //go_b1up
- {
- backgo_b1up[i] = rawgo_b1;
- rawgo_b1++;
- }
- rawgo_b1 = 20;
- for(int i = 0;i <= numgo_b1up-1;i++)
- {
- b1.write(backgo_b1up[i]);
- }
- for(int i = 0;i <= numgo_b3dow-1 ;i++) //go_b3dow
- {
- backgo_b3dow[i] = rawgo_b3;
- rawgo_b3--;
- }
- rawgo_b3 = 35;
- for(int i = 0;i <= numgo_b3dow-1;i++)
- {
- b3.write(backgo_b3dow[i]);
- }
- delete [] backgo_b2up;
- delete [] backgo_b1up;
- delete [] backgo_b3dow;
- delay(times);
- const int num_go_b2dow = 10;
- int *back_go_b2dow = new int [num_go_b2dow];
- int raw_go_b2 = 75;
- for(int i = 0;i <= num_go_b2dow-1 ;i++) //_go_b2dow
- {
- back_go_b2dow[i] = raw_go_b2;
- raw_go_b2 --;
- }
- raw_go_b2 = 75;
- for(int i = 0;i <= num_go_b2dow-1;i++)
- {
- b2.write(back_go_b2dow[i]);
- }
- delete [] back_go_b2dow;
- delay(times);
- //go the second leg
- const int nummove_a1dow = 40;
- const int nummove_a2up= 30;
- const int nummove_a3up = 25;
- const int nummove_b1dow = 20;
- const int nummove_b2up= 10;
- const int nummove_b3up=30;
- const int nummove_c1up =35;
- const int nummove_c2dow = 10;
- const int nummove_c3dow =30;
- const int nummove_d1up =40;
- const int nummove_d2dow= 30;
- const int nummove_d3dow =25;
- int *backmove_a1dow = new int [nummove_a1dow];
- int *backmove_a2up = new int [nummove_a2up];
- int *backmove_a3up = new int [nummove_a3up];
- int *backmove_b1dow = new int [nummove_b1dow];
- int *backmove_b2up = new int [nummove_b2up];
- int *backmove_b3up = new int [nummove_b3up];
- int *backmove_c1up = new int [nummove_c1up];
- int *backmove_c2dow= new int [nummove_c2dow];
- int *backmove_c3dow = new int [nummove_c3dow];
- int *backmove_d1up = new int [nummove_d1up];
- int *backmove_d2dow= new int [nummove_d2dow];
- int *backmove_d3dow = new int [nummove_d3dow];
- int rawmove_a1 = 130,rawmove_a2 =0,rawmove_a3 =125,
- rawmove_b1 =80,rawmove_b2 =65,rawmove_b3 =30,
- rawmove_c1 =90,rawmove_c2 =60,rawmove_c3 =130,
- rawmove_d1 =120,rawmove_d2 =90,rawmove_d3 =145;
- for(int i = 0;i <= nummove_a1dow-1 ;i++) //move_a1dow
- {
- backmove_a1dow[i] = rawmove_a1;
- rawmove_a1 --;
- }
- rawmove_a1 = 130;
- for(int i = 0;i <= nummove_a1dow-1;i++)
- {
- a1.write(backmove_a1dow[i]);
- }
- for(int i = 0;i <= nummove_a2up-1 ;i++) //move_a2up
- {
- backmove_a2up[i] = rawmove_a2;
- rawmove_a2 ++;
- }
- rawmove_a2 = 0;
- for(int i = 0;i <= nummove_a2up-1;i++)
- {
- a2.write(backmove_a2up[i]);
- }
- for(int i = 0;i <= nummove_a3up-1 ;i++) //move_a3up
- {
- backmove_a3up[i] = rawmove_a3;
- rawmove_a3 ++;
- }
- rawmove_a3 =125;
- for(int i = 0;i <= nummove_a3up-1;i++)
- {
- a3.write(backmove_a3up[i]);
- }
- for(int i = 0;i <= nummove_b1dow-1 ;i++) //move_b1dow
- {
- backmove_b1dow[i] = rawmove_b1;
- rawmove_b1 --;
- }
- rawmove_b1 =80;
- for(int i = 0;i <= nummove_b1dow-1;i++)
- {
- b1.write(backmove_b1dow[i]);
- }
- for(int i = 0;i <= nummove_b2up-1 ;i++) //move_b2up
- {
- backmove_b2up[i] = rawmove_b2;
- rawmove_b2++;
- }
- rawmove_b2 =65;
- for(int i = 0;i <= nummove_b2up-1;i++)
- {
- b2.write(backmove_b2up[i]);
- }
- for(int i = 0;i <= nummove_b3up-1 ;i++) //move_b3up
- {
- backmove_b3up[i] = rawmove_b3;
- rawmove_b3 ++;
- }
- rawmove_b3 =30;
- for(int i = 0;i <= nummove_b3up-1;i++)
- {
- b3.write(backmove_b3up[i]);
- }
- for(int i = 0;i <= nummove_c1up-1 ;i++) //move_c1up
- {
- backmove_c1up[i] = rawmove_c1;
- rawmove_c1 ++;
- }
- rawmove_c1 =90;
- for(int i = 0;i <= nummove_c1up-1;i++)
- {
- c1.write(backmove_c1up[i]);
- }
- for(int i = 0;i <= nummove_c2dow-1 ;i++) //move_c2dow
- {
- backmove_c2dow[i] = rawmove_c2;
- rawmove_c2 --;
- }
- rawmove_c2 =60;
- for(int i = 0;i <= nummove_c2dow-1;i++)
- {
- c2.write(backmove_c2dow[i]);
- }
- for(int i = 0;i <= nummove_c3dow-1 ;i++) //move_c3dow
- {
- backmove_c3dow[i] = rawmove_c3;
- rawmove_c3 --;
- }
- rawmove_c3 =130;
- for(int i = 0;i <= nummove_c3dow-1;i++)
- {
- c3.write(backmove_c3dow[i]);
- }
- for(int i = 0;i <= nummove_d1up-1 ;i++) //move_d1up
- {
- backmove_d1up[i] = rawmove_d1;
- rawmove_d1 ++;
- }
- rawmove_d1 =120;
- for(int i = 0;i <= nummove_d1up-1;i++)
- {
- d1.write(backmove_d1up[i]);
- }
- for(int i = 0;i <= nummove_d2dow-1 ;i++) //move_d2dow
- {
- backmove_d2dow[i] = rawmove_d2;
- rawmove_d2 --;
- }
- rawmove_d2 =90;
- for(int i = 0;i <= nummove_d2dow-1;i++)
- {
- d2.write(backmove_d2dow[i]);
- }
- for(int i = 0;i <= nummove_d3dow-1 ;i++) //move_d3dow
- {
- backmove_d3dow[i] = rawmove_d3;
- rawmove_d3 --;
- }
- rawmove_d3 =145;
- for(int i = 0;i <= nummove_d3dow-1;i++)
- {
- d3.write(backmove_d3dow[i]);
- }
- delete [] backmove_a1dow;
- delete [] backmove_a2up;
- delete [] backmove_a3up;
- delete [] backmove_b1dow;
- delete [] backmove_b2up;
- delete [] backmove_b3up;
- delete [] backmove_c1up;
- delete [] backmove_c2dow;
- delete [] backmove_c3dow;
- delete [] backmove_d1up;
- delete [] backmove_d2dow;
- delete [] backmove_d3dow;
- delay(times);
- //move the body
- const int numback_c2up = 30;
- const int numback_c1dow = 75;
- const int numback_c3up = 5;
- int *backback_c2up = new int [numback_c2up];
- int *backback_c1dow = new int [numback_c1dow];
- int *backback_c3up = new int [numback_c3up];
- int rawback_c2 = 50,rawback_c1 = 125,rawback_c3 = 100;
- for(int i = 0;i <= numback_c2up-1 ;i++) //back_c2up
- {
- backback_c2up[i] = rawback_c2;
- rawback_c2 ++;
- }
- rawback_c2 = 50;
- for(int i = 0;i <= numback_c2up-1;i++)
- {
- c2.write(backback_c2up[i]);
- }
- for(int i = 0;i <= numback_c1dow-1 ;i++) //back_c1dow
- {
- backback_c1dow[i] = rawback_c1;
- rawback_c1--;
- }
- rawback_c1 = 125;
- for(int i = 0;i <= numback_c1dow-1;i++)
- {
- c1.write(backback_c1dow[i]);
- }
- for(int i = 0;i <= numback_c3up-1 ;i++) //back_c3up
- {
- backback_c3up[i] = rawback_c3;
- rawback_c3++;
- }
- rawback_c3 = 100;
- for(int i = 0;i <= numback_c3up-1;i++)
- {
- c3.write(backback_c3up[i]);
- }
- delete [] backback_c2up;
- delete [] backback_c1dow;
- delete [] backback_c3up;
- delay(times);
- const int num_back_c2dow = 50;
- int *back_back_c2dow = new int [num_back_c2dow];
- int raw_back_c2 = 80;
- for(int i = 0;i <= num_back_c2dow-1 ;i++) //_back_c2dow
- {
- back_back_c2dow[i] = raw_back_c2;
- raw_back_c2 --;
- }
- raw_back_c2 = 80;
- for(int i = 0;i <= num_back_c2dow-1;i++)
- {
- c2.write(back_back_c2dow[i]);
- }
- delete [] back_back_c2dow;
- delay(times);
- //back the third leg
-
-
-
-
-
-
-
- const int numgo_d2up = 30;
- const int numgo_d1dow = 60;
- const int numgo_d3dow = 5;
- int *backgo_d2up = new int [numgo_d2up];
- int *backgo_d1dow = new int [numgo_d1dow];
- int *backgo_d3dow = new int [numgo_d3dow];
- int rawgo_d2 =60,rawgo_d1 =160,rawgo_d3 =120;
- for(int i = 0;i <= numgo_d2up-1 ;i++) //go_d2up
- {
- backgo_d2up[i] = rawgo_d2;
- rawgo_d2 ++;
- }
- rawgo_d2 =60;
- for(int i = 0;i <= numgo_d2up-1;i++)
- {
- d2.write(backgo_d2up[i]);
- }
- for(int i = 0;i <= numgo_d1dow-1 ;i++) //go_d1dow
- {
- backgo_d1dow[i] = rawgo_d1;
- rawgo_d1--;
- }
- rawgo_d1 =160;
- for(int i = 0;i <= numgo_d1dow-1;i++)
- {
- d1.write(backgo_d1dow[i]);
- }
- for(int i = 0;i <= numgo_d3dow-1 ;i++) //go_d3dow
- {
- backgo_d3dow[i] = rawgo_d3;
- rawgo_d3--;
- }
- rawgo_d3 =130;
- for(int i = 0;i <= numgo_d3dow-1;i++)
- {
- d3.write(backgo_d3dow[i]);
- }
- delete [] backgo_d2up;
- delete [] backgo_d1dow;
- delete [] backgo_d3dow;
- delay(times);
- const int num_go_d2dow = 10;
- int *back_go_d2dow = new int [num_go_d2dow];
- int raw_go_d2 = 90;
- for(int i = 0;i <= num_go_d2dow-1 ;i++) //_go_d2dow
- {
- back_go_d2dow[i] = raw_go_d2;
- raw_go_d2 --;
- }
- raw_go_d2 = 90;
- for(int i = 0;i <= num_go_d2dow-1;i++)
- {
- d2.write(back_go_d2dow[i]);
- }
- delete [] back_go_d2dow;
- delay(times); //go the forth leg
- const int numamove_a1dow=20;
- const int numamove_a2dow=10;
- const int numamove_a3dow=30;
- const int numamove_b1dow =40;
- const int numamove_b2dow=30;
- const int numamove_b3dow=25;
- const int numamove_c1up =40;
- const int numamove_c2up =30;
- const int numamove_c3up =25;
- const int numamove_d1up =20;
- const int numamove_d2up= 10;
- const int numamove_d3up=30;
- int *backamove_a1dow = new int [numamove_a1dow];
- int *backamove_a2dow = new int [numamove_a2dow];
- int *backamove_a3dow = new int [numamove_a3dow];
- int *backamove_b1dow = new int [numamove_b1dow];
- int *backamove_b2dow = new int [numamove_b2dow];
- int *backamove_b3dow = new int [numamove_b3dow];
- int *backamove_c1up = new int [numamove_c1up];
- int *backamove_c2up= new int [numamove_c2up];
- int *backamove_c3up = new int [numamove_c3up];
- int *backamove_d1up = new int [numamove_d1up];
- int *backamove_d2up= new int [numamove_d2up];
- int *backamove_d3up = new int [numamove_d3up];
- int rawamove_a1 = 90,rawamove_a2 =30,rawamove_a3 =150,
- rawamove_b1 =60,rawamove_b2 =75,rawamove_b3 =60,
- rawamove_c1 =50,rawamove_c2 =30,rawamove_c3 =105,
- rawamove_d1 =100,rawamove_d2 =80,rawamove_d3 =115;
- for(int i = 0;i <= numamove_a1dow-1 ;i++) //amove_a1dow
- {
- backamove_a1dow[i] = rawamove_a1;
- rawamove_a1 --;
- }
- rawamove_a1 = 90;
- for(int i = 0;i <= numamove_a1dow-1;i++)
- {
- a1.write(backamove_a1dow[i]);
- }
- for(int i = 0;i <= numamove_a2dow-1 ;i++) //amove_a2dow
- {
- backamove_a2dow[i] = rawamove_a2;
- rawamove_a2 --;
- }
- rawamove_a2 = 30;
- for(int i = 0;i <= numamove_a2dow-1;i++)
- {
- a2.write(backamove_a2dow[i]);
- }
- for(int i = 0;i <= numamove_a3dow-1 ;i++) //amove_a3dow
- {
- backamove_a3dow[i] = rawamove_a3;
- rawamove_a3 --;
- }
- rawamove_a3 =150;
- for(int i = 0;i <= numamove_a3dow-1;i++)
- {
- a3.write(backamove_a3dow[i]);
- }
- for(int i = 0;i <= numamove_b1dow-1 ;i++) //amove_b1dow
- {
- backamove_b1dow[i] = rawamove_b1;
- rawamove_b1 --;
- }
- rawamove_b1 =60;
- for(int i = 0;i <= numamove_b1dow-1;i++)
- {
- b1.write(backamove_b1dow[i]);
- }
- for(int i = 0;i <= numamove_b2dow-1 ;i++) //amove_b2dow
- {
- backamove_b2dow[i] = rawamove_b2;
- rawamove_b2--;
- }
- rawamove_b2 =75;
- for(int i = 0;i <= numamove_b2dow-1;i++)
- {
- b2.write(backamove_b2dow[i]);
- }
- for(int i = 0;i <= numamove_b3dow-1 ;i++) //amove_b3dow
- {
- backamove_b3dow[i] = rawamove_b3;
- rawamove_b3 --;
- }
- rawamove_b3 =60;
- for(int i = 0;i <= numamove_b3dow-1;i++)
- {
- b3.write(backamove_b3dow[i]);
- }
- for(int i = 0;i <= numamove_c1up-1 ;i++) //amove_c1up
- {
- backamove_c1up[i] = rawamove_c1;
- rawamove_c1 ++;
- }
- rawamove_c1 =50;
- for(int i = 0;i <= numamove_c1up-1;i++)
- {
- c1.write(backamove_c1up[i]);
- }
- for(int i = 0;i <= numamove_c2up-1 ;i++) //amove_c2up
- {
- backamove_c2up[i] = rawamove_c2;
- rawamove_c2 ++;
- }
- rawamove_c2 =30;
- for(int i = 0;i <= numamove_c2up-1;i++)
- {
- c2.write(backamove_c2up[i]);
- }
- for(int i = 0;i <= numamove_c3up-1 ;i++) //amove_c3up
- {
- backamove_c3up[i] = rawamove_c3;
- rawamove_c3++;
- }
- rawamove_c3 =105;
- for(int i = 0;i <= numamove_c3up-1;i++)
- {
- c3.write(backamove_c3up[i]);
- }
- for(int i = 0;i <= numamove_d1up-1 ;i++) //amove_d1up
- {
- backamove_d1up[i] = rawamove_d1;
- rawamove_d1 ++;
- }
- rawamove_d1 =100;
- for(int i = 0;i <= numamove_d1up-1;i++)
- {
- d1.write(backamove_d1up[i]);
- }
- for(int i = 0;i <= numamove_d2up-1 ;i++) //amove_d2up
- {
- backamove_d2up[i] = rawamove_d2;
- rawamove_d2 ++;
- }
- rawamove_d2 =80;
- for(int i = 0;i <= numamove_d2up-1;i++)
- {
- d2.write(backamove_d2up[i]);
- }
- for(int i = 0;i <= numamove_d3up-1 ;i++) //amove_d3up
- {
- backamove_d3up[i] = rawamove_d3;
- rawamove_d3 ++;
- }
- rawamove_d3 =115;
- for(int i = 0;i <= numamove_d3up-1;i++)
- {
- d3.write(backamove_d3up[i]);
- }
- delete [] backamove_a1dow;
- delete [] backamove_a2dow;
- delete [] backamove_a3dow;
- delete [] backamove_b1dow;
- delete [] backamove_b2dow;
- delete [] backamove_b3dow;
- delete [] backamove_c1up;
- delete [] backamove_c2up;
- delete [] backamove_c3up;
- delete [] backamove_d1up;
- delete [] backamove_d2up;
- delete [] backamove_d3up;
- delay(times); //amove the body
- const int numback_a2up =30;
- const int numback_a1up =60;
- const int numback_a3up = 5;
- int *backback_a2up = new int [numback_a2up];
- int *backback_a1up = new int [numback_a1up];
- int *backback_a3up = new int [numback_a3up];
- int rawback_a2 =20,rawback_a1 = 70,rawback_a3 =120;
- for(int i = 0;i <= numback_a2up-1 ;i++) //back_a2up
- {
- backback_a2up[i] = rawback_a2;
- rawback_a2 ++;
- }
- rawback_a2 = 20;
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
sketch_may15a.rar
(4.75 KB, 下載次數: 15)
2018-2-14 18:30 上傳
點擊文件名下載附件
程序 下載積分: 黑幣 -5
|