DIY海盗船机器人系列教程 第1话--- 基础功能

2015-09-012.8万
AI 快速预览详细 收起
本教程介绍了DIY海盗船机器人的基础功能制作过程,包括所需工具(如螺丝刀、电烙铁等)和硬件材料(如Romeo BLE控制器)。通过详细的组装步骤和代码示例,初学者可以轻松上手,实现机器人的前进、后退、左转和右转等功能。适合STEM教育项目,适合8岁以上儿童。

DIY海盗船系列 第1话——基础功能

在基础功能这个板块,可以让你的机器人实现最最简单的移动,比如前进,后退,左转,右转等等。有让你的机器人很快就活起来的简单代码,轻松上手。还等什么,那就开始吧!按照我们的步骤,一步一步来制作你的机器人。对了,做机器人工具可不能少。在做机器人之前,你还需要准备以下这些工具。

必备工具

  • 螺丝刀

    螺丝刀,是机器人制作非常必要的工具。不用多说,用来拧螺丝的。建议你可以买一套完整的螺丝刀套件。面对不同型号的螺丝,使用起来就得心应手了。

DIY海盗船机器人系列教程 第1话--- 基础功能图26

  • 电烙铁

    电烙铁是常用来焊接电子元器件的工具,也是我们做一些电子制作的必备工具。我们这里需要用来焊接电机线的。

    注意:因为电烙铁加热后,烙铁头温度相当高!如果你从未使用烙铁,建议先对烙铁使用有个简单认识之后再使用。使用时,请注意安全!

DIY海盗船机器人系列教程 第1话--- 基础功能图27

  • 尖嘴钳

    我们常用尖嘴钳剪掉一些多余的线或者引脚。我们这里可能用到不多。不过,尖嘴钳也是电子制作必备工具之一。
    DIY海盗船机器人系列教程 第1话--- 基础功能图32

  • 剥线钳

    所谓剥线钳,就是用来剥线的。如果没有的话,也没关系,可以用剪刀替代。只需要减掉外面一层皮,露出里面的导线,便于焊接。
    DIY海盗船机器人系列教程 第1话--- 基础功能图31

硬件材料

  • 海盗船移动平台 × 1

DIY海盗船机器人系列教程 第1话--- 基础功能图28

  • Romeo BLE 控制器 × 1
    DIY海盗船机器人系列教程 第1话--- 基础功能图29

  • Micro USB数据线 × 1
    DIY海盗船机器人系列教程 第1话--- 基础功能图30

    组装步骤

工具准备就绪后,我们就要开始开工了!海盗船的底盘组装非常容易,只需要按照以下步骤一步步安装就行了。

STEP1: 安装电机

拿出零件包,有找到8个长螺丝吗?那就是用来固定电机的。按下图位置摆放电机,找到对应的8个固定孔,拧上螺丝就行了。

这里可能需要注意的一点是,零件包里面还有配有垫圈和锁紧垫片。垫圈可以用于增加摩擦力,是电机固定更牢固。锁紧片用来防止螺母由于震动可能导致的松脱。

DIY海盗船机器人系列教程 第1话--- 基础功能图1
DIY海盗船机器人系列教程 第1话--- 基础功能图2

STEP2:焊接电机线

取出套件里自带的红黑导线,每个电机红、黑各一根,长度大约在15cm左右。用剥线钳在线两头剥去外皮,留下导线用于焊接在电机引脚上。将四个电机线全部焊好。

注意:焊接的时候,注意线序正确,可参照下图的红黑线的位置。

DIY海盗船机器人系列教程 第1话--- 基础功能图33DIY海盗船机器人系列教程 第1话--- 基础功能图34DIY海盗船机器人系列教程 第1话--- 基础功能图35

STEP3:安装Romeo BLE 控制器

找到零件包中的3个1cm长的铜柱,那是用于固定控制板的。首先,需要找到控制器的三个固定空位。并将铜柱拧上去。完成之后,再将控制器用螺丝固定上去。

DIY海盗船机器人系列教程 第1话--- 基础功能图3DIY海盗船机器人系列教程 第1话--- 基础功能图4

STEP4:安装电池盒

取出独立包装的两个沉头(顶部是平的)螺丝,按下图装配图,将电池盒固定到底盘上。

DIY海盗船机器人系列教程 第1话--- 基础功能图5DIY海盗船机器人系列教程 第1话--- 基础功能图6

STEP5:制作电源开关

我们都知道需要用电池来给机器人供电。平时不用的时候,需要断电来节约电量,那电源开关在这里就起到作用了。先按装配图将机器人的开关位置安装好。安装的时候注意垫片和螺母的顺序。

