本帖最后由 sxguoli 于 2021-9-27 22:11 编辑
国际惯例,先上视频 看不过瘾,再来一个 视频中的机器人小车的名字叫“冲鸭”和“飞呀”,是可编程的开源机器人中的两个版本 为什么起名“冲鸭”和“飞呀”呢,它们其实是两个好兄弟,寓意开源机器人拥抱开源,共建共享,冲破旧制度,飞向新未来 什么又是“开源机器人”呢,其实是第八届STEAM教育大会上公布的一个项目——虚谷计划开源机器人项目,下图为旺仔爸爸参与的开源机器人圆桌论坛活动
论坛上演示了一场别开生面的开源机器人对抗竞赛,将论坛氛围推至高潮
随着第八届全国中小学STEAM教育大会成功召开, https://mp.weixin.qq.com/s/qtkxid6MOXibPMrsTggdQg 大会上的一个开源机器人项目也引起了全国教育行业的广泛关注,在创客教育圈正有掀起一股开源机器人浪潮的势头,旺仔爸爸设计的开源机器人(编程版本)有幸带到会场参与了展示,本次就将第八届全国中小学STEAM教育大会上的开源机器人(编程版本)介绍给大家
我们先来目睹一下大会上展示的初代机版本(在视频开头的部分,盛思公司余总手上拿的就是初代机版本)
为什么叫初代机呢,因为它确实是大会前两天赶制出来的第一个版本,旺仔爸爸从会场回来后,又重新迭代优化设计了两个版本,从图片中可以看出这是一个用掌控板作为主控的小车子,在文章开头的第一个视频中展示的“冲鸭”和初代机一样,也是以掌控板作为主控 而第二个视频中的“飞呀”开源机器人则是使用的arduino uno作为主控 本文主要从“冲鸭”“飞呀”两款开源机器人的设计组装,电路原理,程序控制几个部分展开介绍,初代机的版本会有一点点瑕疵本次就不展开介绍了,旺仔爸爸作为珍藏板收藏留作纪念了,哈哈
功能介绍在介绍开源机器人(可编程版本)的功能之前,我们先来了解一下非编程版本的开源机器人都有哪些功能,如下图所示,此作品项目是由安徽合肥多元优贝的陈付军老师制作,感谢陈老师为开源机器人做出的特别贡献
从图中可以看出,此作品有两个行走电机,和一个武器电机组成,在控制方面则采用了2.4G收发模块(模块在车体内部结构中),从外观结构上看更像是一个可以攻城掠地的战车,总结一下它的主要功能 1、2.4G遥控控制两个行走电机 2、2.4G遥控控制武器完成击打进攻任务 了解了开源机器人非编程版本的功能后,接下来确定如何通过可编程的主控实现这些功能 我们把开源机器人结构分为,主控,行驶,武器,遥控,巡线避障五部分 为什么增加巡线功能呢,因为它还可以玩一个接力赛,因为这个接力赛旺仔爸爸是在办活动的时候组织人玩过的,非常好玩,所以给我们的开源机器人也增加了这个功能
设计组装创作起源制作一个开源机器人的第一步是确定方案,开始搞事情之前,从一同去会场的伙伴们那里得知我们现场会有一个比较大型的场地,兄弟们也制作了很多战车在场地中玩耍,是非常刺激的2.4G遥控战车,旺仔爸爸之前也设计过类似的作品,当时得到了很高的关注,也是春节宅家小创马的获奖作品,想要了解的的伙伴可以点击超链接查看制作教程,大会现场已经有很刺激的战车了,不过还缺可以编程的开源机器人,那么旺仔爸爸就制作一个可以编程的版本带到会场凑凑热闹吧 由于开源机器人增加了可编程的学习元素,成本肯定是要高一点的,同时也要具有非编程版本的功能,确定的方案的核心无非就是主控、执行器的选择、要完成哪些任务等,可以选择的方案有,使用microbit作为主控控制电机和武器舵机,采用另外一块microbit控制板作为遥控,这样两块主控再加扩展板就能实现基本功能了,但成本可能比较高。 于是再尝试有没有更好的方案,第二个想到的方案就是使用arduino uno或者nano,遥控方面选择ps2可编程手柄,没错,这个方案看上去会是一个性价比很高的方案,可以选择 接着再思考,还有没有其他方案了呢,要带手柄过去还是比较麻烦的,能不能用手机控制呢,这时候第三套方案就诞生了,利用掌控版,既可以使用蓝牙还可以使用wifi,价格和microbit相同,加一块扩展板,成本还能接受,而且最关键的是,掌控板是STEAM大会的亲儿子啊,2018年在长春第六届STEAM教育大会上正式发布掌控板,相当符合本次会议的场景哈,那就定了,掌控板作为主控,手机端使用blynk实现遥控开源机器人,在steam教育大会上展示的初代机版本就这样确定下来了 另外一个arduino版本的开源机器人在大会结束后旺仔爸爸也设计出来了,本文会同时介绍,大家一起期待 方案确定后,第一步肯定是图纸的设计 图纸设计图纸设计使用lasermaker画图软件,下图为大会现场的初代机设计图纸,指尖陀螺造型的结构是为了安装巡线模块使用
下图为掌控板开源机器人“冲鸭”的设计图纸
下图为arduino uno开源机器人“飞呀”的设计图纸
下图为“冲鸭”切割完成的零件实物图
下图为“飞呀”切割完成的零件实物图
隐藏福利,本文中提到的“冲鸭”或“飞呀”图纸在后台回复“冲鸭”或“飞呀”关键词可以获取哦 电路原理
开源机器人“冲鸭”的电路接线如下图所示,一个掌控板加一个板载电机驱动的掌控+microbit通用的扩展板,电机选用TT电机,由于扩展板不支持5v的传感器,所以旺仔爸爸在之前获奖的套件中找了一个3v的巡线传感器,这样“冲鸭”就具备了巡线的功能
下图为开源机器人“飞呀”的电路接线图,遥控方式采用了ps2无线手柄,增加了巡线和避障的功能
组装制作首先我们来看一下“冲鸭”是如何组装完成的 “冲鸭”开源机器人“冲鸭”安装需要用到的硬件清单如下图所示
掌控板*1 掌控扩展板*1 TT电机+轮子*2 巡线模块*1 103450 3.7V锂电池*1 舵机*1 尼龙柱或铜柱*4 椴木切割件、杜邦线、五金件若干 首先是行走电机的安装,下面是“冲鸭”开源机器人的两颗行走电机,用两个激光切割的木板通过M3的长螺丝与TT电机固定,之后再将木板与小车的上下两块板固定
接着是巡线模块的安装,下面是开源机器人“冲鸭”所使用的巡线模块,电源要求是3v,设计了一个指尖陀螺的结构通过M3的螺丝与小车底盘连接
然后是主控板+扩展板的安装,下面是掌控板+扩展板与开源机器人车体固定示意图,这款掌控扩展板自带四颗固定螺丝,所以在木板上设计四个孔位,直接拆下穿孔固定就好了
接下来是“冲鸭”武器部分的安装,包含左右两部分,由鸭子造型元素的结构和一个鸭掌造型的武器组成,通过舵机驱动鸭掌动作,“冲破旧制度,飞向新未来”
接下来一步,我们需要将巡线传感器,行走电机安装固定在小车地盘上
最后我们需要用四颗尼龙柱加四颗螺丝和螺母将“冲鸭”的上下两块木板以及侧板固定
组装完成后,我们来看一下效果图
通过动图来展示一下它的功能 巡线功能测试
遥控行走和武器的功能测试
“冲鸭”了解完毕后我们来了解“飞呀” “飞呀”开源机器人“飞呀”需要用到的硬件清单如下图所示
arduino uno*1(板载驱动) ps2一套*1(手柄,接收器,转接板) 超声波*1 3路巡线模块*1 7.4V锂电池*1(18650两节) 舵机*1 n20电机+轮子*2 尼龙柱或铜柱*4 椴木切割件、杜邦线、五金件若干 “飞呀”使用的行走电机为n20减速电机,采用激光切割转接木板的方式用M3的螺丝与轮子固定,如下图所示,转接板开D轴孔与n20电机过紧配合(也可以直接购买专用连接器)
“飞呀”使用ps2 2.4G无线手柄进行遥控,接收器和转接板使用高度5mm的尼龙柱安装,如下图所示,同时增加巡线和超声波测距避障的功能,巡线传感器使用高度5mm的尼龙柱加螺丝固定,超声波可以热熔胶加固
为了美观和突出开源机器人的元素,在结构上增加了三块侧板
开源机器人“飞呀”的武器部分,采用了一个阿童木的人物造型和一个拳头元素,寓意“打破一切不合理”
开源机器人“飞呀”的主控采用板载电机驱动的arduino uno控制板,这样不需要单独增加电机驱动模块,降低了使用难度,使用高度5mm铜柱(或尼龙柱)与车体固定
最后我们需要用四颗尼龙柱加四颗螺丝和螺母将“飞呀”的上下两块木板以及侧板固定,将ps2的接收器和转接板按下图方式进行安装
组装完成后,上一波靓图
通过动图来展示一下“飞呀”的功能 “飞呀”避障功能测试
“飞呀”遥控行走和武器的功能测试
“飞呀”巡线功能测试
至此为止,“冲鸭”和“飞呀”两兄设计组装环节就介绍完毕了,其实我们的家族还可以更加丰富哦,欢迎大家一起设计更多造型的开源机器人 下图是旺仔爸爸在课堂中带学生设计的武器造型及以microbit作为主控的车体
为什么选择microbi方案呢,是因为这个班级正好最近一段时间在上microbit的课程,老师就把课程进度调整了一下,让孩子们不仅学习硬件编程,同时在课程内容上增加了外观设计,用大概一个月累计8h的课程时长完成了这个项目
再来看一下孩子们打斗的场景,学生对自己设计的项目车子还是非常喜爱的
最后我们需要介绍开源机器人最核心的程序部分了 程序控制“飞呀”程序设计开源机器人“飞呀”采用Mind+编程环境,当然使用mixly和arduino ide也是可以的,程序开始设计之前需要先做一些加载准备工作 首先打开Mind+环境,切换为上传模式,点击左下角的【扩展】模块
在【主控板】的界面中选择Arduino uno主控
在【用户库】中选择6612电机驱动库
在【通讯模块】中选择PS2手柄模块
在【传感器】中选择超声波测距传感器模块
在【执行器】中选择舵机模块
所有准备工作加载结束后会出现如下图所示的模块
接下来我们开始编写程序,为了让更多伙伴在程序设计中得到锻炼,旺仔爸爸不打算直接上完整的程序图,而是分模块介绍,给大家留出试错的空间 我们先来介绍一下行走电机的控制程序 我们可以通过自定义函数的方式,给“前进”“后退”“左转”“右转”增加自定义模块,让程序更简洁,可读性更强
将加载好的电机模块按照下图所示程序设置好引脚,在主程序中调用自定义函数进行简单的测试,验证各个方向是否存在问题,并进行调整
接着我们可以在上面程序的基础上增加超声波测距的功能,当超声波测量到的距离小于一定范围时就执行后退的动作,否则就直行,测试程序如下图所示
接下来,我们可以学习ps2手柄的编程方法,第一步需要加载初始化指令模块,主程序中可以通过设置手柄上的两个方向键是否按下来驱动电机动作
下面,我们还可以利用ps2手柄来控制舵机,这里提供的思路是:当ps2手柄的某个键被按下后舵机旋转至90度,否则旋转至0度
最后,我们可以测试一下巡线模块的编程方法,“飞呀”使用的是三路巡线模块,当检测到黑色时的状态是1,否则为0 ,编程思路大致为,将巡线模块分为左、中、右三路,中路为1时直行,左路为1时左转,右路为1时右转,当然还可以更加细分,这里旺仔爸爸不做过多阐述,留给大家自行尝试
“冲鸭”对“冲鸭”的编程,我们需要先来了解“冲鸭”程序的实现过程,和“飞呀”不同的是,“冲鸭”不需要遥控手柄了,而是通过blynk实现遥控,于是我们先从介绍blynk蓝牙控制开始 blynk移动端准备工作第一步登陆账号,如果是第一次使用需要先进行注册,“Login”为登陆,Create New Account ”为注册
输入账号密码进行登陆
登陆成功后,点击“New Project”上面的+号新建项目
接着选择主控为ESP32 Dev Board
点击“CONNECTION TYPE”选择连接方式
本次任务,我们可以选择wifi和蓝牙两种方式,蓝牙模式会更稳定一定,旺仔爸爸以蓝牙方式进行讲解,我们选择“BLE”模式
选择完成后,然后点击“Create Project”按钮,会询问是否向邮箱发送一封包含授权码的邮件,点击OK即可创建项目并收到这份邮件,当然你也可以在项目中找到该授权码,这个授权码是blynk移动端与掌控板蓝牙连接的关键,在编程时会使用到
点击右上角的六边形可以进入项目设置界面,在最下方也可以看到授权码的信息,如下图所示
APP向左滑动可以添加组件,组件列表如下图所示,我们本次需要使用两个按键“Button”、两个摇杆“Joystick”以及一个蓝牙“BLE”组件
加载好的组件,如下图所示 我们把它横过来看,方便讲解,这样也是操控时的姿势,由于【Blynk】还没有横屏的功能,所以有些字看着有些别扭,不过这丝毫不影响我们使用
为什么要用两个摇杆呢,是为了控制方便,我们用左边的摇杆控制前进、后退,用右边的摇杆控制左转、右转,左边的摇杆设置为虚拟引脚v0和v1,右边的摇杆设置为虚拟引脚v2和v3,设置过程如下图所示 V2引脚控制左右方向
V0引脚控制前后方向
虚拟引脚的数值范围都设置为0-1023
接着我们需要设置两个按键“Button”,为什么要两个按键呢,因为,我们需要用一个来控制舵机,一个来切换巡线模式,分别为V4、V5虚拟引脚,左边为V5,右边为V4,细心的伙伴应该会看出,两个按键设置的模式不同,没错,按键设置有“PUSH”“SWITCH”两种模式可选 V4虚拟引脚用来控制舵机,设置为“PUSH”模式,按一下舵机动一下,不按就复位
V5虚拟用来控制是否进入巡线模式,设置为“SWITCH”模式,按一下锁定当前模式,再按一下复位
最后还剩一个蓝牙模块设置一下准备工作就完成了,点击蓝牙模块会看到如下图所示的界面,接着点击“Connect BLE Device”
选择搜寻到的蓝牙名称,这里的名称是在程序里设定好的,找到你自己设定的名字即可,之后点击“ok”,等待连接成功
最后我们点击右上角的“三角”形就可以用运行这个程序了
“冲鸭”移动端的准备工作完成后,接下来开始程序编写 “冲鸭”程序设计mind+程序准备同样点击扩展,在【主控板】中选择掌控板
在【扩展板】中选择“micro:bit&掌控板”扩展板
在【用户库】中选择“Blynk”
加载好后的模块如下图所示
准备工作完成后,首先进行初始化,如下图所示,将Blynk移动端的授权码填入下面程序中,蓝牙名称可以自由更改,需要注意的是主程序中需要增加“运行blynk进程”这条指令
接下来我们可以通过控制舵机,来测试程序编写是否正确,舵机控制如下图所示,接收到V4引脚的数据后执行动作
接着用同样的方法,通过V0引脚控制电机前进、后退,由于blynk移动端的虚拟引脚数值设置为0-1023,而电机的转速范围是0-255,程序中将虚拟引脚的数值通过数学计算转换为电机的速度,其实还可以在blynk移动端直接修改虚拟引脚的数值范围,大家可以自行去尝试
用V2虚拟引脚控制电机左转、右转
另外一个V5虚拟引脚的数据留给大家自己尝试完成哦 最后给出一个巡线的思路,“冲鸭”使用的是两路巡线,思路其实跟三路巡线大同小异,同样1代表黑色,0代表非黑色,左右都是1时前进,左边1右边0就左转,左边0右边1就右转,知道了这个相信大家程序很快就能完成
到此为止,可编程的开源机器人“冲鸭”“飞呀”两个版本全部介绍完毕了,下面旺仔爸爸讲一些关于STEAM教育大会上的故事 最后
本次大会除了有精彩纷呈的开源机器人以外,能和各路大神线下见面也是非常激动人心的事情,搞机兄弟们还相互赠送了礼物,比如旺仔爸爸就收到了来自青岛爱智作匠创空间的滕老师赠送的锤子,我们亲切的称他为老滕,我们一起拿着老滕设计制作锤子留下了下面这个合影
当然,本次steam大会是旺仔爸爸参加的为数不多的线下活动,特别珍惜,也为大家准备了礼物,只不过由于准备时间比较紧张,一直到了steam大会召开的那天上午才把礼物准备好,所需要的材料也是从深圳快递到了酒店才得以赶得上时间,旺仔爸爸到底准备了什么样的礼物呢,我们一起来看一下下面的图片
它其实是一个改装过的蓝牙耳机
下面是关于这个礼物准备的视频,一起欣赏一下吧 https://www.bilibili.com/video/BV1LD4y1R7WV?share_source=copy_link&share_medium=iphone&bbid=Z14332110B26792C4B5AAA9FBA3E5F07FD3C&ts=1605861488 最后的最后,希望有机会还可以参加更多这样的活动,毕竟有共同爱好的人能聚在一起就是缘分,还有很多没有见过面的网友,期待下次的相逢 开源机器人还可以有更多的玩法哦,不一定是使用武器击打的方式,还可以有更多呈现方式,比如可抓取的结构,甚至可飞行的机器等,呼吁大家共建共享这样一个平台,让我们一起柔软的改变教育 造物让生活更美好!旺仔爸爸期待和你一起交流学习!
|