教你DIY一个会打招呼的龟仙人——萌萌哒乌龟机器人

编者注:本项目来自Instructables,项目作者为chombaw。

在本项目中,我将从头开始打造一个能够使用蓝牙进行控制的四足乌龟机器人。该机器人拥有两个自由度,采用的是爬行的方式进行运动,所以在不平坦的地面可能不能正常工作。

第一步:3D打印组件

本机器人的部分机身是采用的3D打印技术制作的,我在这里提供了这些3D打印部件的.stl文件和.ipt文件,你可以根据自己的需要对这些文件修改。你需要打印的文件包含一个基板、一个盖板、3个前后接头、一个前面板、4个腿部接口、4个腿部折叠构件、一个后面板、4个侧面和基板接头、2个侧面板、4个上部构件。

第二步:其它组件及成本

下面我列出了本项目所需要的主要部件以及成本。(当然,在中国购买的话,大部分都会便宜一点。)

  • 3D打印部件~ 40-60美元
  • Arduino Uno~ 20美元
  • Arduino 5V传感器扩展板~ 11美元
  • HC-06蓝牙模组~ 10美元
  • 8个Futaba S3003标准舵机~ 80美元
  • 超声波传感器~ 7美元
  • 4枚AA电池(驱动舵机)~ 6美元
  • AA电池套~ 5美元
  • 9V电池(驱动Arduino)~ 8美元
  • 9V电池连接器~ 5美元
  • 4个母口对母口线(连接传感器和扩展板)~ 5美元
  • 计算机

总共大约在197美元~217美元之间

第三步:腿的组装

原料备齐了之后就可以开始组装了,我们从腿部开始。8个舵机分成2组,每组4个分别安装在机器人的“大腿关节”和“膝盖关节”处。

其中“大腿关节”处4个的舵机需要固定在机器人的基板上。

第四步:连线

之后再将带有扩展板的Arduino和电池等安装到基板上,将蓝牙模组、舵机和超声波传感器对应连接在Arduino的相应位置上,最后连接电池。具体的连接方式如下图所示:

连接好了是这样:

第五步:运动模式设计

设计一款机器人,为其设计合适的运动模式当然是至关重要的。我的机器人是这样运动的:

当机器人向前运动时,它首先移动其右前足向前,同时机器人会将左前足向后推。这会将整个机器人的右部向前推动。然后机器人再向前移动其左后足,这时又会将其右后足向后推。这种运动会将机器人的左部推向前。接下来机器人会左前足向前、右前足后推;然后再右后足向前、左后腿后;如此往复。这种方式能让机器人以比较快的速度向前运动。如下图所示:

而当机器人倒退时,只需要反过来执行整个过程就行了。

如果机器人需要右转,则机器人移动右前足向前,同时又移动右后足向前,然后在左后足不动的情况下让右前足向后运动。接下来前移左前足,然后后移右后足,同时前移其左前足。右转即完成。

同理,当机器人需要左转时,可以让机器人线移动左前足向前,并移动左后足向前,然后在右后足保持不动的状态下让左前足向后运动。接下来,机器人继续移动右前足向前,然后移动左后足向后的同时后移其右前腿。左转即完成。

第六步:代码

代码分为两个部分:The_Social_Quadruped.ino和Quad_Functions.ino

第一个包含了Servo.h库(Arduino IDE自带)和NewPing.h(点击这里下载)。我首先定义了触发引脚、相应引脚以及超声波传感器的最大距离;之后我又定义了一个布尔变量,可以用来切换机器人的自动模式。之后又定义了舵机。在设置函数中,我初始化了串口检测器,让我可以将命令发送到Arduino上。在循环函数中,我设置超声波传感器发送最近物体的距离给串口检测器,然后检查用户输入。如果用户输入字符为 f, b, r, l, w, s, u 或a,那么则将分别执行前进、后退、右转、左转、挥手、睡眠、站立或自动工作这几个不同的功能。这些功能函数是在Quad_Functions.ino中定义的,可以轻松地调用。另外,需要提及的是当用户按了a之后,机器人将进入自动模式;要取消自动模式则需要用户再点击一次a。

