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

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

创作许可协议

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

相关推荐