ステップ1: 作る
説明
絵画が水平に掛かっているか、棚や作業台が水平であるかを確認するツールを作りましょう。 新しい micro:bit に内蔵のスピーカーを使えば、音で知らせられるように水準器を簡単に機能向上できます。
はじめに
プログラミングガイド
学ぶこと
- 加速度センサーで角度を測る方法
 - 「ピッチ」と「ロール」とは
 - 2次元で測定したセンサー値を組み合わせて、水平であるかを確認する方法。
 
動作の仕組み

- micro:bit の加速度センサーは、上下方向(ピッチ)と左右方向(ロール)の2方向の傾きの角度を測定できます。 このプロジェクトでは、これを利用して micro:bit が水平になったときに、LED ディスプレイに表示したり、音を鳴らしたりして、絵を掛けるときや、作業台を作ったりするときに役立つようにします。
 - ループは micro:bit の角度をずっと測定し続けます。
 - 加速度センサーで測定した角度がピッチとロールの両方で -5 と 5 の間であれば、micro:bit は水平状態にあると判断します。 この場合、LED ディスプレイに「チェック」を表示して音を鳴らします
 - 音を聞くにはヘッドフォンやスピーカーを端子 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: 改善する
- 角度に応じて音程を変えられますか?
 - 本当の水準器のように、画面上で「泡」を動かすようにできますか?
 
This content is published under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) licence.