第二部分Quad_Functions.ino则包含了所有功能的函数定义。其中包括机器人的各种运动模式。前进、后退、右转、左转等函数都很好理解,挥手功能包含wave2 和wave两个函数,可以让机器人分别使用左前足和右前足挥手。waveAuto函数是机器人在自动模式下挥手,使用的是右前足。睡眠模式是指机器人将舵机的位置运动到让机器人平躺到地面的模式。readPing函数则用来读取超声波传感器传递的数据。

第七步:无线控制

首先当然要确保蓝牙模块是按以上描述正确安装的。

接下来,启动你电脑上的蓝牙并将其和Arduino上的蓝牙连接配对。配对完成之后,进入控制面板,在设备中找到HC-06。右键点击并选择“属性”,选择“服务”选项,将该接口的串口通信勾线上。

然后进入Arduino IDE,选择路径Tools -> Port,将上面“服务”选项中的接口设置上去。然后就大功告成了!

打开串口监视器,你可以查看超声波传感器的读数,并且可以将机器人通过USB连接到电脑上进行控制。

下面是机器人工作时的视频:

视频内容

原文发布于微信公众号 - 机器人网(robot_globalsources)

原文发表时间:2016-06-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT派

程序员那些牛逼闪闪的禁术,看到第二条我就忍不住哈哈哈哈哈哈哈哈

在和产品经理进行需求对峙时,一本正经地把不好/不想实现的功能通过玄学等方式口述出来,让产品经理当场懵逼,知难而退。

1470
来自专栏hbbliyong

怎样去阅读源码,这篇文章值的你一读

作者:刘欣 公众号:码农翻身 链接:http://mp.weixin.qq.com/s/PDhEKM2XG_qzOmBjWb-M7Q "没有经验的技术...

3136
来自专栏C语言及其他语言

想举办自己的编程比赛? 来这里

大家都知道C语言网(www.dotcpp.com)是一个集在线学习、训练、比赛、求职于一体的综合性编程学习网站。大家除了日常在网站上看视频学习、做题训练、写题...

1722
来自专栏hotqin888的专栏

浅谈onlyoffice文档协作在工程设计中的应用——共享excel计算书

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/det...

1862
来自专栏程序员互动联盟

jAVA发展历程

1991 绿色计划 (Green Project) 1991年1月 一个名为“Green Project”的项目启动。该项旨在为家用电器提供支持,使这些电器智能...

40411
来自专栏玉树芝兰

密码怎么设才好?一条标准就够了

又看到网络安全事件的新闻了吧?心慌不慌?其实设置和保管好自己的密码,只需要记住这一条标准就可以了。

985
来自专栏腾讯大数据的专栏

四两拨千斤:借助Spark GraphX将QQ千亿关系链计算提速20倍

腾讯QQ有着国内最大的关系链,而共同好友数,属于社交网络分析的基本指标之一,是其它复杂指标的基础。借助Spark GraphX,我们用寥寥100行核心代码,在高...

3648
来自专栏Crossin的编程教室

为什么新手在编程社区提问得不到回答,甚至还会被嘲讽?

学编程难免遇到问题,遇到问题难免要上网求助。然而有过不少同学向我诉苦,说在网上提问没有人回答,有的还收到一些不是很友好的回复。我自己也在经常上的论坛上目睹过类似...

901
来自专栏编程一生

入我新美大的Java后台开发面试题总结

1946
来自专栏机器人网

11个这类开源名称的词源

  “它适用于信息目前掌握在少数人而非许多人手中的任何领域,少数人控制产品、服务或实体的生产、分发和改进的任何领域。”   我们已搞明白了这点,那么“Kuber...

3505

扫码关注云+社区