Skip to content

アクティビティ

水準器

中級 | MakeCode, Python | LED表示, 加速度センサー, | センサー, ブール論理, 抽出, 関係演算子

ステップ1: 作る

説明

絵画が水平に掛かっているか、棚や作業台が水平であるかを確認するツールを作りましょう。 新しい micro:bit に内蔵のスピーカーを使えば、音で知らせられるように水準器を簡単に機能向上できます。

はじめに

プログラミングガイド

学ぶこと

  • 加速度センサーで角度を測る方法
  • 「ピッチ」と「ロール」とは
  • 2次元で測定したセンサー値を組み合わせて、水平であるかを確認する方法。

動作の仕組み

micro:bit 上のピッチとロールを示した図
  • 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: 改善する

  • 角度に応じて音程を変えられますか?
  • 本当の水準器のように、画面上で「泡」を動かすようにできますか?