大数跨境
0
0

科普系列4期 | 全能的microbitV2

科普系列4期 | 全能的microbitV2 KittenBot小喵
2021-02-20
0
导读:Micro:bit虽小巧但'五脏俱全',本次我们依然用Micro:bitV2单板来制作一个有趣的项目。


Micro:bit虽小巧但'五脏俱全',点阵显示便于基本视觉需求、运动传感器作用于体感、蜂鸣器可编出悦耳曲调,而再加上触摸传感器便已涵盖了视 听 声 触这4大感官方面,外加配合独具特色的指南针,亦有足够的能力满足你的奇思妙想~


本次我们依然用Micro:bitV2单板来制作一个有趣的项目。


01

准备工作

01

Makecode编程平台

https://makecode.microbit.org/


02

Micro:bit V2



03

USB数据线


02

想法收集

因为指南针的检测条件是尽可能水平,而小朋友或许不太了解这点,经常会竖着看,横着看导致结果不尽乎人意,于是便考虑结合姿态和声音提醒来强制告知小朋友正确的查看方式。


STEP 1

实现指南针,用点阵屏箭头显示方位

STEP 2

加入姿态检测和蜂鸣器报警提醒机制

STEP 3

完成程序                                    


03

任务实现

STEP 1

用microbit点阵屏箭头显示方位 


检测指南针朝向需要使用的积木是

当水平放置microbit,其头部所指向的方向为当前方位。根据360度的方位,将其划分为8个区间,分别用箭头表示,而箭头将永远指向地理北极

(所谓的指南针实际上指向的是地球磁场南极——地理北极)


在初次下载程序使用前需要校准,我们简单搭建如下程序 (放在自定义函数中,多功能复杂程序下直观且方便调用)


STEP 2

加入姿态检测机制

在开始实现姿态检测前,有必要讲解一下所涉及的加速度计相关知识,方便理解使用。

由于在地球上物体普遍存在重力加速度,所以会存在当你拿着microbit保持静止的时候任然有非0数值返回。按理来说当microbit点阵朝上平躺于水平桌面上,(x, y, z)三轴的加速度情况为(0, 0, 9.8m/s²≈1023返回值)


我们尝试着把这个传感器具象化为一个小盒子,而在其内部模拟一个圆球,这个圆球在相对静止状态下永远会受到一个来自于地球向下的重力加速度。


传感器之所以能够检测到这个数值是来源于立方体盒子的6个面的受力情况,他们分别代表这x、y、z这3轴的正反2个方向,当小球以一定加速度挤压面则产生了力,而力则转化成电(这个例子并不适用于最准确的工作原理,但能帮助理解),根据受力分析方法,结合xyz三轴的返回值,就可得出当前microbit的倾斜情况了。

在编程分栏中,已经做了很方便的集成,直接用就可以了,这两种积木块实际都实现同一种功能,只是在选择上有所区别。



时间触发类型


点评:不需要进行判断语句,方便好用。但缺点是仅在状态切换时触发一次,保持则不会反复触发









布尔值返回类型


如果板子晃动返回值为真(true),否则为假(false)条件不成立。

点评:可以穿插在程序的各个流程中,在需要的地方进行检测,更自由。

增加这段程序,当microbit不是水平朝上,则蜂鸣器滴滴响,达到检测警报效果











STEP 3

完成程序

由于我们前两步的功能都包在了自定义函数内,所以在用的时候只需要调用即可,很简单吧~


05

效果展示


当然如果你有更好玩更有趣的创意,也可以自己动手diy一下,毕竟创意没有正确答案!最后祝大家牛年大吉,万事如意!have fun!



喵家官方店铺

淘宝:KittenBot小喵科技

官网:kittenbot.cn



【声明】内容源于网络
0
0
KittenBot小喵
专注于从入门到精通的移动机器人开源学习平台
内容 560
粉丝 0
KittenBot小喵 专注于从入门到精通的移动机器人开源学习平台
总阅读23
粉丝0
内容560