步驟1:製作
它是什麼?
製作一個工具來確保照片、架子、或者是工作平面是水平的。 新的 micro:bit 的內建揚聲器可藉由音訊回饋來輕鬆改善您的水平。
介紹
編程指引
您將學到什麼
- 如何使用加速感測器來測量角度
- 什麼是「縱向(pitch)」和「橫向(roll)」
- 如何結合感測器在兩個方向上的讀數來找到一個水平表面。
運作方式
- micro:bit 的加速計可以測量兩個方向上的傾斜角度:上下(縱向)以及左右(橫向)。 本項目以此來顯示 micro:bit 何時處於水平狀態,當保持水平時將會在 LED 螢幕上提示並發出聲音,這在懸掛照片或者是製作工作平面時會非常有用。
- 程式藉由迴圈來不斷地測量 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.