2018-7-23 15:11:59 [显示全部楼层]
18314浏览
查看: 18314|回复: 10

[micro:bit基础教程] micro:bit造物粒子(基于Mind+)10— 自平衡仪

[复制链接]
经过前面这么多个项目的学习,你是不是对micro:bit已经了如指掌了呢?来挑战一下吧。
在这一章节的内容学习中,运用micro:bit主控板和传感器,制作出非常炫酷好玩的作品!

麦克的故事
麦克发现,你本来把手机拿在手里时是竖着的,将它转90度,页面就跟随你的重心自动旋转,也就是说页面也转了90度,这是一项极具人性化的设计。这是怎么做到的呢?
这节课的项目我们就是要来模拟这样的功能哦!
所需元件
1×micro:bit主控板
micro:bit造物粒子(基于Mind+)10— 自平衡仪图1

1×micro:bit扩展板
micro:bit造物粒子(基于Mind+)10— 自平衡仪图2

1×  舵机(伺服机构)
micro:bit造物粒子(基于Mind+)10— 自平衡仪图3
1×  MicroUSB 连接线

micro:bit造物粒子(基于Mind+)10— 自平衡仪图4

实现功能
通过编写程序,将程序烧录至板子后,可以让舵机(伺服机构)指针保持指向竖直上方,如果舵机上面支撑某个物体的话,那么物体始终保持竖直向上。
什么是重力加速度?
地球表面附近的物体因受重力产生的加速度叫做重力加速度,也叫自由落体加速度,用g表示。
重力加速度可以做些什么呢?
Micro:bit自带加速度计,能实时检测姿态,从而控制舵机指针一直指向正上方。
Micro:bit可以检测X,Y,Z三个方向的重力加速度,其中X沿着左右方向,Y沿着前后方向,Z垂直于板,沿着上下方向。本项目中主要检测X轴上的重力加速度。

micro:bit造物粒子(基于Mind+)10— 自平衡仪图5

当主板平放在桌面上时,micro:bit只受到竖直方向上的重力(Z轴),所以X,Y都接近于0。
而当板子产生左右倾斜时,X的数值会发生变化。向左侧倾斜则X为负值,反之为正值。

所以我们可以通过获取micro:bit的倾斜角度,控制舵机旋转一个反向的角度,让舵机的指针一直朝上。

硬件连接
将舵机(伺服机构)与micro:bit的P0号接口相连接。
micro:bit造物粒子(基于Mind+)10— 自平衡仪图6
编写程序
STEP1:获取X轴的加速度
X,Y,Z轴的数值可以在功能模块“输入”下找到。
micro:bit造物粒子(基于Mind+)10— 自平衡仪图7

加速度传感器的数值范围在-1023~1023之间变化,你可以通过显示模块来查询变化范围。

micro:bit造物粒子(基于Mind+)10— 自平衡仪图8

左右倾斜观察板子的反应

micro:bit造物粒子(基于Mind+)10— 自平衡仪图9   micro:bit造物粒子(基于Mind+)10— 自平衡仪图10


STEP2:数据处理
当micro:bit板子向左倾斜时,加速度传感器的X方向会产生一个负向的输出值,舵机(伺服机构)需要向右转动来抵消这个角度。
需要用到映射模块,将加速度X轴的值(-1023~1023),映射到舵机(伺服机构)的转动角度(0~180)。映射之后,当micro:bit板子平放在桌面(桌面是水平的)时,舵机(伺服机构)角度为90度。
  
0
  
90
180
-1023
0
1023

micro:bit造物粒子(基于Mind+)10— 自平衡仪图11
STEP2:伺服舵机执行,在“扩展”中找到“执行器”模块,并且选中“舵机模块”:

micro:bit造物粒子(基于Mind+)10— 自平衡仪图12
放入“循环执行”中,与“映射模块”嵌套如下:

micro:bit造物粒子(基于Mind+)10— 自平衡仪图13

STEP3:结构制作
用双面胶将舵机(伺服机构)和扩展板固定起来,使两者保持相对静止。

micro:bit造物粒子(基于Mind+)10— 自平衡仪图14

实验效果
          micro:bit造物粒子(基于Mind+)10— 自平衡仪图15

能力提升
尝试使用micro:bit自带的电子罗盘功能制作一个指南针。

micro:bit造物粒子(基于Mind+)10— 自平衡仪图16

rzyzzxw  版主

发表于 2018-7-23 15:22:20

很棒的思路。
回复

使用道具 举报

平淡中的幸福  中级技师

发表于 2018-7-23 18:13:02

必须 先手动校准 是microbit的硬伤
回复

使用道具 举报

znzhou  初级技师

发表于 2018-7-23 20:40:43

平淡中的幸福 发表于 2018-7-23 18:13
必须 先手动校准 是microbit的硬伤

我记得关于指南针的程序只有下载后第一次运行才需要校准吧
回复

使用道具 举报

EVE  高级技匠
 楼主|

发表于 2018-7-23 23:21:15

平淡中的幸福 发表于 2018-7-23 18:13
必须 先手动校准 是microbit的硬伤

这算是一种保险措施吧~其实校准还算简便
回复

使用道具 举报

微笑的rockets  NPC

发表于 2018-7-25 17:11:36

这个好玩,可以直观的显示重力加速度的方向。可以试着增加到三个舵机,看看是不是可以做一个平衡?
回复

使用道具 举报

EVE  高级技匠
 楼主|

发表于 2018-7-31 11:10:54

微笑的rockets 发表于 2018-7-25 17:11
这个好玩,可以直观的显示重力加速度的方向。可以试着增加到三个舵机,看看是不是可以做一个平衡? ...

可以有,一个手持云台就出来了
回复

使用道具 举报

gada888  版主

发表于 2018-9-1 16:13:27

看看三轴怎么工作的
回复

使用道具 举报

DFHk7CtbyuS  学徒 来自手机

发表于 2019-9-30 14:02:56

Vico 发表于 2018-7-23 15:11
经过前面这么多个项目的学习,你是不是对micro:bit已经了如指掌了呢?来挑战一下吧。在这一章节的内容学习 ...

你好,我想要一份,这个的程序,想了解一份自由平衡的实现原理,求助
回复

使用道具 举报

DFHk7CtbyuS  学徒 来自手机

发表于 2019-9-30 14:03:15

Vico 发表于 2018-7-23 15:11
经过前面这么多个项目的学习,你是不是对micro:bit已经了如指掌了呢?来挑战一下吧。在这一章节的内容学习 ...

你好,我想要一份,这个的程序,想了解一份自由平衡的实现原理,求助
回复

使用道具 举报

bthEXj96YXra  学徒

发表于 2021-7-2 15:11:56

这个程序有问题,没有对旋转的角度做补偿,应该是相反的角度,用180减去映射到的值再设置给舵机。
回复

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail