问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

树莓派/Arduino+机械臂+16路PWM舵机驱动

创作时间:
作者:
@小白创作中心

树莓派/Arduino+机械臂+16路PWM舵机驱动

引用
百度
1.
https://tieba.baidu.com/p/3416981955?spm=0.0.0.0.IxgKrU

本文将介绍如何使用Arduino或树莓派通过16路PWM舵机驱动板来控制机械臂。文章详细介绍了硬件连接方式,并提供了直接控制和通过游戏手柄控制的示例代码。

在meArm机械臂项目中,把舵机驱动板的16路分为4个区块,每个区块连接4个舵机(对应机械臂的四个舵机)。区块编号从0开始(0~3)。

示例一:用奇果派舵机驱动板控制机械臂

Arduino与PWMServo驱动板引脚接线方式:

Arduino
PWMServo
GND
GND
5V
VCC & V+
A4
SDA
A5
SCL

在本演示中,我们把机械臂舵机接到第)一个区块,从左到右分别接底部舵机、右侧(臂膀)舵机、左侧(肘部)舵机、爪子舵机。连接方式如下:

PWMServo序号
机械臂舵机
0
底部舵机
1
右侧(臂膀)舵机
2
左侧(肘部)舵机
3
爪子舵机

实例代码:

#include “meArm_Adafruit.h”
#include <Adafruit_PWMServoDriver.h>
#include <Wire.h>

meArm arm;

void setup() {
  Serial.begin(9600);
  arm.begin(); //默认为第一区块,编号从0开始
}

void loop() {
  //鼓掌—爪子多次开合
  arm.openGripper();
  arm.closeGripper();
  arm.openGripper();
  arm.closeGripper();
  arm.openGripper();
  delay(500);

  //转到左上方抓点东西
  arm.gotoPoint(-80,100,140);
  arm.closeGripper();

  //放到右前方去
  arm.gotoPoint(70,200,10);
  arm.openGripper();

  //回到起始点
  arm.gotoPoint(0,100,50);
  delay(2000);
}

演示二:通过游戏手柄控制机械臂

本示例需要有一对游戏摇杆,如图:

配件连接说明:

Arduino
摇杆1
摇杆2
PWMServo
GND
GND
GND
GND
5V
VCC
VCC
VCC & V+
A0
HOR(X)
A1
VER(Y)
A2
HOR(X)
A3
VER(Y)
A4
SDA
A5
SCL

舵机驱动与机械臂舵机连接说明:

PWMServo序号
机械臂舵机
0
底部舵机
1
右侧(臂膀)舵机
2
左侧(肘部)舵机
3
爪子舵机

实例程序:

#include “meArm_Adafruit.h”
#include “Adafruit_PWMServoDriver.h”
#include <Wire.h>

int xdirPin = 0;
int ydirPin = 1;
int zdirPin = 3;
int gdirPin = 2;

meArm arm;

void setup() {
  arm.begin();
}

void loop() {
  float dx = map(analogRead(xdirPin), 0, 1023, -5.0, 5.0);
  float dy = map(analogRead(ydirPin), 0, 1023, 5.0, -5.0);
  float dz = map(analogRead(zdirPin), 0, 1023, 5.0, -5.0);
  float dg = map(analogRead(gdirPin), 0, 1023, 5.0, -5.0);

  if (abs(dx) < 1.5) dx = 0;
  if (abs(dy) < 1.5) dy = 0;
  if (abs(dz) < 1.5) dz = 0;

  if (!(dx == 0 && dy == 0 && dz == 0))
    arm.goDirectlyTo(arm.getX() + dx, arm.getY() + dy, arm.getZ() + dz);

  if (dg < -3.0)
    arm.closeGripper();
  else if (dg > 3.0)
    arm.openGripper();

  delay(50);
}

相关资料下载:下载中心

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号