【マイクロビット】加速度センサーを使った簡単なプログラムを作ってみよう

マイクロビット(micro:bit)には
動きを感知することができる
加速度センサーという機能がついています。

加速度なんて難しそう…と思うかもしれませんが、
スマートフォンやゲーム機のコントローラーなどにも使われていて
実はとても身近なモノです。

今回は加速度センサーの機能と、
加速度センサーを利用した簡単なプログラムを紹介します。

 

加速度センサーとは

加速度センサーとコンパス

マイクロビットの裏面、
「ACCELEROMETER」と書いてある横にある
ゴマ粒くらい小さな機械。

これが加速度センサーです。

加速度センサーは、マイクロビットの傾きや揺れなどの
動きを感知することができます

身の回りで使われている例

スイッチのコントローラー

  • スマートフォン
    縦にしたり横にしたりしたとき
    画面の向きが自動で切り替わる機能など
  • ニンテンドースイッチなどゲーム機のコントローラー
  • 歩数計
  • デジタルカメラ
    手ブレ補正機能

加速度センサーのしくみについて
Nintendoさんのサイトで分かりやすく解説されていたので
リンクを貼っておきます。

スポンサーリンク

今回作ったプログラム

眠った人を起こすプログラム

今回は眠った人を揺さぶって起こすプログラムです。

最初は「うれしい顔」が表示されていますが
時間がたつと「ねてる顔」になります。

マイクロビットを振ると「ビックリ顔」になって
「うれしい顔」に戻ります。

また時間がたつと「ねてる顔」になります。

 

MakeCodeエディターでプログラミング

MakeCodeエディターの画面を開いて
実際にプログラミングしてみましょう。

MakeCodeエディターの基本的な使い方は
こちらの記事をご覧ください。

プログラム

プログラムの内容は下の画像のようになります。

加速度センサーを使ったプログラム

最初だけ

最初に「うれしい顔」が表示して、
10秒(=10,000ミリ秒)後に「ねてる顔」を表示します。

「アイコンを表示」「一時停止(ミリ秒)」ブロックは
基本のカテゴリにあります。

ミリ秒は1,000分の1秒(1秒=1,000ミリ秒)です。

ゆさぶられたとき

マイクロビットを振ったとき「ビックリ顔」を表示して
0.5秒(=500ミリ秒)後に「うれしい顔」を表示します。
その10秒(=10,000ミリ秒)後に「ねてる顔」を表示します。

「ゆさぶられたとき」ブロックは、入力のカテゴリにあります。

ゆさぶられたときブロックの場所

 

ゆさぶられたときブロックはイベントブロックです。

イベントブロックとは、
メイン(最初だけ、ずっと)のプログラムの外にあって、
あることをきっかけ(トリガーといいます)に
イベントブロックの中にあるプログラムが実行されます。

今回のプログラムでは、
「マイクロビットを振ること」がトリガーになります。

ゆさぶられたとき以外のジェスチャーを紹介

「ゆさぶられたとき」ブロックの
「ゆさぶられた」の部分をクリックすると
ゆさぶられた以外のジェスチャーを選ぶことができます。

 

ゆさぶられた以外のジェスチャー

 

・ゆさぶられた
 マイクロビットを振ったとき、トリガーされます。

・ロゴが上になった
 マイクロビットの表面にあるロゴが
 上になったとき、トリガーされます。

・ロゴが下になった
 マイクロビットの表面にあるロゴが
 下になったとき、トリガーされます。

・画面が上になった
 マイクロビットの表面にあるLEDが
 上向きになったとき、トリガーされます。

・画面が下になった
 マイクロビットの表面にあるLEDが
 下向きになったとき、トリガーされます。

・右に傾けた
 マイクロビットが右に傾いたとき、トリガーされます。

・左に傾けた
 マイクロビットが左に傾いたとき、トリガーされます。

・落とした
 自由落下(落ちている)状態になったとき、トリガーされます。

・3G、6G、8G
 特定の方向に重力の3倍、6倍、8倍の
 加速度がかかったときにトリガーされます。
 数字が大きくなるほど早い動きです。

 

シミュレーターで確認

シミュレーターで確認

プログラムが完成したら
シミュレーターで思った通りに動くかテストしましょう。

最初は「うれしい顔」が表示されていて、
時間がたつと「ねてる顔」になりましたか?

右上に「〇SHAKE」というコントローラーが
出ているので〇の部分をクリックしてみてください。

「ビックリ顔」になった後、
「うれしい顔」になったでしょうか?

実機でテストしてみよう

シミュレーターで確認できたら
マイクロビットに転送して実際に動かしてみましょう。

 

マイクロビットを装飾しよう(工作)

マイクロビットを装飾

マイクロビットを装飾してみましょう。

今回は女の子の顔になるケースを作ってみました。

 

まとめ

加速度センサーの機能と、
加速度センサーを利用した簡単なプログラムを紹介しました。

イベントブロックを追加して
ジェスチャーによって動きが変わる
プログラムを作ってみても面白いと思いますよ。

 

 

タイトルとURLをコピーしました