第 1 步:制作
它是什么?
制作一个工具,用来确保照片、架子、或者是工作平面是水平的。 新版micro:bit的内置麦克风通过声音提示让你轻松保持水平。
介绍
编程指南
学习目标
- 如何使用加速传感器测量角度
- 什么是“纵向”和“横向”
- 如何结合传感器两个方向的读数来找到一个水平的位置。
工作原理
- micro:bit的加速计可以测量两个方向上的倾斜:上下(纵向)以及左右(横向)。 本项目以此来显示micro:bit何时处于水平状态,当水平时将在LED显示屏上提示并发出声音,这在悬挂照片或者是制作工作平面时非常有用。
- 程序使用loop循环不断测量micro:bit的角度。
- 如果加速计检测到micro:bit的倾斜角度在+5和-5度之间,包括纵向和横向,那么我们就可以认为它处于水平位置。 程序将在LED显示屏上输出一个对勾,并且播放提示音。
- 将耳机连接到micro:bit的引脚0和GND来听取声音,如果你有新版的micro:bit,其内置的扬声器可以让你直接听到声音。
- 如果纵向或者横向的倾斜度超过了+5或者是-5度的范围,那么程序将在LED显示屏上输出一个大叉,并且停止播放提示音。
所需材料
- 一个micro:bit
- MakeCode或者Python编辑器
- 电池盒(选配)
第 2 步:编程
1from microbit import *
2import music
3
4# Uses accelerometer readings in the x and y axis
5# and also allows the micro:bit to be slightly off-level
6# to make it work better in practice
7while True:
8 if accelerometer.get_x() > -10 and accelerometer.get_x() < 10 and accelerometer.get_y() > -10 and accelerometer.get_y() < 10:
9 display.show(Image.YES)
10 music.play('C5:1')
11 sleep(200)
12 else:
13 display.show(Image.NO)
14
第 3 步:完善
- 你能根据角度来改变音乐音调吗?
- 你能编程制作在LED显示屏上移动的“泡泡”吗?就像真正的水平仪那样。
This content is published under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) licence.