micro:bit造物粒子(基于Mind+)10— 自平衡仪-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2119|回复: 0

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

[复制链接]
发表于 2019-11-18 15:11 | 显示全部楼层 |阅读模式
本帖最后由 dfrobot 于 2019-11-18 15:40 编辑

micro:bit造物粒子(基于Mind+)10— 自平衡仪
经过前面这么多个项目的学习,你是不是对micro:bit已经了如指掌了呢?来挑战一下吧。
在这一章节的内容学习中,运用micro:bit主控板和传感器,制作出非常炫酷好玩的作品!

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

1×micro:bit扩展板

1×  舵机(伺服机构)
1×  MicroUSB 连接线



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


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

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

硬件连接
将舵机(伺服机构)与micro:bit的P0号接口相连接。
编写程序
STEP1:获取X轴的加速度
X,Y,Z轴的数值可以在功能模块“输入”下找到。

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


左右倾斜观察板子的反应

     


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

STEP2:伺服舵机执行,在“扩展”中找到“执行器”模块,并且选中“舵机模块”:

放入“循环执行”中,与“映射模块”嵌套如下:


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


实验效果
         

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

微信图片_20191118115539.png
▲mind+官网:http://www.mindplus.cc
Mind+最早是由DFRobot公司于2013年推出的图形化编程软件,能够让不懂编程的艺术家们通过几分钟的学习即可控制Arduino开源硬件,从而拓宽一些新的思维方式

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

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-27 14:31 , Processed in 0.076269 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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