見出し画像

microbitを使って物理コントローラをつくろう!(micro:bit More)

今回の記事では、拡張機能のなかでもmicrobitの様々な機能と連携できる「micro:bit More」を使ってみます。

micro:bit Moreは、Scratchに付属するmicro:bit拡張よりも高機能で、micro:bitに備わっているセンサーや出力の機能をほぼすべて利用できます。この拡張機能は、@yengawa_labさまが作成された機能を利用させて頂いております。
@yengawa_labさまの開発する拡張機能についての詳細は、下記を御覧ください。
https://lab.yengawa.com/project/microbit-more-v2/

2022.08.09
microbit-more-v2-0.2.4にアップデートしました。

こちらも大変魅力的な拡張機能を利用させていただき、ユカイ工学一同、まことに感謝しております。

今回は、こちらの拡張機能をつかって生きものロボットを操作する物理コントローラを作成してみましょう。

この記事ではこんなことができます。

物理コントローラ_動き

これまでの記事と比べ手順が多いですが、順番に説明しますのでご安心ください。

iOS/Androidは、この記事に対応しておりません。
microbitと連携するために、PC版のScratch linkという別アプリケーションが必要となります。

用意するもの

・動かしたい生きものロボット(ココロキット内蔵)
・ScratchおよびScratch linkが実行可能なwindows/mac PC
microbit本体
・microbit物理コントローラキット:joystick:bit

画像4

microbitとは?

イギリスのBBCが主体となって作った教育向けのマイコンボードです。英国では11歳〜12歳の子供全員に無償で配布されており、授業の中で活用が進んでいます。※引用元

お手頃な価格でセンサがたくさん内蔵されたマイコンボードです。ココロキットと並んで、はじめてのプログラミングや電子工作におすすめのボードですのでぜひチェックしてみてください。Scratchからもmicrobitのプログラミングを体験することができます。

Scratch linkをPCにインストールする

microbitとお使いのPC上のScratchを連携させるために、Scratch linkという外部アプリケーションをインストールします。Scratch linkを使うとココロキット以外の様々なBluetoothを利用したロボットキットとScratchを接続することができます。
インストールの詳細手順は、こちらのリンク先を参照してください。

注意
最新のScratch linkをご利用ください。

Scratch linkを起動します

Scratch linkをインストールすることができたら、アプリケーションを起動します。さらに、ツールバーを確認して起動していることを確かめてください。下記は、window/macそれぞれの起動確認の様子です。

画像2
画像3

※画像参照元

microbitに必要なファイルを書き込みます

Scratch linkと接続するためのマイクロコントローラのプログラムを書き込みます。手順は簡単です。

まず、下記の microbit-mbit-more-v2-0_2_0.hexというファイルをPCにダウンロードしてください。(このファイルはこちらのリンク先からも取得できます。)

つぎに、microbitとPCをmicroUSBケーブルを使って接続します。

microbitと接続

ケーブルを接続すると、PCはUSBメモリのようにmicrobitを認識します。そこに、さきほどダウンロードしたファイルをドラッグ&ドロップすると準備は完了です。

スクリーンショット 2020-05-27 17.13.36

拡張機能をロードします

つぎにココロキットmicro:bit Moreの拡張機能を利用するために、kurikitのScratchをGoogle Chromeで開きます。

[注意]
ココロキットやmicro:bit Moreと接続するためにはカスタマイズされたkurikitのScratchを開いてください。本家のScratch(公式サーバ)を間違って利用しないよう注意ください。

左下の拡張機能を追加ボタンから、「ココロキット」と「micro:bit More」をロードします。micro:bit Moreをロードするといつも見ない画面になりますが、こちらは接続のための画面です。

スクリーンショット 2020-04-14 16.33.35
スクリーンショット 2020-04-14 16.36.43

microbitと接続する

上の手順でScratch linkが正しく起動して、ファイルが書き込まれたmicrobitに電源が入っていると、下のようにデバイスが表示されます。接続ボタンをクリックするとBluetoothで無線接続します。

画像9
スクリーンショット 2020-04-14 16.40.20

接続が完了すると上のような画面になるので、エディターへ行くボタンをクリックします。この接続の画面は、micro:bit Moreのブロックの右上のボタンをクリックすると、開くことができます。

スクリーンショット 2020-04-14 16.40.27

microbitにHelloWorldを表示しよう

さあ、プログラムを作るための準備が整いました。microbitのディスプレイにHelloworldを表示してみましょう。

画像12

microbit本体のボタン入力を取得するプログラムを作ろう

つぎに、microbit本体に取り付けられているボタンの入力をScratchから取得するプログラムを作りましょう。プログラムはこちらになります。

スクリーンショット 2020-04-14 16.56.07
ボタン

はい、簡単ですね!

microbitのコントローラ拡張キットを使ってみよう

今回は、生きものロボットを動かす物理コントローラということでジョイスティックを利用したいので、joystick:bitというmicrobitの拡張キットを利用します。
microbitをソケットに差し込み、電池を入れて電源をオンにします。(LEDが点灯します)続いて、上で説明した手順でScratchと接続しましょう。

コントローラ拡張ボード

ジョイスティックの値を調べよう

つぎにジョイスティックの値の調べ方を説明します。今回用いるjoystick:bitという拡張キットのそれぞれのスティックの位置は、ピン0と1のアナログレベルを調べることで取得できます。
アナログレベルについては、この記事では詳しく解説しませんが、スティックの位置が、0〜1024の値で出力されるようなものと考えておいてください。

・x軸の位置→ピン0のアナログレベル
・y軸の位置→ピン1のアナログレベル

ためしに、x軸の位置を表示するプログラムを作ってみましょう。プログラムはこちらです。スティックの位置に応じて値が変化することが確認できます。

スクリーンショット 2020-04-14 17.24.36
コントローラジョイスティック

物理コントローラのプログラムを作成しよう

ここまででスティックの値を取得する方法を説明しました。次に、その値に応じてロボットを動かしましょう。シンプルにするために、下記のアルゴリズムでロボットを動かします。

・もし、y軸が700以上→前進
・でない+もし、y軸が300以下→後退
・でない+もし、x軸が700以上→右旋回
・でない+もし、x軸が300以下→左旋回
・それ以外→停止

プログラムはこちらになります。

スクリーンショット 2020-04-14 17.36.17

動かしてみよう

ココロキットと接続してプログラムを実行します。

物理コントローラ_動き

今回は、microbitを使った物理コントローラを作る方法を学びました。
少しこれまでの記事と比べて手順が多かったですが、microbitと連携させるとセンサ等も使うことができるのでぜひ試してみてください。

今回の記事のプログラムはこちらからダウンロードできます。

これを作ってくれたら、ハッシュタグ#kurikitをつけて見せてもらえると嬉しいです!

wada_個人サイン



この記事が気に入ったらサポートをしてみませんか?