拇指机器人的制作教程

电子说

1.3w人已加入

描述

第1步:ARDUINO零件

Arduino

Arduino

Arduino

安装Arduino IDE

安装CH340驱动程序(中文版)

下载 - 源代码

正如您所看到的,有一个zip文件。提取所有文件并双击源代码文件。

选择板/处理器/Com端口

Arduino Nano

ATmega328P(旧的Bootloader)

插上你的arduino nano

插上USB线和一个新端口将出现。

查找/选择新兴的COM端口

单击出现的端口并点击上传按钮

点击上传按钮

第2步:3D打印部件

Arduino

下载3d建模来自Thingiverse的文件

https://www.thingiverse.com/thing:2844993

逐个打印所有部件

步骤3:电路部件

Arduino

使用Arduino Nano扩展板。由于Arduino Nano本身没有很多引脚,因此您需要使用扩展板。

当您查看连接到电机的接线时,您可以看到三种颜色。黄色,红色和棕色。布朗必须与G(地面)连接。

在以下步骤中,我们将再次仔细查看。

步骤4:硬件部分 - 准备所有部件

Arduino

[零件]

1 x Arduino Nano

1 x Arduino Nano扩展板

6 x伺服电机

2 x玩具眼球

12 x螺栓(2 * 6mm)

[工具]

3d打印机(Anet A8)https://amzn.to/2IwISNA

用于3D打印的平面(PLA 1.75mm)https://amzn。 to/2k5AFVS

Wire Nipper https://amzn.to/2INZILg

线材Stipper https://amzn.to/2LaVeN5

热熔胶枪https://amzn.to/2IOE3Ta

螺丝刀(+)https://amzn.to/2k8b4M8

电子胶带https://amzn.to/2IMx9xx

焊接工具(Hakko)https://amzn.to/2k50bKP

焊接手https://amzn.to/2It2Ybq

电动螺丝刀https://amzn.to/2IdWpJh

第5步:将3个伺服电机修改为位置传感器

以下步骤说明如何修改伺服电机进入位置传感器。基本上大多数伺服电机都有一个电位计或编码器来获取角度值。

我们将使用该电位计本身。我们需要打开机箱,拆开电路板并重新连接。

步骤6:拧开背面的4个螺栓并打开前壳

Arduino

Arduino

你需要一个小螺丝刀,因为它们太小了。电机有3个部分 - 前部,主体和后部。

当您打开前侧时,您将看到齿轮。实际上,我们不使用这种电机作为“电机”。因此,理论上不再需要齿轮。但是我们将使用它们的一部分,以便操作角度仍然具有旋转限制。

步骤7:删除第3档

Arduino

Arduino

Arduino

Arduino

Arduino

Arduino

伺服电机中的电位器具有大约180度的角度限制。电位器有自己的限制机制,但它很弱。它很容易被打破。为了保护它,齿轮提供了另一种机制。第一齿轮具有塑料缓冲器,其将与第二齿轮接触。

我们肯定需要整体框架的第一档,第二档需要限制。所以,我们无法摆脱它们。而不是他们,我们可以删除第三档。

你可能想知道为什么我们需要拆卸装备。这三个伺服电机将用于获取角度信息。如果它们中有齿轮,则运动会变硬。因此,我们必须摆脱其中一个装备。

步骤8:重新布线/焊接

Arduino

切割与电机连接的电线。

步骤9:使用焊接工具并拆下电路板

Arduino

Arduino

步骤10:切断电线并准备焊接

Arduino

Arduino

然后放一些粘贴并在电缆上放一些铅

步骤11:焊接它

Arduino

Arduino

Arduino

Arduino

从左侧红黄色和棕色

第12步:在上面添加一些胶水

Arduino

Arduino

并恢复其背面

我们还需要2个电位器。为另外两台电机做同样的工作

步骤13:建立第一个联合地下室

Arduino

Arduino

Arduino

Arduino

Arduino

我用了一个烹饪板来制作这个项目。使用它既便宜又坚固。为了将框架固定在电路板上,您需要使用具有尖端的螺钉。它同时制作孔和线。

共有6台电机。左侧的3个电机是原装电机。另一方面,有3个电机在步骤之前被修改。

步骤14:制作偏航关节

Arduino

Arduino

您将需要使用M2 * 6mm螺栓。

步骤15:使用第一台电机组装偏航接头

Arduino

Arduino

正如您可以看到最后一张图片,您需要将关节置于水平方向。并且位置应该是电机和电位计的90度。

换句话说,您可以从那个位置顺时针和逆时针旋转那些偏航接头90度。

步骤16:使用Arduino Nano扩展板组装Arduino Nano

Arduino

Arduino

确保方向。 USB端口与DC插孔相同。

步骤17:第一层连接

Arduino

Arduino

电位器与Arduino的模拟0引脚相连。你必须正确插入它。这款Arduino Nano具有8通道ADC(模拟数字转换器)。基本上,电位计给出模拟电平或电压。您可以使用ADC引脚读取该电压值

另一方面,伺服电机与Arduino的Digital 9连接。可以使用PWM(脉冲宽度调制)控制伺服电机。 Arduino Nano具有6通道PWM引脚(引脚9,10,11,3,5和6)。因此,我们最多可以使用6个伺服电机。

在此步骤中,源代码如下所示

#include

Servo servo[6];

void setup() {

pinMode(A0, INPUT);

servo[0].attach(9);

}

int tempADC[3] = {0};

void loop() {

tempADC[0] = analogRead(A0);

servo[0].write(map(tempADC[0] , 0, 1023, 0, 180));

}

步骤18:组装第二层

Arduino

Arduino

Arduino

Arduino

第二层也很简单。当您将电缆插入Arduino时,需要注意的是将它放在正确的位置。

左侧伺服电机与引脚10连接

右侧电位器与A1连接

#include

Servo servo[6];

void setup() {

pinMode(A0, INPUT);

pinMode(A1, INPUT);

servo[0].attach(9);

servo[1].attach(10);

}

int tempADC[3] = {0};

void loop() {

tempADC[0] = analogRead(A0);

servo[0].write(map(tempADC[0] , 0, 1023, 0, 180));

tempADC[1] = analogRead(A1);

servo[1].write(map(tempADC[1], 0, 1023, 0, 180));

}

步骤19:组装第3层帧

Arduino

步骤20:组装具有第二电机/电位计的框架

Arduino

Arduino

Arduino

Arduino

步骤21:将第三个电机组装到关节框架中

Arduino

Arduino

步骤22:将电缆插入Arduino

Arduino

Arduino

第3电机与引脚11连接

第3电位器与A2连接

代码如下所示

#include

Servo servo[6];

void setup() {

pinMode(A0, INPUT);

pinMode(A1, INPUT);

pinMode(A2, INPUT);

servo[0].attach(9);

servo[1].attach(10);

servo[2].attach(11);

}

int tempADC[3] = {0};

void loop() {

tempADC[0] = analogRead(A0);

servo[0].write(map(tempADC[0] , 0, 1023, 0, 180));

tempADC[1] = analogRead(A1);

servo[1].write(map(tempADC[1], 0, 1023, 0, 180));

tempADC[2] = analogRead(A2);

servo[2].write(map(tempADC[2], 0, 1023, 0, 180));

}

步骤23:组装拇指框架

Arduino

Arduino

步骤24:测试和调整角度

Arduino

Arduino

Arduino

将USB线连接到任何电源,机器人很快就会开启。角度可能略有不同。逐个调整角度。

步骤25:再多一个机器人?

Arduino

Arduino

如果你想要再制造一个机器人,你可以做到。将伺服器插入3,5和6.

#include

Servo servo[6];

void setup() {

pinMode(A0, INPUT);

pinMode(A1, INPUT);

pinMode(A2, INPUT);

servo[0].attach(9);

servo[1].attach(10);

servo[2].attach(11);

servo[3].attach(3);

servo[4].attach(5);

servo[5].attach(6);

}

int tempADC[3] = {0};

void loop() {

tempADC[0] = analogRead(A0);

servo[0].write(map(tempADC[0] , 0, 1023, 0, 180));

servo[3].write(map(tempADC[0] , 0, 1023, 0, 180));

tempADC[1] = analogRead(A1);

servo[1].write(map(tempADC[1], 0, 1023, 0, 180));

servo[4].write(map(tempADC[1], 0, 1023, 0, 180));

tempADC[2] = analogRead(A2);

servo[2].write(map(tempADC[2], 0, 1023, 0, 180));

servo[5].write(map(tempADC[2], 0, 1023, 0, 180));

}

步骤26:完成!

Arduino

Arduino

Arduino

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分