探究型プログラミング学習(探プロ)

プログラミングの考え方を学んで、未来を創る力を手に入れる

プログラミングの考え方を学んで未来を創る力を手に入れる

【ワークショップレポート】ピタゴラ装置をつくろう! 2/2

参加者の皆さんは1ヶ月の間、各家庭でピタゴラ装置の設計を進めてくれました。

Facebookのグループページを私も拝見していたのですが、どの家庭も真剣に取り組んでいて期待が高まりましたよ!

 

当日は前回と同じメンバーが勢揃い。

各家庭から材料を持参して集まったので、前回よりもなんだか密度が高いような気がしたのは気のせいでしょうか(笑)

 

2回めのワークショップ、とても楽しみにしていたのは事実なのですが、実は1つだけ不安がありました。

それは、littleBitsを使ってもらえなかったらどうしよう...ということ。

 

littleBitsが手元にない状態でlittleBitsを使ったピタゴラ装置を設計しなければいけなかったので、皆さんとても苦労されたようです。

途中で、モジュールの一覧表などを作ってご提供したのですが、事前に共有された動画をみてもlittleBitsの出番がなさそう...

 

そんな不安を抱えてのスタートでしたが、1つ嬉しい出来事が!

ワークショップの途中、littleBitsのモジュールを取りに来た男の子がノートをもっていて

そのノートには、私が送ったモジュールの一覧表が貼り付けてメモがしてあったのです!!!

嬉しすぎました。

結果的に、すごく上手にlittleBitsを活用してくれたので本当に嬉しかったです。

 

 

さて、開始時間になったら早速、工作の開始です。

3つのグループはそれぞれ、やり方が違って面白かったですね。

まず全体をつないで、全体が通るように何度でも繰り返して調整をするグループがこちら。

f:id:dig_learning:20170731234457p:plain

こちらのグループは、かなり早い段階で全体像が見えていて、大人も、

