机械臂控制代码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

##include

#include

#include

#include "Wire.h"

#include "WiiChuck.h"

Servo servo1; // create servo object to control a servo

Servo servo2;

Servo servo3;

Servo servo4; // a maximum of eight servo objects can be created Servo servo5;

Servo servo6;

WiiChuck wii = WiiChuck();

int pos1,pos2,pos3,pos4,pos5,pos6,x,y,z,c; // variable to store the servo position

void setup()

{

// attaches the servo on pin 9 to the servo object

servo1.attach(8);

servo2.attach(9);

servo3.attach(10);

servo4.attach(11);

servo5.attach(12);

servo6.attach(13);

pos1 = 60;

pos2 = 50;

pos3 = 100;

pos4 =100;

pos5 = 90;

pos6 = 90;

servo1.write(pos1);

servo2.write(pos2); servo3.write(pos3); servo4.write(pos4); servo5.write(pos5); servo6.write(pos6);

wii.initWithPower(); }

void loop()

{

if(true == wii.read() )

{

//读取手柄值

x=wii.getJoyAxisX();

y=wii.getJoyAxisY();

c=wii.getButtonC();

z=wii.getButtonZ();

}

if(x==255 && y>120 && y<140 && c == 0 && z==1)//一号舵机 { pos1 = pos1+10;

servo1.write(pos1);

delay (40);

if(pos1>160)

{

pos1=160;

servo1.write(pos1);

}

}

else if(x==255 && y>120 && y<140 && z==0 && c==1 ) { pos1 = pos1-10;

servo1.write(pos1);

delay(40);

if(pos1<20)

{

pos1=20;

servo1.write(pos1);

}

}

else if(x>220 && y==0 && c == 0 && z==1) //2号舵机

{

pos2 = pos2+10;

servo2.write(pos2);

delay (40);

if(pos2>160)

{

pos2=160;

servo2.write(pos2);

}

else if(x>220 && y==0 && z==0 && c==1 )

{

pos2 = pos2-10;

servo2.write(pos2);

delay(40);

if(pos2<90)

{

pos2=90;

servo2.write(pos2);

}

}

else if(x>110 && x<140 && y==0 && c == 0 && z==1) //3号舵机 {

pos3 = pos3+10;

servo3.write(pos3);

delay (40);

相关文档
最新文档