YangLeo118 发表于 2016-5-10 05:36:52

基于Arduino的八轴机械臂代码

本帖最后由 YangLeo118 于 2016-5-10 14:37 编辑

求助!
新人玩了一段时间的Arduino 小车以后,现在对机械臂十分着迷。
今天收到以后看了下卖家给了一段测试代码(连注释都没的),懵逼中~~。
尝试写了一段程序,发现完全是Bullshit!!!
求大神赐予我力量~~~ 如果有懂的 麻烦告诉一下编程思想和如何实现。
我想的是,先写一个能写字的程序,比如我发送某个字母或者汉字,是否有可能让机械臂在纸上写出来。

头晕中~好像叙述得不是很清楚! 麻烦了!

hnyzcj 发表于 2016-5-10 09:54:50

我也想知道,哈哈

MoonShine 发表于 2016-5-10 11:54:12

正常,一句一句读就行,费点时间而已

YangLeo118 发表于 2016-5-10 14:13:04

坐等大神解答

YangLeo118 发表于 2016-5-10 14:32:05

更正一下 应该是8轴的

冷大喵 发表于 2016-5-10 17:33:27

我自己写了个鸡腿控制六轴的

YangLeo118 发表于 2016-5-10 23:59:21

冷大喵 发表于 2016-5-10 17:33
我自己写了个鸡腿控制六轴的

能够给我发下 学习学习吗?

冷大喵 发表于 2016-5-11 13:37:00

YangLeo118 发表于 2016-5-10 23:59
能够给我发下 学习学习吗?



#include <Servo.h>
#include <math.h>
#include <stdlib.h>
#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);   
    if(pos3>160)
    {
      pos3=160;
       servo3.write(pos3);
    }

   
   }
    else if(x>110&& x<140&& y==0&& z==0 && c==1 )
    {
   
      pos3 = pos3-10;
      servo3.write(pos3);
      delay(40);
      if(pos3<20)
      {
      pos3=20;
      servo3.write(pos3);
      }
    }
      else if(x==0&& y==0&& c == 0 && z==1) //4号舵机
   {
   
   pos4 = pos4+10;
   servo4.write(pos4);
    delay (40);   
   
    if(pos4>160)
    {
      pos4=160;
      servo4.write(pos4);
    }
   
   
   }
    else if(x==0 && y==0&& z==0 && c==1 )
    {
   
      pos4 = pos4-10;
      servo4.write(pos4);
      delay(40);
      if(pos4<20)
      {
      pos4=20;
      servo4.write(pos4);
      }
    }
   else if(x==0&& y==128&& c == 0 && z==1) //5号舵机
   {
    servo5.write(pos5);
   pos5 = pos5+10;

    delay (40);   
   
    if(pos5>170)
    {
      pos5=160;
   
    }
   
   
   }
    else if(x==0 && y==128&& z==0 && c==1 )
    {
      servo5.write(pos5);
      pos5 = pos5-10;
   
      delay(40);
      if(pos5<20)
      {
      pos5=30;
      
      }
    }
   else if(x==0   && y>240&& c == 0 && z==1) //6号舵机
   {
   servo6.write(pos6);
   pos6 = pos6+10;
   
    delay (40);   
   
    if(pos6>120)
    {
      pos6=119;
   
    }
   }
    else if(x==0 && y>240&& z==0 && c==1 )
    {
    servo6.write(pos6);
      pos6 = pos6-10;
      
      delay(40);
      if(pos6<45)
      {
      pos6=41;
      
      }
    }
}

冷大喵 发表于 2016-5-11 13:41:49

只做到了拿鸡腿控制,超级简单的语句,,

dsweiliang 发表于 2016-5-12 08:21:09

什么味的鸡腿?

YangLeo118 发表于 2016-5-12 19:51:06

冷大喵 发表于 2016-5-11 13:37
#include
#include
#include


非常感谢 我这边也有一个 通过串口输入 控制机械臂的代码

冷大喵 发表于 2016-5-14 16:06:17

YangLeo118 发表于 2016-5-12 19:51
非常感谢 我这边也有一个 通过串口输入 控制机械臂的代码

你发下串口控制的呗。我现在不太会用串口控制

YangLeo118 发表于 2016-5-15 05:29:05

冷大喵 发表于 2016-5-14 16:06
你发下串口控制的呗。我现在不太会用串口控制

要等一下下 还没有 写完 ~目前只做到 控制Auto 和 Stop 没有写到 随意控制不同舵机的角度

ccccc 发表于 2019-8-8 20:48:04

YangLeo118 发表于 2016-5-15 05:29
要等一下下 还没有 写完 ~目前只做到 控制Auto 和 Stop 没有写到 随意控制不同舵机的角度 ...

请问写完了吗
页: [1]
查看完整版本: 基于Arduino的八轴机械臂代码