Scratch3.0では拡張機能を使ってmicro:bitと接続することができます。デジタルと現実を繋いでなんだか楽しいことができそうでワクワクしてきました!
Scratch Linkでmicro:bitと接続
Scratch3.0の拡張機能からmicro:bitの機能を使えるブロックを追加できるようになっています。
このブロックを使うとScratchのスプライトをmicro:bitで操作したり、micro:bitをScratchで動かしたりお互いを接続して動作させることができます。
この拡張機能はMacかWindowsパソコンを使います。必要条件は以下となります。
・Windows10 version1709以上
・macOS 10.13以上
・Bluetooth4.0搭載
そして、「Scratch Link」をパソコンにインストールして「Scratch micro:bit HEX」ファイルをmicro:bitにコピーすると使えるようになります。
それではセットアップしていきましょう。ここではMacを使ってセットアップします。
Windowsも操作は違えど同じ方法でセットアップできます。
Scratchのサイトからセットアップ方法が書かれたページが公開されていてそれに従って進めます。
・Scratchとmicro:bit接続(https://scratch.mit.edu/microbit)
まずは「Scratch Link」をMacにインストールします。
Scratchサイトから直接ダウンロードできますが、ここではAppStoreからダウンロードします。
Macの場合はこのほうがScratch Linkをアップデートしやすいのではと考えました。
Scratch Linkをインストールしてアプリを起動すると画面メニューバーに表示されます。
続いて「scratch-microbit-1.1.0.hex.zip」ファイルをダウンロードします。
ダウンロードしたZIPファイルを解凍し、Macにmicro:bitをUSBで接続して、解凍した「scratch-microbit-1.1.0.hex」ファイルをmicro:bitへドラッグ・アンド・ドロップでコピーします。
すると、micro:bitのLEDにBluetoothで接続するときのデバイス名がスクロール表示されます。
いよいよ接続します。
Scratchサイト(https://scratch.mit.edu/)へアクセスしプロジェクトを作ります。
画面左下の拡張機能の追加をクリックして、「micro:bit」をクリックします。
すると、接続画面が表示されて、そこに先程HEXファイルをコピーしたmicro:bitが表示されます。
画面の「接続する」ボタンを押すと対象のmicro:bitと接続できます。
micro:bitと接続できると、「接続されました」と表示されます。その画面にある「エディターへ行く」ボタンを押すとScratch画面へ戻ります。
するとブロックリストにmicro:bitが追加されています。
リスト右上のマークがmicro:bitとの接続状況をあらわしていて、緑が接続されている状態です。
動作するか試してみましょう。micro:bitのLEDに文字を表示させるブロックがあるので動かしてみましょう。
ブロックをクリックするとmicro:bitはすぐに反応します。
ちょっと見にくいかもしれませんが、ぼんやり写っている緑のブロックがmicro:bitの拡張ブロックです。
「Hello!」を表示するブロックです。動いているようですね。
次にスプライトを動かせるか試してみましょう。
micro:bitのボタンを押したときのイベントブロックがあるので、AとBボタンを押したときに左右にネコを動かしてみましょう。
こんなコードでやってみます。
Aボタンでネコが左向きに動いて、Bボタンでネコが右向きに動くはずです。
この動画もちょっと見にくくてすみませんが、奥にぼんやり写っているネコが見えるでしょうかw
ボタン操作でネコが左右に動きました。Scratchサイトに書かれているように現実とデジタル世界が融合した瞬間です。
それから、Scratchとmicro:bitが切断してしまったときは、ブロックメニューの上に表示されているアイコンが黄色くなります。
そのときは再度この黄色アイコンをクリックすると接続画面が表示されるので、再度「接続する」ボタンを押して接続します。
まとめ
Scratchとmicro:bitがお互いに操作できると面白いアプリが作れそうです。まずはこれまでにScratchで作った矢印キーやマウスで操作できるゲームをmicro:bitで操作できるようにしてみようかと思います。
その他に、拡張機能はマインドストームEV3も接続できるようです。これも試してみてまた記事にしたいと思います。