asu_paraの日常

日々感じたことをまとめて投稿するときに使います

No code tool!ロボット作成+簡易プログラムで動かして遊んでみた 

11月も終わってしまいますね。

 

No code toolを使って実際の実物を動かしてあそんだ報告です。いわゆる初心開発者でも感覚的に物体を動かしてプログラミングに馴染んでもらおうという授業です。一部の小学校などプログラミングが必修化されているところでは使われているNo code toolのようで、LEGO MINDSTORMS Education (EV3)というものを使いました。(お高めの教材です。)

f:id:karasuparan:20201130040313j:plain

上のようなアイコンをクリックしてプログラミングのらんに入っていくとアイコンが並んだプログラム枠が出てきます。以下はプログラム例です。

f:id:karasuparan:20201130040634j:plain

 

プログラム例の解説

オレンジのアイコンでスタートできます。ポートAに繋がったLモーターを回転させることができます。タイヤのマークの下のアイコンでモードを設定できます。これは秒数設定モードというものです。このモードの違いで右のアイコン設定を変えることができます。みぎに3つでていますよね。順に50%の力で準方向回転を1.5秒間した後モーターが停止するという感じです。次は音を鳴らす機構です。音符再生モードでA5=ラの音階を1秒間、100%音量で鳴らした後動作完了でストップします。最後青のあいこんで動作終了です。いやー、実にシンプルで簡単ですね。直感を大切にプログラムを作成してくださいと先生が言っていましたがまさにどうしたいかを直感で動かせてしまいます。なんと言ってもそうしたい!動かしたい!と思った部品がちゃんと準備されているのがすごいです。

 

f:id:karasuparan:20201130044048j:plain

作ったプログラムはPC を通じて保存します。例えば先ほどのプログラムをtest1aと名前をつけられたものにしましょうか。本体ボタンのその部分をクリックしたら再生ボタンが左についたProgramがついています。本体ボタンでそこをクリックしたら物体が先ほど作ったプログラム通りに動き始めるわけです。シンプルですね。

 

オリジナルの作品を求められた。

オリジナルの作品を動かしてみようというものがありました。何かを創作たり組み立てたり動かしたり壊したりするのは自分は小さい時から好きだったのでとても意欲の湧く演習ではありました。

そして作った作品が⬇️

f:id:karasuparan:20201130044954j:plainf:id:karasuparan:20201130045035j:plain

ショベルカー?みたいなものを想定したのですが試行錯誤の結果ショベルのアームの部分に最適なパーツがなかったので障害物をどかして進む機構を考えました。

 

機体の特徴

2つの車輪をとりつけ土台の車体を完成させます。前には赤外線せんさをとりつけています。ロボットの右側に腕とモーターを取り付けます。その時モーターがぐらつかないように少し長めのブロックを2つ準備して4箇所固定しました。さらに固定した2箇所の間にさらにぐらつきを抑えるための腕を入れることでモーターの固定を更に安定させるようにしました。機体の進行方向から見て右側からも固定を入れました。それによってより左右均等になり挙動に安定感が生まれるものだと思ったからです。ショベルの部分はそれにふさわしい曲がった部品などで作ってモーターが回転する軌道を確かめながら作ったです。後、赤外線センサーが反応しすぎないようにショベル部分を作るのが難しかったと思います。

 

実際のプログラム

f:id:karasuparan:20201130045534j:plain

 

プログラムの説明

2つの車輪はBとCのポートに繋がっていることが分かります。50の力で真っ直ぐ進むようにしています。障害物と5cmの距離のところにきたら車輪が停止するようになっています。停止したらDのポートに繋がれているモーターが1秒間逆回転することによって進行を阻害する障害物を排除します。障害物を排除したら進行方向にそのまま2秒間進みます。最後に上がりきったアームを定位置に戻したいのでさっきとは逆方向に1秒間だけ回してストップする、🛑というシンプルな挙動を示します。

 

感想

ロボットをノーコードツールを使って動かすという貴重な経験をしました。自分で購入したらとても高価なものを動かす経験をさせてもらったのはとてもためになったし勉強になるところがいくつもあったように感じています。今回の作品はとてもシンプルだったと思います。でも障害物をどかせるという機能性はきちんと果たしているものです。シンプルだが誰もが使いやすく機能性が高く使いやすいものを作る技術者になれたらなと思いました。