DIY海盗船机器人系列教程 第1话--- 基础功能图7
固定完成之后,就要开始焊线了,取出前面焊接电机连接线剩余的部分,可用于开关。同样,用剥线钳剥去线两头的外皮,留出导线部分用于焊接到开关的引脚上。焊接的时候注意看清楚开关的引脚位置。

DIY海盗船机器人系列教程 第1话--- 基础功能图8
我们一步步来:

a) 连接开关和充电接头。注意找准位置。

DIY海盗船机器人系列教程 第1话--- 基础功能图9
b) 按上图连线图,将电池盒的两根线焊接到充电接头上。

DIY海盗船机器人系列教程 第1话--- 基础功能图10
来张大图,看的清楚点!

DIY海盗船机器人系列教程 第1话--- 基础功能图11
c) 最后,从充电接头和开关上引出正负极电源,用于接到后面的Romeo BLE主控器上。

DIY海盗船机器人系列教程 第1话--- 基础功能图12DIY海盗船机器人系列教程 第1话--- 基础功能图13
同样来张放大图,清楚是怎么连接的吗?最后,检查一下焊接的线是否和一开始的连线图是吻合的。

STEP6:组装底盘

用8个M3×6mm的螺丝将前后板固定到侧板上。按下图装配图安装。

注意:拧螺丝的时候,不要一开始就将螺丝全拧紧,导致下一步安装上层板的时候。螺丝孔对应不上。

DIY海盗船机器人系列教程 第1话--- 基础功能图14
安装完后,将底板固定上去,见装配图。
DIY海盗船机器人系列教程 第1话--- 基础功能图15DIY海盗船机器人系列教程 第1话--- 基础功能图16

完成后的样子,记得装上电池!

#### STEP7:连接电机

这一步我们需要将电机和我们的控制器连接起来,按下图连线图将电机线一一接到电机驱动的接线柱上,并用螺丝刀拧紧固定。

注意:同一侧的两个电机需要固定在同一个电机驱动接口上。

DIY海盗船机器人系列教程 第1话--- 基础功能图17

连接完成后,我们需要盖上顶板。盖顶板前,可以先装上传感器板。如果用不到的话,可以先不装。

DIY海盗船机器人系列教程 第1话--- 基础功能图18DIY海盗船机器人系列教程 第1话--- 基础功能图19
安装完成后,如下图所示。

DIY海盗船机器人系列教程 第1话--- 基础功能图20
#### STEP8:安装上层板

找到上层板的四个安装孔位,拧上螺丝。

DIY海盗船机器人系列教程 第1话--- 基础功能图23
装上轮子,大功告成!

DIY海盗船机器人系列教程 第1话--- 基础功能图22
DIY海盗船机器人系列教程 第1话--- 基础功能图21
输入代码

组装完成后,机器人已经有了它的身体了。但还没有思想,所以,我们需要通过给她下载代码来赋予它“生命”,让它具有思想。

先下载编程软件——教程

接下来下载帖子最后面的附件,将其中的库文件导入——如何加载库文件

然后就可以直接在从样例代码包中找到MotorTest.ino代码打开。

样例代码MotorTest:

#include <DFMobile.h>

DFMobile Robot (4,5,7,6);   // initiate the Motor pin

void setup () {
 Robot.Direction (LOW,HIGH);  // initiate the positive direction 
}

void loop () {
 Robot.Speed (255,255);    //Forward
 delay (1000);

 Robot.Speed (-255,-255);   //Back
 delay (2000);
}

下载完成后,电机是否有动静呢?如果没有动静的话,检查电池是否安装正确。如果电机转动了,那恭喜你,完成第一步了,下载成功!

再仔细观察下,小车是不是按照我们特定的前进1s,后退1s呢?如果连这个都一样,那你太幸运了,你的电机连接方式和小编一模一样,你不需要做任何的调整了,只需轻松的将下面部分内容大致浏览下就行。不过,相信大部分人,还是需要做电机调试的。调试之前,我们首先需要先简单了解下机器人的移动方式。

如何让机器人前进?

多了不容易理解,我们就先拿前进来说吧,如何实现机器人的前进呢?通过下面这张图来说明小车机器人是如何前进的。

DIY海盗船机器人系列教程 第1话--- 基础功能图24
箭头所指是轮子的方向,从图中可看到,只有当左右轮子都往前转的时候,小车是能够做到前进的。

代码回顾

代码的第一行如下所示:

#include <DFMobile.h> // call library

这一行,你不需要过多理解。调用了一个名为”DFMobile”的library,常被称为“库”。我们在代码里使用了DFMobile的库中的函数,所以,需要在代码的一开始指出所用的库。