いや大人の方が入り込んでいました(^^

あとで気づいたのですが、何度も繰り返し試せたのはドミノが少なかったからなんですよねー

構造がシンプルであれば、綿密な設計をする前にざっと動かして、細部を微調整するというのはプログラミングでもよくある話です。

まずは動かす!!

そのために構造はシンプルに。

かつ

繰り返しに強い形であること

というのがダイジな要素ですね。

あ、これで一つのコンテンツが作れそう。。。

 

そしてこちらは、念入りに個別の作品を仕上げるところからスタート。

f:id:dig_learning:20170731235436p:plain

個々の動きをしっかり仕上げてから、お互いの作品を繋げる作戦でした。

設計がうまくいっていれば、繋げた瞬間に動くように!!!なるはずでしたが

そうはいかなかったですね(^^;;;

これもプログラミングの世界でよくある話です。

個々の単体テストはOKなのに、結合テストに臨んだら全然OKが出ない...

よほどしっかりした設計に基いていないと繋げるのに苦労します。

インタフェースって難しい...

 

そして3つめのグループは、全体を繋げてから個別に仕上げていきます。

f:id:dig_learning:20170731235702p:plain

ホース...

見ていて思ったのですが、ピタゴラ装置を作るのにホースは必須ですね。

安定感が違います(笑)

それはさておき。

一度全体を繋げて動きを確認してから細部を調整するというのも、プログラミングの世界でもよく見かけます。

内部を作り込む前に、インタフェースだけ決まった状態でまずは繋げてしまう。

繋がることが確認できてから、各モジュールの中身を作ります。

こうすることで、もし動かない場合にはインタフェースに問題があるのではなく、各モジュールの中身に問題があるということが判別できるようになります。

 

3つのやり方のどれが良いというわけではないのですが、たまたま違うアプローチになったのがとても興味深いなぁ、と思いました。

今度、事例紹介で使ってみようかしら。

テスト駆動開発とか、そんなテーマでも何かできそうですねぇ。

 

 

さて、工作時間は約90分とったのですが、皆さんの集中力がすごい。

途中でわ~とか、きゃーといった悲鳴?雄叫び?のような声があちこちから聞こえて面白かった~

 

いろいろと名場面があるのですが、(一応)littleBitsを使ったピタゴラ装置という名目もあるので、littleBitsの活用シーンを中心にご紹介しますね。

 

こちらは、スタート台に設置された装置。

f:id:dig_learning:20170801000528p:plain

スイッチONでモーターが回転し、前にある電車を走らせるマシンなのですが、これを作っていた彼女は

動きを考える→必要な機能を考える→該当するlittleBitsモジュールを探す

を何度も繰り返していました。

littleBitsのモジュールを探すときには、何をしたいかがとても明確だったので私もサポートしやすかったですし、作り方がとてもロジカルで素晴らしかったです。

そして最後にはこんな形に進化していました!

f:id:dig_learning:20170801003458p:plain

スタート台の精度はとても高かったですね!

 

こちらはモーターの力で紐を巻き上げる装置。

f:id:dig_learning:20170801001106p:plain

 これを作っていたママさんは、巻き上げる方向とパワーがうまく調整できずにいたのですが、試行錯誤の上なんとか思い通りに動くように!

でも結局これは使われなかったんですよねー

別の形で活かされていたのを見て安心しました!

 

斬新すぎる装置はこちら。写真右下に注目です。

f:id:dig_learning:20170801001514p:plain

床に放置されているだけのように見えますねぇ。

他の装置につながっていないように見えますねぇ。

え?つながってないの??ほんとうに??

 

なんとこれは、レールを走る電車を応援するための装置でした!!

ピタゴラ装置が稼働するたびに、この応援装置を担当する男の子が手動で(笑)

スイッチを入れてブザー音を鳴らすのです。

こんなにも斬新な発想があるでしょうか?!

練習中も本番も、ずーっと応援してましたねー。おつかれさま!

 

そしてこちらは、個人的に「がんばったで賞」を差し上げたい装置。

f:id:dig_learning:20170801002004p:plain

写真の撮り方が悪くてよく分からないと思うのですが...

右上のところにサーボモーターがついていて、ボールを感知して作動し、少しずつ回転して次へつなげる動作をします。

littleBitsのサーボモーター作者に見せてあげたい素晴らしい出来栄えだったのに写っていなくて本当に残念...

ちなみに、ボールを受け止めたのはこんな装置でした。

f:id:dig_learning:20170801002831p:plain

ゴロゴロと転がってくるボールを圧力センサーが受け止めて、この上にあるサーボモーターを作動させる、といった流れです。

発表のときは一瞬のことだったのでみんな気付かず、あとで解説してもらってなるほどでした。

この仕組を作り上げていたご家庭はずーーーーっとこの装置の品質向上に取り組んでいましたよね。

littleBitsの活用といい、クオリティといい、本当に素晴らしかったです。

 

こちらはゴールに使われたlittleBits。

f:id:dig_learning:20170801002349p:plain

ドミノの最後に白い板が倒れ、その重さでボタンがONになるとライトが点灯する装置です。

発表のときの紹介では

「緑色のパンダが登場します」

とあって???だったのですが、実際に見て謎が解けました。

 

さてさて。

どんな装置が出来上がったのでしょうか?

まずは1つめのグループから。

youtu.be

出だしで少し躓きましたが、各部品の調整を念入りに仕上げた甲斐あって大成功!!

 

次のグループはちょっと長めです。

なぜなら....インタフェースを人が担当するから!

youtu.be

自動で繋げないなら人が繋いでしまえ!

という発想が面白いなぁ、と思いました。

途中で何度も神の手が登場するんですよね(笑)

インタフェースの難しさを一番実感したグループだったのではないかと思います。

 

そして最後のグループ。

例の応援装置が発するブザー音にもご注目ください!

youtu.be

無事に緑のパンダが登場して大喜びです!

 

最高潮に盛り上がったところで、最後に私からのメッセージとして前回と同じことを伝えました。

インタフェースを決めるのがダイジだということは分かっても、実際にすり合わせるのはとても難しかったはず。

この経験を活かして、日常のいろんな場面でインタフェースを決めること、というのを意識してもらえたらと思います。

 

前回お伝えしたときよりも皆さんが大きく頷いていたのが印象的でした。

2日間とっても楽しかったです。

またこのメンバーで、違うプログラムを体験してみたいですね!

また会えるのを楽しみにしています!

 

littleBitsでピタゴラ装置、想像以上に面白いし学びがありました。

@tanpro-lab