分享一款基于Micro Bit 的遥控小车的设计(上)
这次基于micro:bit的麦昆教育机器人的试用,收到这款开发套件已经有好一段时间,一直忙于工作和其他的事情,没来得及认真体验。趁今天周末难得有时间,所以迫不及待的拿出来研究了一番。
我们先来看下这款开发套件的大合照:
可以看到,这款开发套件包含了以下几样东西:
小车底盘(含直流减速电机*2)---- 1块
Micro bit --------------------------------- 1块
小车轮 ----------------------------------- 2个
小车轮胎橡胶圈 -------------------------- 2个
超声波模块 -------------------------------1个
三节电池座 ------------------------------ 1个
双面胶 ----------------------------------- 1块
至于这款开发套件的组装,那就再简单不过了,具体组装过程笔者就不再赘述了,给大家看一下组装后的整体效果吧:
当然咯,由于开发套件中没有电池,笔者找了找家里似乎也没有多余的电池,所以就找了一节18650的锂电池来代替了,虽然没有原本电池座那么美观,但是这种可循环充电的锂电池还是比干电池耐用不少,因此不用担心中途没电而不能愉快的玩耍了。
一直没有想到做一个什么好玩的东西,然后突然想起来,之前在亚博智能的论坛里兑换了一个遥控手柄,于是,就想起来做一个遥控小车吧。下图便是亚博智能的遥控手柄的官方资料图:
遥控手柄的实物背面图如下图所示,采用一个电池盒,由两节干电池供电,为了让线更好看一些,笔者用了热熔胶将多出的线进行了固定:
或许有不少人用51单片机或者别的控制器做过很多类似的遥控小车,但是,如果你用了亚博智能的这款遥控手柄和麦昆的这款机器人套件之后,你会发现,原来自己动手DIY一款遥控小车竟然会如此的简单。
好了,话不多说,就让笔者给大家详细介绍一下,这款给予Micro bit的遥控小车的制作过程吧。
首先,我们来编写遥控器端的程序,笔者用的网页版的makecode编译器,在浏览器中输入网址:https://makecode.microbit.org,在打开的界面中,新建一个工程,如下图所示:
然后,我们来开始无限配置,在左侧的工具栏中,我们点击“无线”这个工具,找到“无线设置组(1)”这个积木,拖动到编程界面中:
同理,在“无线”这个工具栏的“更多”选项中,找到“无线设置发射功率()”这个积木,并拖动到编程界面中:
笔者这里将“无线设置组”的ID设置为“1”,将“无线设置发射功率”设置为7,当然,读者也可以设置成别的,最后跟麦昆教育机器人程序的配置一致即可。
接下来,因为我们用到了亚博智能的遥控手柄,所以我们需要加载他们的软件支持包,我们在左侧工具栏中,点击“高级”工具,找打“扩展”选项:
在弹出的界面中,在网址栏里输入亚博智能提供的遥控手柄软件支持包的网址:https://github.com/lzty634158/GHBit,然后点击搜索按钮,便会搜索到亚博智能的软件支持包,然后双击该支持包,便可以导入到项目中:
这时候,我们便会发现,在左侧的工具栏中,多了GHBit和Neopixel这两个工具:
接下来,我们开始写控制逻辑,关于积木的查找,相信大家已经知道怎么找了,所以这里笔者就不再一个个手把手教了,我们先写一个遥控手柄向上的一个操作,具体操作是这样的:当遥控手柄向上时,我们发送一个字符“A”,同时,让遥控发射端的Micro Bit现实一个向上的箭头,用来控制电机前进:
按照同样的方式来设置遥控手柄四个方向的控制逻辑,笔者这里按照平时玩游戏时的操作习惯来设置,用“W”、“S”、“A”、“D”四个字母,来分别控制小车表示“前进”、“后退”、“左转”、“右转”四个方向的动作:
最后,我们还得设置一个让小车停下里的动作,不然,当我们操控手柄向某一个方向运动时,小车会一致运动,停不下来,这肯定不是我们想要的。那么这个停止的动作要怎么实现呢?其实也非常简单,我们只要让手柄在没有操作的时候发送一个停止的指令,即可:
到此,遥控手柄端的程序就写好了。
原文作者:SingleYork