接着往下,

DFMobile Robot (4,5,7,6);   // initiate the Motor pin

这个函数就是调用的DFMobile库中的。放在代码的一开始,用来初始化电机引脚的。我们在后面的代码中都会用到。

函数格式如下:

DFMobile Robot

(EnLeftPin,LeftSpeedPin,EnRightPin,RightSpeedPin);  

这个函数是用来初始化电机引脚的,分别有四个参数:

  • EnLeftPin: 左电机使能控制引脚
  • LeftSpeedPin:左电机速度控制引脚
  • EnRightPin: 右电机使能控制引脚
  • RightSpeedPin:右电机速度控制引脚

所以,之后的代码都需要在开始对电机的引脚进行设置,不可或缺的部分。注意,这个函数需要放在Setup函数中初始化。

在setup()函数中,我们对小车的正方向做了设置,这里特意对正方向重点说明。通过前面的测试代码后,我们发现电机的转向并不与我们代码相符,那是由于电机的线序顺序导致的,电机没有正负,上电后就能运转,把正负极对换则是相反的顺序。

所以,电机无非就两个顺序,正转和反转。我们在代码中通过LOW/HIGH来调整电机的正反转。我们这里并不制定LOW就是正转或者反转,因个人接线情况而定。

² 如何调整小车正方向?

调整电机的方向,我们需要用到下面这句语句是:

Robot.Direction (LOW,HIGH);

函数格式如下:
Robot.Direction (LeftDirection, RightDirection);

这个函数是用来设置电机的正方向的,函数分别有两个参数LeftDirection和RightDirection,可写入值为(LOW/HIGH)。

我们在前面简单介绍了一下小车前进的实现方法。这里,就通过这个函数来是初始化小车的正方向。

举个例子,在这段样例代码中,LeftDirection设置为LOW。可能你的小车左轮并不是向前转动,而是向后转动。那么,你只需将LeftDirection 的LOW改为HIGH。重新烧录代码,此时,左轮应该是向前转动了。如果调试成功后,按同样方法调试右轮。

一旦调试好小车的正方向,那么恭喜你!你已经基本可实现小车的基本功能了,再了解下样例代码最后一个函数Robot.Speed()。

函数格式如下:

Robot.Speed (LeftSpeed,RightSpeed);

该函数是用来设置电机转动速度的。分别有两个参数,LeftSpeed和RightSpeed。可写入的值为-255~255。255最大值并且通过负号来表示方向。

因为在初始化函数中,我们已经调试过小车的正方向了,所以这里可通过Speed()函数控制速度的同时,还可控制方向。

现在应该不难理解下面两句话了吧?

Robot.Speed (255,255);

Robot.Speed (-255,-255);  

上面一句表示全速前进,下面一句表示全速后退。代码就解释到这里,下面简单看下机器人的移动方式,也就是如何实现前进,后退,左转,右转等等。

机器人的移动方式

在下表中,罗列了几种常用的移动方式,同时也可以从表中看出其实现形式。举个例子,左轮方向速度为0,给右轮一个向前的速度,小车即可实现前左转。

DIY海盗船机器人系列教程 第1话--- 基础功能图25

可以思考下,如果想实现小车原地转圈该如何控制?

最后,还有一段测试代码可供测试,,可从代码包中找到MotorTest2.ino。这段代码不仅可测前进后退,还包含左转,右转。至此,你已经实现机器人的基础功能啦!


Code0.zip

1.96 KB, 下载次数: 8220

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(15)
4818
4818
这板子感觉好复杂,新手先找简单小板的教程
20060606
20060606
这个底盘极限承重多少kg
DFHk-0ykaN8
DFHk-0ykaN8
已经学习了楼主,感谢发帖。
jzzgb
jzzgb
谢谢分享!
破风而来
破风而来
很好的设计很好的设计
jszxaustin
jszxaustin
谢谢楼主分享,很详细。
niefubao
niefubao
谢谢楼主分享
gada888
gada888
记录下,好好拜读下
X
X
我是新手,请问向您这样的控制器,可以只连一个其他的电机吗
Jane
Jane
作者
回复X
可以只连一个电机的
TODAYSMILE
TODAYSMILE
学习了
Garben
Garben
板子可不可以替换成 DFRduino Uno R3 ???
Jane
Jane
作者
回复Garben
可以换,不过需要加个电机驱动才行。
visionsl
visionsl
真详细, 32个赞
dsweiliang
dsweiliang
很详细的教程啊,赞
孙毅
孙毅
强悍!
丄帝De咗臂
丄帝De咗臂
不错哈
- 没有更多了 -