加速度センサーで水平器を作ろう

できること:micro:bitが傾くとアラーム音が鳴ります。

傾斜(けいしゃ)ピッチとロール

加速度センサーを使うと、モノがどのくらい傾いているかを調べることができます。


micro:bitでは、ツールボックス「入力」を選択したら現れる「その他」の中にある「傾斜(°)ピッチ」ブロックを使います。



ピッチブロックには、micro:bitを机の上に水平に置いた状態から、前後にたおしたときの角度が保存されます。



後ろに(手前に)たおすとプラスの値になり



前に(奥に)たおすとマイナスの値になります。



ピッチブロック内の「▽」を選ぶと、「ロール」を選べます。ロールブロックには、micro:bitを机の上に水平に置いた状態から、左右にたおしたときの角度が保存されます。



右に(ボタンBの方向に)たおすとプラスの値になり



左に(ボタンAの方向に)たおすとマイナスの値になります。


角度を調べてみよう


ホーム画面にアクセスし、「+新しいプロジェクト」をクリック、「level」と入力して「作成」ボタンを押してください。


次のプログラムをmicro:bitにダウンロードして、リアルタイムの「ロール」の角度を調べてみましょう。パソコンを使っている場合とiPadアプリを使っている場合で、プログラムを変えています。

パソコンの場合

シリアル通信を使って「ロール」の角度をみてみましょう。0.5秒ごとに「ロール」の角度を出力するプログラムです。

※「500ミリ秒ごとに」ブロックは、ツールボックス「ループ」にあります。詳しくはこちらのページを確認してください。

※「シリアル通信 1行書きだす」ブロックは、ツールボックス「高度なブロック」を選択したら表示される「シリアル通信」にあります。シリアル通信については、こちらのページを確認してください。

※iPadアプリではシリアル通信ブロックは利用できません。




micro:bitにプログラムをダウンロードすると、シミュレーター画面の下に「データを表示(デバイス)」というボタンが現れるので、クリックします。


左右に動かすと、数値が変化するはずです。

数値を確認したら、「戻る」ボタンをクリックして、プログラミング画面に戻りましょう。


iPadアプリの場合

micro:bitのLED画面を使って「ロール」の角度をみてみましょう。0.5秒ごとに「ロール」の角度を表示するプログラムです。

※「500ミリ秒ごとに」ブロックは、ツールボックス「ループ」にあります。詳しくはこちらのページを確認してください。

※「数を表示」ブロックは、ツールボックス「基本」にあります。



プログラムを作ろう

micro:bitが左右に5度以上傾いたら、アラーム音が鳴るプログラムを作ってみましょう。


「角度を調べてみよう」で作ったプログラムは捨てます。



ツールボックス「論理」の中にある「もし 真 なら」ブロックを「ずっと」ブロックの中に入れます。


 ポイント:条件判断

「条件判断」のブロックをはじめて使う人は、チュートリアル「MakeCodeエディター使いこなしテクニック:条件判断」を確認して、次に進んでください。



「論理」にある「…または…」ブロックを、「もし 真 なら」の「真」に入れます。



「論理」にある「0 < 0」ブロックを、「または」ブロックの左側の空白に入れます。



「0 < 0」の左側の「0」部分に、「傾斜(°)ピッチ」ブロックを入れ、「ピッチ」を「ロール」に変えてください。



「<」部分を選んで、「>」に変えてください。



「0」部分に「5」を入力してください。



同じように、「または」ブロックの右側の空白に左図と同じプログラムを作ってください。



「音楽」にある「鳴らす メロディ ダダダム バックグラウンドで一度だけ」ブロックを左図のように入れ、「メロディ ダダダム」を選んで「メロディ ピコーン!」に変えます。これでプログラムは完成です。


プログラム全体です。

ロール角度が5°より大きいとき(micro:bitが右にかたむいているとき)または、ロール角度が-5°より小さいとき(micro:bitが左にかたむいているとき)アラーム音がなるプログラムです。


micro:bitで動かしてみよう

micro:bitにプログラムをダウンロードしましょう。これで準備は万端です。

使い方

  1. micro:bitを水平に持ちます。
  2. 左右に傾いたらブザーがなることを確認しましょう。

micro:bitを持ったまま片足をあげるなど、バランスゲームに使えますね!角度の数値を変えて、ゲームの難易度を調整しましょう。