本文的作者是BOXZ团队的Leo,他看到雷锋网正在征集创客作品(igeek.im),于是按照我们的要求把产品介绍发了过来。想跟着他DIY一台属于自己的足球机器人么,请看下文。 BOXZ,昵称盒仔,其创意始于2012年6月初。当时的想法是设计一款入门级的机器人,可以和三五好友在有限的空间里进行踢足球等互动,而且要做到取材容易制作简单,同时还要注重外观拥有个性。 在设计的时候采用了模块化的接插结构,材料用硬纸板裁切就行,组装就像搭积木一样简单。为了保障竞技的公平性,BOXZ的机械壳体长宽高尺寸被限定在128MM。而个性化则体现在丰富的皮肤模板,可自定义编程,可扩展的传感器接口等方面。不仅如此,BOXZ是一个开源的项目,我们希望给大家提供一个平台,一系列的解决方案,所以大家完全可以制作一套独一无二的盒仔。 经过一年多的沉淀,我们的盒仔功能也越来越完善。期间还得到了Seeedstudio和DFRobot的大力支持,以及很多热心极客的加入。同时也非常高兴的看到有网友在制作自己心中的BOXZ。我们将之前的系列教程汇总成一篇2013完整版呈现给大家,同时也分享一些调试经验。希望可以帮助更多的爱好者拥有属于自己的机器人! 一.准备工作[工具部分]
[机械部分] 我们需要准备一张2MM厚度的美工用硬纸板,和以下机械零件
[Arduino部分] 除了以下的标准配置外,大家还可以选择我们推荐的系列套件。
[打印部分] 准备一些A4打印纸,下载地址在本文最后
二.硬件部分制作1. 在开始制作之前,我们先来了解一下盒仔的机械结构 上图就是盒仔板块一览,盒仔是由大小不等的板块构成,板块和板块之间采用插入式连接,因此不需要任何螺丝等紧固件。但是盒仔和其他部件,例如电机之间的连接就只能通过螺丝螺母了。这里面最大的板子外围尺寸为128x128MM,也是我们盒仔的外壳尺寸。这样的板子一共有五块,包围了整个盒仔,我们称之为大板。其中还有些尺寸各异的支撑板,用来支撑盒仔内部的Arduino模块和电机。 2. 首先将下载好的BOXZ Base图纸到A4纸上 3. 我们需要先把图纸进行裁剪到合适的大小,大概距离边线10MM左右即可 4. 然后把图纸进行简单的排版,用双面胶把裁减好的图纸粘贴到硬纸板上。 5. 首先用裁纸刀将各个板块裁成一块,一块的。然后对需要开孔的用电转进行开孔。开完孔后就可以对边角进行修正,开槽。等一个板块的所有边线都裁切完成之后,就可以揭去图纸了。一块纯手工打造的盒仔板块就算完成啦! 6. 陆陆续续对其他所有的板块进行裁切,并完成所有的板块,整个过程大概会占用你4-5小时,如下图。 三. 盒仔的组装1. 列表中对每一个板块的编号和名称都有定义,如果你对于第一次组装盒仔感到困扰的话,我们有一个建议就是根据上面的我们定义过的P0xx的编号,用铅笔对每一块进行标注,我们下面的组装过程会按照编号跟大家讲解。下图为盒仔的结构示意图,从图中大家可以大致了解各个板块之间的连接关系。即使第一眼你觉得很复杂也没关系,只要按照我们的教程一步一步操作即可。
2.下面我们开始介绍盒仔的组装。首先用到的是P003,我们一共有2块电机支撑板,用于连接和固定TT减速箱电机(以下简称电机)。在开始安装电机之前,大家可以先根据图示把P003实验性的插入P001,从而定义好一个方向,我们的电机都是在支撑板内侧安装的。然后就可以用紧固件分别把电机固定在P003的内侧了。如图每块P003与TT减速箱通过两个M3x30MM的螺丝固定。 3. 将安装好电机的2块P003插入P001,然后把P002插入P001,此时整个盒仔的支撑结构已经完成。注意安装的先后顺序,这很重要! 4. 把电池盒用M2X30的螺丝固定在P001上,这样我们的电机便牢牢的固定在了支撑板上。 5. 将车轮安装在盒仔P003的两侧。 6. 将两块P004分别插入P001的两侧,然后装入两块P005,它们负责连接P002,P003和P004。此时你的小车应该已经非常牢固了!如果你所购买的硬纸板厚度不足2MM或者比较软的时候,我们建议你用纸胶带,对P002,P004和P005进行一个整体的加固,这会让你在安装外围板块的时候更轻松。 7. 现在盒仔的底板已经全部完成。这里我们要用到编号为P008的主控平台板,从中可以看出一共有三个孔位对应着Arduino主控上的三个固定孔。通过6个六角铜柱(M3+6和M3x6各三个)和螺丝将Arduino主控固定在P008上,这里大家需要注意一下方向,两个孔的冲向盒仔的正前方。 安装完效果如图 8. 这里我们要跳到第四章进行Arduino软件的操作,然后再回到这里继续剩下的组装任务。 9.将装好Arduino的P008插入我们的盒仔底盘,插入P002。P007已经取消了,不再需要。 10. 然后将电机驱动板叠加到Arduino主控之上,下面就是连接各个电路部分了,不要慌,我们只有6根线哦!第一步,首先将电池盒的红线连接到电机驱动板的电源上。第二步,将电机连接到电机驱动板上,连接方法如图: 11. 然后将蓝牙控制板也叠加在电机板之上,我们的电路部分就基本搭建完成了!这里需要注意一点,我们教程中使用蓝牙板有切换软硬串口的跳线功能,而板子的默认位置需要大家确认一下,只要按照图中2个红色方块所示调整好跳帽即可。 12. 最后将两块P040,P020和P030四块外围板依次安装,(这只是一张实际安装效果图,图中蓝牙跳帽的位置是错的,请大家注意) 13. 最让人激动的时刻马上就要到了!盖上P050顶板,插入电池,一个盒仔诞生了! 14. 原型搞定以后,我们进行了激光加工,最终实物效果如图: 三. 皮肤部分制作皮肤部分教程的主角是Minecraft里面的Creeper。直译爬行者,又名苦力怕,和JJ怪。先上完工图和视频。 1. 首先打印我们的皮肤。Creeper一共需要3张A4纸 2. 沿线裁减皮肤,如图。 3. 由于纸张较薄,所以裁减后有些微翘。建议大家使用厚一点的A4纸张打印,即可避免此问题。 4. 用双面胶粘贴在白色连接区域中,然后将每块皮肤粘贴在一起,这里建议大家使用5MM宽的双面胶。 5. 由于纸张较薄的关系,这里用纸胶带进行了加固处理。 6. 皮肤制作完成,来看一下整体效果吧。 四. Arduino软件调试首先我们需要下载BOXZ的库并安装在Arduino路径下 https://github.com/leolite/BOXZ/tree/BOXZ/BOXZ/L000%20Library/Arduino/lib/BOXZ 1. 在打开Arduino软件之间,我们要做一件重要的事情,就是把BOXZ库文件解压缩,复制到Arduino的扩展库文件夹下,如图所示。 2.在下载新程序之前,一定要确认蓝牙控制板没有插在Arduino主控板上。因为下载会和蓝牙占用相同的端口,将导致下载失败!先将Arduino的USB方口和电脑的USB端口用编程线缆连接。然后用Arduino打开我们提供的BOXZ程序。从菜单File-Examples-BOXZ中选择BOXZ_Pro 3. 选择我们的主板,这里我们选择的是Arduino 2009版,当然如果您的主控板是UNO或其他什么的请在列表中选择正确的主控板。 4. 下面要选择我们的通讯端口,这里我们选择的是COM4,如果大家不清楚自己的端口号或者系统环境的话,请参考本文最后提供的FAQ链接。 5. 最后点击下载按钮,稍等片刻,程序就下载完成啦! 五. Android部分调试通过BOXZ Android客户端大家可以像玩游戏一样控制我们的BOXZ,通过重力感应来控制BOXZ的方向,按键来进行互动。当然大家不仅仅可以控制我们的BOXZ,还可以控制任何使用单字符通讯的蓝牙设备。 BOXZ的Android客户端功能如下:
1. 下面给大家介绍BOXZ客户端的安装和使用方法。这里我们使用豌豆荚来安装软件,首先大家需要下载并安装我们的BOXZ客户端 下载链接:https://boxz-android-client.googlecode.com/files/boxz-android-client-1.0.2.apk 2. 直接双击下载后的APK文件,就是图中那个小绿豆图标的。会弹出安装确认对话框。记得先把手机用数据线连接到电脑上哦!BOXZ客户端较小,几秒钟就装好了。然后大家可以在手机目录中看到我们的客户端了。 特别提醒一点:如果未进行配对就直接打开BOXZ客户端的话,大家是无法在BOXZ客户端的启动界面中蓝牙设备列表里面发现我们BOXZ的蓝牙设备的。这也是大家目前反映比较多的问题,切记一定要先配对再启动BOXZ的Android客户端。 3. 关于蓝牙的配对方法,由于手机厂家和型号的不同操作界面也有所不同,但大体上Android系统的结构都是一样的,所以大家可以参考以下操作。首先是打开手机设置->无线和网络->蓝牙设置->打开蓝牙。 4. 附近的蓝牙设备会出现在下面的列表里面,如手机截图05所示,我们的BOXZ设备名称是“Bluetooth_V3”。如果列表中没有我们的设备,可以尝试点击[扫描查找设备]按钮,让系统重新搜索 5. 点击“Bluetooth_V3”会弹出手机截图06所示的配对请求界面,在其对话框中输入我们的默认密码“1234”,并确认。这时候大家会发现我们的“Bluetooth_V3”已经由之前的“与此设备配对”的状态变成了“已配对”。这样我们蓝牙的配对操作就完成了。 6. 正确配对之后返回到手机目录,找到我们的BOXZ客户端图标,打开BOXZ的Android客户端软件。在启动菜单中就会出现我们的BOXZ设备了。选中后进入操作界面截图11 7. BOXZ的操作是通过重力感应控制方向,按键操作手臂来实现互动的。如操作界面图一共有7个按键,左侧两个按钮为左臂的上下运动,右侧两个按钮是右臂的上下运动,中间是手臂抬起与放下,最下面的大按钮是技能键,大家可以自定义一个技能。界面中并没有方向键,这是因为BOXZ的方向移动是通过手机重力感应来实现的。但原理上跟按键操作是一样的,每次动作Android就会发送指定的字符到Arduino,然后Arduino再执行相应的动作。顺便扩展一下思路,大家也可以用我们的Android客户端来做智能家居的开关灯管理的。 8. 如果大家需要自定义按钮的话,可以通过手机的菜单键调出控制面板,如截图12。点击“Settings”里面会有全部的按键设置,共计22个按键以清单的方式显示,大家可以根据需要进行自定义修改。 六. 扩展应用BOXZ的玩法还有很多。例如有款叫SECuRET LiveStream的Android软件,能把我们的智能手机变身成Wifi摄像头,然后把手机放在我们的BOXZ上,可以用电脑通过摄像头的画面来控制我们的BOXZ,第一人称视角的用户体验可是上帝视角所无法匹敌的哦!而且控制难度大增!因为你永远不知道你要面对什么?而背后又有什么? 用点阵LED组成的眼睛让BOXZ更加可爱! |