加速度センサーで水平器を作ろう
できること: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度以上傾いたら、アラーム音が鳴るプログラムを作ってみましょう。
「角度を調べてみよう」で作ったプログラムは捨てます。
ツールボックス「論理」の中にある「もし 真 なら」ブロックを「ずっと」ブロックの中に入れます。
「論理」にある「…または…」ブロックを、「もし 真 なら」の「真」に入れます。
「論理」にある「0 < 0」ブロックを、「または」ブロックの左側の空白に入れます。
「0 < 0」の左側の「0」部分に、「傾斜(°)ピッチ」ブロックを入れ、「ピッチ」を「ロール」に変えてください。
「<」部分を選んで、「>」に変えてください。
「0」部分に「5」を入力してください。
同じように、「または」ブロックの右側の空白に左図と同じプログラムを作ってください。
「音楽」にある「鳴らす メロディ ダダダム バックグラウンドで一度だけ」ブロックを左図のように入れ、「メロディ ダダダム」を選んで「メロディ ピコーン!」に変えます。これでプログラムは完成です。
プログラム全体です。
ロール角度が5°より大きいとき(micro:bitが右にかたむいているとき)または、ロール角度が-5°より小さいとき(micro:bitが左にかたむいているとき)アラーム音がなるプログラムです。
micro:bitで動かしてみよう
micro:bitにプログラムをダウンロードしましょう。これで準備は万端です。
使い方
- micro:bitを水平に持ちます。
- 左右に傾いたらブザーがなることを確認しましょう。
micro:bitを持ったまま片足をあげるなど、バランスゲームに使えますね!角度の数値を変えて、ゲームの難易度を調整しましょう。