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

dfrobot 发表于 2019-11-18 15:11

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

本帖最后由 dfrobot 于 2019-11-18 15:40 编辑

micro:bit造物粒子(基于Mind+)10— 自平衡仪经过前面这么多个项目的学习,你是不是对micro:bit已经了如指掌了呢?来挑战一下吧。在这一章节的内容学习中,运用micro:bit主控板和传感器,制作出非常炫酷好玩的作品!
麦克的故事麦克发现,你本来把手机拿在手里时是竖着的,将它转90度,页面就跟随你的重心自动旋转,也就是说页面也转了90度,这是一项极具人性化的设计。这是怎么做到的呢?这节课的项目我们就是要来模拟这样的功能哦!所需元件
1×micro:bit主控板http://mc.dfrobot.com.cn/data/attachment/forum/201807/23/141603mlqqtyort8h4lho5.png
1×micro:bit扩展板http://mc.dfrobot.com.cn/data/attachment/forum/201807/23/141618fzffy6v577y5yfbf.png
1×舵机(伺服机构)http://mc.dfrobot.com.cn/data/attachment/forum/201807/23/141700l83zhvh8vg3hbb11.png1×MicroUSB 连接线
http://mc.dfrobot.com.cn/data/attachment/forum/201807/23/141711rjywjw1wc8nmjbai.png

实现功能通过编写程序,将程序烧录至板子后,可以让舵机(伺服机构)指针保持指向竖直上方,如果舵机上面支撑某个物体的话,那么物体始终保持竖直向上。什么是重力加速度?地球表面附近的物体因受重力产生的加速度叫做重力加速度,也叫自由落体加速度,用g表示。重力加速度可以做些什么呢?Micro:bit自带加速度计,能实时检测姿态,从而控制舵机指针一直指向正上方。Micro:bit可以检测X,Y,Z三个方向的重力加速度,其中X沿着左右方向,Y沿着前后方向,Z垂直于板,沿着上下方向。本项目中主要检测X轴上的重力加速度。
http://mc.dfrobot.com.cn/data/attachment/forum/201807/23/142014swmgw2p9jrzpr72r.png
当主板平放在桌面上时,micro:bit只受到竖直方向上的重力(Z轴),所以X,Y都接近于0。而当板子产生左右倾斜时,X的数值会发生变化。向左侧倾斜则X为负值,反之为正值。
所以我们可以通过获取micro:bit的倾斜角度,控制舵机旋转一个反向的角度,让舵机的指针一直朝上。
硬件连接
将舵机(伺服机构)与micro:bit的P0号接口相连接。http://mc.dfrobot.com.cn/data/attachment/forum/201807/23/142152o91vn2t2v8nvv2ok.png编写程序STEP1:获取X轴的加速度X,Y,Z轴的数值可以在功能模块“输入”下找到。http://mc.dfrobot.com.cn/data/attachment/forum/201807/23/142317w8v8l3ql8ddlz82a.png
加速度传感器的数值范围在-1023~1023之间变化,你可以通过显示模块来查询变化范围。
http://mc.dfrobot.com.cn/data/attachment/forum/201807/23/142528g17zwvvly090el0z.png
左右倾斜观察板子的反应
http://mc.dfrobot.com.cn/data/attachment/forum/201807/23/142628g3hh0tkd3gtexp8k.png   http://mc.dfrobot.com.cn/data/attachment/forum/201807/23/142640qhip2mdq7i6dfp6z.png

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

http://mc.dfrobot.com.cn/data/attachment/forum/201807/23/142932tsvbt6ns6xn9ftyf.pngSTEP2:伺服舵机执行,在“扩展”中找到“执行器”模块,并且选中“舵机模块”:
http://mc.dfrobot.com.cn/data/attachment/forum/201807/23/143042mqkc5scl5a0lk50p.png放入“循环执行”中,与“映射模块”嵌套如下:
http://mc.dfrobot.com.cn/data/attachment/forum/201807/23/143118vchsjeooy02oq2b7.png
STEP3:结构制作用双面胶将舵机(伺服机构)和扩展板固定起来,使两者保持相对静止。
http://mc.dfrobot.com.cn/data/attachment/forum/201807/23/143747hn200gvj0nsykuhv.png
实验效果          http://mc.dfrobot.com.cn/data/attachment/forum/201807/23/151113gpna4xzi2ze2p4xx.png
能力提升尝试使用micro:bit自带的电子罗盘功能制作一个指南针。
http://mc.dfrobot.com.cn/data/attachment/forum/201807/23/151140f9w3w3xctxujmttw.png更多课程,欢迎点击以下链接

[*]入门课程

[*]micro:bit造物粒子(基于Mind+)— 入门篇
[*]micro:bit造物粒子(基于Mind+)02— 自制表情包
[*]micro:bit造物粒子(基于Mind+)03— 闪烁的LED
[*]micro:bit造物粒子(基于Mind+)04— 手控信号灯
[*]micro:bit造物粒子(基于Mind+)05— 变速风扇
[*]micro:bit造物粒子(基于Mind+)06— 电子蜡烛
[*]micro:bit造物粒子(基于Mind+)07— 自动门
[*]micro:bit造物粒子(基于Mind+)08— 音乐盒
[*]micro:bit造物粒子(基于Mind+)09— 炫彩灯带
进阶课程
[*]micro:bit造物粒子(基于Mind+)10— 自平衡仪
[*]micro:bit造物粒子(基于Mind+)11— DJ演奏台
[*]micro:bit造物粒子(基于Mind+)12— 可移动门铃
[*]micro:bit造物粒子(基于Mind+)13— 拆弹游戏
▲mind+官网:http://www.mindplus.ccMind+最早是由DFRobot公司于2013年推出的图形化编程软件,能够让不懂编程的艺术家们通过几分钟的学习即可控制Arduino开源硬件,从而拓宽一些新的思维方式
页: [1]
查看完整版本: micro:bit造物粒子(基于Mind+)10— 自平衡仪