10393| 14
|
[项目] Micro:Bit手柄试用之一MagicPad (解决蓝牙与gamePad包共存) |
本帖最后由 pATAq 于 2018-6-5 10:46 编辑 前言原创文章,转载引用务必注明链接。由于本人初次接触micro:bit,水平有限,如有疏漏,欢迎指正。 Micro:Bit真好玩! DFRobot的论坛相关资料算是国内比较丰富的了,个人感觉MB比Arduino更有趣!感谢DFRobot,总会带来各种新奇、有趣价格相对不贵的模块,无论是Intel Edison还是micro:bit,都设计了大量模块,非常棒。 1、MagicPad设想这次拿到micro:bit gamepad 遥控手柄 ,把玩了一下,发现很多神奇的功能,查阅了大量资料文档,算是管中窥豹,后续会分享给大家。这次做一个小项目,涉及到部分知识。目前想做的是:mb作为蓝牙遥控器,控制手机拍照(自拍)、查找手机、自动切歌、丢失报警(GamePad震动)等等。 2、硬件解析这里用到的硬件如下:
micro:bit会在另一篇文章里进行介绍,其具有加速度与电子罗盘、温度及亮度传感器。这里主要说说DFRobot出品的GamePad拓展板。 2.1 GamePad 4 MicroBit by DFRobot板载资源包括:
相关资料可以在产品维库上找到,文档上提供了诸多示例,把玩了一下,非常有趣。然而由于产品并不是开源硬件,没有提供相关硬件引脚信息,只有封装好的MakeCode操作库,经过一番思索查找,在官方产品github页面找到引脚定义。 2.2 寻找 GamePad 引脚定义
至此,我们结合相关,可知对应引脚信息如下:
参考mb引脚定义: P0/P1/P2又叫TouchPin,就是那三个大的引脚,其中音乐通常从P0输出。 2.3 测试一下我们不借助DFRobot提供的MakeCode软件包,直接使用相关引脚看看: https://makecode.microbit.org/_Cxpdt5MEVE8f 【直接操作引脚模式】注意初始化引脚方向,否则会乱跑。TouchPi和BtnA/B好像会初始化执行这一操作。但是程序会跑飞,需要进一步测试完善。 【DFRobot软件包操作模式】简洁很多,而且程序稳定。 3、软件部分mb有诸多开发语言及开发环境可供选择,这里我们以MakeCode为例。 3.1 microbit Client —— MakeCodeMakeCode由微软开发,基于PXT (Programming eXperience Toolkit ),这种Visual Blocks开发最早在Scratch上看到,后来用过Webduino Blockly在线编辑器,彼时个人对它评价颇低。 这次拿到mb本来是奔着microPython去的,其间测试的时候用了一下MakeCode,甚是喜欢,支持自定义函数,提供丰富的文档和拓展支持,下限上限都非常高,既适合小孩子入门,面对更复杂的需求也能完成。 由于我们的设想是mb通过蓝牙控制手机,所以需要使用 这优点类似
3.1.1 加法在直接操作Pin的示例中,D-Pad多按几次程序就跑飞了,如图所示显示乱码,mb无响应。回过头来,看到 看了相关的1/2/3/4/5,表示还没看懂,这里按下不表,后面搞懂再来。 3.1.2 减法思路就是剥离 参考如下: 阅读MakeCode关于
第8行 添加我的软件包地址即可以同时使用GamePad与蓝牙功能了。 至此我们解决了开发环境的冲突问题。 3.2 Android Server —— micro:bit APP手机上需要安装一个服务软件,用来连接mb,并响应mb的指令。一种方式是使用可视化的MIT APP Invetor自己写程序,我们这里使用现成的 4、开始动手!目前实现的功能包括:
代码如下: https://makecode.microbit.org/_5aY3heCgtLud 这里我们借助 部分说明:
下载烧录此程式到mb后,在Android手机上你需要执行以下步骤:
5、后记
|
rzyzzxw 发表于 2018-6-5 23:32 你仔细看我的链接和内容就会了啊,全都有~ 修改这个文件 https://github.com/DFRobot/pxt-motor/blob/master/pxt.json 取消radio的依赖 自己做软件包的话,看我的链接,微软makecode提供了相关文档 |
pATAq 发表于 2018-6-12 16:10 Iphone手机模拟gamepad蓝牙控制小车 https://mc.dfrobot.com.cn/forum. ... &fromuid=727937 (出处: DF创客社区 - 分享创造的喜悦) 看这个帖子,和沈老师交流,运行很稳定,所以感觉这是一种更好的蓝牙方案。 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed