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

2018-07-232.6万
AI 快速预览详细 收起
本项目介绍了如何使用micro:bit主控板和传感器制作一个自平衡仪。所需元件包括micro:bit主控板、扩展板、舵机和MicroUSB连接线。通过加速度计检测X轴上的重力加速度,利用映射模块将加速度值转换为舵机的角度,使指针始终保持竖直向上。项目难度适中,适合青少年科创比赛和编程启蒙。
经过前面这么多个项目的学习,你是不是对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

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(7)
bthEXj96YXra
这个程序有问题,没有对旋转的角度做补偿,应该是相反的角度,用180减去映射到的值再设置给舵机。
DFHk7CtbyuS
你好,我想要一份,这个的程序,想了解一份自由平衡的实现原理,求助
DFHk7CtbyuS
你好,我想要一份,这个的程序,想了解一份自由平衡的实现原理,求助
gada888
看看三轴怎么工作的
微笑的rockets
这个好玩,可以直观的显示重力加速度的方向。可以试着增加到三个舵机,看看是不是可以做一个平衡?
EVE
EVE
作者
回复微笑的rockets
可以有,一个手持云台就出来了
平淡中的幸福
必须 先手动校准 是microbit的硬伤
EVE
EVE
作者
回复平淡中的幸福
这算是一种保险措施吧~其实校准还算简便
znzhou
我记得关于指南针的程序只有下载后第一次运行才需要校准吧
rzyzzxw
很棒的思路。
- 没有更多了 -