Kittenbot 小喵科技——专注人工智能编程教育

快捷导航
查看: 3391|回复: 1

[Robotbit] 用Robot:bit做一个体感控制小车

[复制链接]

9

主题

14

帖子

123

积分

热心会员

Rank: 2

积分
123
发表于 2017-12-18 13:36:20 | 显示全部楼层 |阅读模式
本帖最后由 sharpcat 于 2017-12-27 23:50 编辑

昨天写了一个蓝牙控制的小车,http://kittenbot.cn/bbs/forum.ph ... =157&extra=page%3D1,今天继续哈。

Microbit板上集成了加速度传感器,可以检测XYZ 3轴的重力值,再加上Robot:bit扩展了强大的电机驱动能力,同时,可以利用Microbit的2.4G收发功能,我们就可以设计出一辆麻溜的体感控制小车了。

话不多说,进入今天的主题,当然,前提是你必须有2块Microbit板子,一块做小车控制,一块当做体感遥控器,另外,你还需有一块Robot:bit,购买传输门:https://item.taobao.com/item.htm ... Zf3&id=559862615142

首先,我们来一块Microbit来做遥控器,在make code下找到input模块,选择加速度积木。

QQ20171218-130331@2x.png

这里我们来分析下加速度X,Y,Z的含义,X是Microbit左右方向受到的地球引力值,Y是Microbit前后方向的值,Z是上下的值,范围从-1023到1023,见下图:

QQ20171218-131035@2x.png

如果将Microbit水平放置后,X和Y的值为零,Z为-1023,此处你们自己多理解下。

体感遥控器的思路是,利用Y的变化,即板子前后倾倒的角度,来控制Robit:bot的速度快慢,同时按住AB键,车子前后运动,单独按住A键或者B键控制左转和右转。这些控制指令和数据通过2.4G发送,下面是PXT的积木块。

QQ20171218-131729@2x.png

接下来设计控制小车的Microbit,首先将你的两个直流电机接上Robot:bit的电机驱动口,不知道接电机的话,可以先参考入门帖:http://kittenbot.cn/bbs/forum.ph ... =129&extra=page%3D2

无线接收部分如下,其实就是将遥控器发出的数据名称和值接收回来,分配给变量speed, A,和B.

QQ20171218-132238@2x.png

然后按照speed, A和B的状态对应控制小车的运动形态。记得先在make code里添加Robot:bit的扩展包:https://github.com/KittenBot/pxt-robotbit

QQ20171218-132704@2x.png

怎么样,是不是很简单!我这个体感控制遥控器只用到了Y的变化,你们也可以利用X的变化,即Microbit左倾右倾,来实现小车的拐弯。

不过我试过这种控制方式,由于-1023到1023的变化比较大,而小车电机电压的设置范围是-255到255,最好将数据XYZ的值重新MAP到-255~255,不然控制起来太灵敏,不够线性。


回复

使用道具 举报

12

主题

54

帖子

395

积分

版主

Rank: 7Rank: 7Rank: 7

积分
395
发表于 2017-12-18 18:38:29 | 显示全部楼层
好教程,学习了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

全力为Stem教育行业提供新技术、新方案和新产品。

 

地址:广东省深圳市华丰互联网+创意园 419~420

© 2019 Kittenbot Inc. 深圳市小喵科技有限公司 ( 粤ICP备16110073号 )

GMT+8, 2020-7-13 21:39 , Processed in 0.029307 second(s), 37 queries , Gzip On.
Powered by Discuz! X3.2

快速回复 返回顶部 返回列表