こんにちは、StuTです。
今回は以前我が家で購入したLEGO BOOSTの宿題を記事にしていきたいと思います。
▼以前の記事
【LEGO】子供のプログラミング事始め「LEGO BOOST」商品レビュー
LEGOで4種類(+α)の組み立てができて、タブレットを使ってビジュアルプログラミングができて、楽しみながらプログラミングを学べる一石二鳥の「LEGO BOOST」ですが、ロボットを作るところのアイデアブックはいくつか本として出ているのですが、なかなかプログラミングの課題のような本などが出ていないというのが現状です。
▼LEGO BOOSTの商品情報はこちらから
LEGO BOOST商品情報
▼Amazonでのアイデアブック一覧はこちらから
Amazonでのアイデアブック一覧
それだとせっかく子供が作っても、プログラミングを全て自分で発想して組み立てていく必要があるため、なかなか学習レベルが上がっていかないのが実際です(全てのプログラミング部品を上手く使いこなすということまで到達しない)。
そんな現状を打破するために、何かプログラミングの宿題のようなものがあるべきだと思ったので、一つずつ自分で形にしていくことにしました。
息子が現在遊んでいるロボットのタイプに依存したプログラミングになってしまうので、全てのロボットタイプでのプログラミングを紹介するのにどれくらい時間がかかってしまうのかは疑問ですが、誰かの役に立つことが少しでもあればという思いで続けていければと思います。
今回が初めてなので、まだ宿題を一覧化するだけの記事がありませんが、今後は一覧ページを作って宿題をまとめていければと思っています。
今回はマルチ作業車M.R.T.4の宿題です。
宿題の内容
今回のテーマは「がんばれ、寝るな!働く車、M.R.T.4!」です。
チープなタイトルですが(※)。
※この後の動画もそうですが、クオリティは最低限です。ご承知おきを。
使用したLEGO BOOSTプログラムは下図のものです。
動画
息子に協力してもらってとった今回の宿題動画は以下の通りです。
画像での説明
今回は三つの現場(①〜③)で作業(ハンマーでものを叩く)してもらいます。
それぞれの作業場に向かい、そこでハンマーを降って、お仕事をすると歓声が上がります。
ただし②の作業を終えた後、疲れたM.R.T.4は寝てしまい、この時ばかりはBooingされてしまいます。
ここは人手を借りて(息子登場)、機体前面に手をかざして、M.R.T.4を起こしてあげます。
すると、次の作業を開始してくれます。
動画では上手く撮ることができませんでしたが、本当は、ハンマーでシーソーの部分を叩いて、反対側のコーンを上に打ち上げるというところまでをプログラミングして欲しいです(地面の凸凹具合で、きっちり移動距離や回転角度を制御するのが難しいです。ここは、プログラミングによる要素ではないので、動画できっちり動くところまでは撮れていません)。
ねらい
今回は作業場まで行ってハンマーを振るという一連の動きを関数化するような機能が用意されていなかったので、すべて直列でプログラミングしていくことになります。
それぞれの動きのブロックは、もともと用意されているので、それを使ってください。
トリガー系ではロボットのカメラセンサーを使えるので、我らがM.R.T.4を起こすところでは、それを使ってみてください。
プログラミングして、それをテストして、修正して、またテストというのは、実際のシステムエンジニアでもやるプログラムの実装工程になるので、何度もトライして上のような動きをするプログラムを作ってください。
解答
今回実際に作成したプログラムは、下図の通りです。
同じ動きをするプログラムは他にもあると思うので、参考程度にみていただければと思います。
他の作り方でできた場合、どちらの方が作りやすかったのか、何か作り替える際にどちらの方が修正しやすいか等で、どちらのプログラムがよかったのかを考えても良いかと思います(実際のプログラミングでも、同じ動きをするものでも、どちらの方が作るコストが低く、拡張性にすぐれているかというのが、どうプログラミングするかを決める重要な要素で、その工程自体を設計と呼んでいます。)。
向きを変えて、進んで、ハンマーで叩いて歓声が上がるというのが、一連の流れになりますが、上述の通り、このプログラムでは共通関数化することができないので、①〜③が直列で並ぶ形になっています。
拡大したものが下図です。
同じ動きができなかった人は、一旦完コピでプログラミングしてみてください。
プロの世界でも、初めてのプログラミングでわからない時は、まずはプログラムを丸写しして(写経と呼ぶこともあります)、一旦動くものを作ってから、それぞれのパーツをいじって、各パーツがどんな動きをしているのかを探っていきます。
まとめ
今回はLEGO BOOSTでのプログラミング学習用として、一発目の宿題を投稿してみました。
今後も継続してアップロードできればと思っていますので、またご覧いただけたら幸いです。
動画のクオリティ等は、あまり期待しないでください。
最後までお読みいただきありがとうございました。
▼アフィリエイト提携サイト
レゴランド・ディスカバリー・センター東京
レゴランド・ディスカバリー・センター公式オンラインショップ