找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 9228|回复: 5
收起左侧

Arduino UNO四自由度机械臂制作

[复制链接]
ID:426684 发表于 2019-3-18 10:42 | 显示全部楼层 |阅读模式
四自由度机械臂制作


IMG_20190317_110139.jpg       四自由度机械臂成品1.JPG 四自由度机械臂成品2.JPG


准备材料

1. 某宝上的四自由度机械臂拼装板

2. 9克舵机 x 3

3. Arduino UNO

4. 步进电机 x 1

5. 外电源 及 导线


制作改进


拼装后发现原来的底盘旋转舵机出现头重脚轻,摇摇欲坠的感觉. 决定改进,换装一个步进电机作为机械臂的底盘,果然效果外观都很好.步进电机最好接外部电源,5-9V 都可以.


Arduino 程序

//四自由度机械臂程序(三个9克舵机,一个步进电机.  Arduino程序控制.)
#include <Stepper.h>
#include <Servo.h>
//抓手,主臂,次臂三舵机
Servo myservo1;   //抓手
Servo myservo2;   //主臂
Servo myservo3;   //次臂
int pos =0;  
//底盘步进电机
const int stepsPerRevolution=200;
Stepper myStepper(stepsPerRevolution, 8, 10, 9, 11);    //步进电机 Pin
int step=0;

void setup() {
//三舵机Pin
  myservo1.attach(2);          //Pin 2
  myservo2.attach(3);          //Pin 3
  myservo3.attach(4);          //Pin 4
  //三舵机复位
  myservo1.write(0);  
  delay(150);
  myservo2.write(0);
  delay(150);
  myservo3.write(0);
  delay(150);
  myStepper.setSpeed(30);
}


void loop() {
//第一次顺环动作
s1open(20);            //抓手开启
delay(1000);
s2Forward(45);       //主臂向前 45 度
delay(1000);
s1close(20);             //抓手关闭
delay(1000);
s2Backward(45);     //主臂向后 45 度
delay(1000);
s3Forward(45);        //次臂抬升 45 度
Stepper(200);           //步进电机正转 200 步
delay(500);

delay(1000);

//第二次顺环动作
s2Forward(45);      //主臂向前 45 度
delay(1000);
s3Backward(45);     //次臂下降 45 度
delay(1000);
s1open(20);              //抓手开启
delay(1000);
s1close(20);               //抓手关闭
delay(1000);
s2Backward(45);     //主臂向后 45 度
//s3Forward(45);      //次臂抬升 45 度
Stepper(-200);        //步进电机反转 200 步
delay(500);

delay(1000);
}



//抓手开启
void s1open(int anlge) {
for (pos = 0; pos <= anlge; pos += 1) {
myservo1.write(pos);   
delay(30);                       
}
}

//抓手关闭
void s1close(int anlge) {
for (pos = anlge; pos >= 0; pos -= 1) {
myservo1.write(pos);   
delay(30);                       
}
}

//主臂向前
void s2Forward(int anlge) {
for (pos = 0; pos <= anlge; pos += 1) {
myservo2.write(pos);   
delay(30);                       
}
}

//主臂向后
void s2Backward(int anlge) {
for (pos = anlge; pos >= 0; pos -= 1) {
myservo2.write(pos);   
delay(30);                       
}
}

//次臂向前
void s3Forward(int anlge) {
for (pos = 0; pos <= anlge; pos += 1) {
myservo3.write(pos);   
delay(30);                       
}
}

//次臂向后
void s3Backward(int anlge) {
for (pos = anlge; pos >= 0; pos -= 1) {
myservo3.write(pos);   
delay(30);                       
}
}

//步进电机
void Stepper(int stepsPerRevolution) {
myStepper.step(stepsPerRevolution);
delay(500);
}

效果视频

链接:https://pan.baidu.com/s/12Ih93Nk2UeFAssc5kYogpA  提取码:vfqo  复制这段内容后打开百度网盘手机App,操作更方便哦


很好玩的东东.各位朋友如果有更好的玩法请留言.


评分

参与人数 1黑币 +100 收起 理由
admin + 100 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:1 发表于 2019-3-19 17:40 | 显示全部楼层
好资料,51黑有你更精彩!!!
回复

使用道具 举报

ID:271679 发表于 2019-3-19 23:25 来自手机 | 显示全部楼层
太极创客里面有相应的教程,我也做了相同的一个。
回复

使用道具 举报

ID:412684 发表于 2019-3-20 16:52 | 显示全部楼层
很给力
回复

使用道具 举报

ID:626186 发表于 2020-6-3 11:20 | 显示全部楼层
有看清连线方式的朋友吗
回复

使用道具 举报

ID:698787 发表于 2020-6-5 16:32 | 显示全部楼层
底盘不也要有个舵机吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表