見出し画像

Scratchとmicro:bitを連携したゲームで遊ぶ

今年Scratchバージョン3がリリースされ、マイコンボードのmicro:bitと連携がしやすくなったので弄ってみる。

Scratchバージョン3の新機能を色々使ってみる。今回は「ビデオモーションセンサー」「Text to Speech」「micro:bit連携」だ。
まずは、micro:bitの加速度センサーを使って横スクロールのアクションゲームを進める機能を作る。
Scratchは変数(基本はグローバル変数)も扱えるのでこれをうまく使って、ジャンプの滞空時間を定義する。

どうせなら、2段ジャンプできるようにしよう。

キャラが走っている時とジャンプしている時のコスチュームも変化させる。

後は、敵キャラ来た時の当たり判定も作る

こんな感じで、他にも色々と定義して1面完成。
2面は、ビデオモーションセンサー使って、ゲームキャラを動かすように変更。
Scratchのプログラミング上、ステージ毎に処理は分けづらいので(プログラムのロードを独立的には行えないので)、2面の動きを変える場合は、イベントドリブンな感じで、メッセージ機能をうまく使う。


Scratchバージョン3は、まだ何か挙動が不安定なところあるけど気にせずゴリゴリ進める。
ちなみに採用キャラは、茨城ご当地キャラの「イバライガー」と「Scratchキャット」のフュージョンもの。ウチのCoderDojoもこのイベントを手伝っている。


1面は横スクロールするこんな感じのゲーム。自分がジャンプするとキャラもジャンプする仕組み。


プログラムの方は一通り作ったので、次はmicro:bitのハードウェアDIYだ。
micro:bitは、BLE (Bluetooth Low Energy)で連携するが、給電方法はMicroUSBを用いる。今回、体に装着させるためそれでは動きづらいので、ケーブルレスな電源ボードと組み合わせて使うことにした。困った時の秋月電子かスイッチサイエンス。

後は、どんな風に土台を体に装着させようかと考えたけど、micro:bitと電源ボードと接着する土台を別に作り、そこにベルトを通そうと考えた。
その土台は3Dプリンターでプラスチック造形しようと思ったけど、設備あるところに行かないといけないので(ご自宅用3Dプリンタ欲しい)、ちょい時間かかるため、アクリル板から簡易に作る方法に変更。

用意したもの。
・micro:bit本体
・micro:bit用電源ボード、関連部品
・アクリル板
・体に縛る巾着紐
・工具類


micoro:bit用電源ボードの寸法を測り、アクリル板の大きさを決める。


寸法を確認したら、P型カッターでアクリル板をガリガリ削り、1/3程度まで掘ったら手でパキっと割る。後は切断面をカッターの背で綺麗に削る。


良い感じの大きさになった。


次は、アクリル版と電源ボードをネジで接着させるための穴と、巾着紐を通す穴を開ける。


こんな感じ。まあまあ。


しかし、巾着の紐を通すにはドリルで開けた穴では小さすぎた。鉄ヤスリの類も無いので、ハンダコテ使って、穴をじわじわ大きくさせる方法で対応。無事通った。


アクリル板の土台と電源ボードをねじ止めして、その電源ボードにmicor:bit本体を取り付ける手はず。


これくらいの厚さなので、ジャンプする時の邪魔にはならなさそう。


でも一つ問題が発生。電源ボードからmicro:bitに給電するには、エッジコネクタの「3V」「GND」の2つをネジで固定する必要がある。そしてそのネジ配置だと片側に寄ってしまい構造上のバランス悪いので反対側の「0番」にもネジを通す。そうすると、電源ボートと土台を固定するネジが無かった。。先の尖ったドリルネジはあるけど、それだと痛いので、あるもの探す、探す。買いに行けば良いけど、ネジだけ買いに行くのがめんどい。。
そしたら、昔組み立てた、ラズパイのケース用ネジがあるので、そちらから2本拝借。


とりあえず、無事完成。


後ろのラズパイネジが長いので、やっぱり今度買いに行こう。


息子に付けさせたが、服の上からだったら痛くない様子。

CoderDojoの子供達が今度、自分たちが作った作品を発表するイベントをするので、この品はその時の賑やかしの一つとしてみんなで遊ぶ。
今回は、Scratchのプログラミング起点のmicro:bitだったけど、micro:bit単体でも色々できると思うので今度調べてみる。ラズパイやArduinoよりも構造がシンプルで、キッズプログラミングに向いている教材だ。

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