2024年12月20日

014-1.WeDo2.0スクラッチ入門-第5回「移動できるロボットを作る」

この連載では「レゴ WeDo 2.0(以下、WeDo 2.0)」と「Scratch(スクラッチ)」を使ってプログラミングの方法を紹介します。なお、「WeDo 2.0 ソフトウェア」を使ったプログラミングの方法については、すでに「WeDo 2.0入門」で紹介していますので、そちらをご覧ください。(文/松原拓也)

◆ パワーモーターMを2つ使う

WeDo 2.0を使って移動できるロボットを作ります。「パワーモーターM」を2つ使います。パワーモーターMはWeDo 2.0のセットに1つだけ付属していますので、もう1つは別途購入する必要があります。

パワーモーターMを購入するには、いくつかの方法があります。たとえば、通販サイトのアフレルショップで購入することが可能です。他に、秋葉原にある「テクノロジア」というショップで取り寄せてもらうことも可能です。

ロボットを作ります。
写真はモーターの位置を考え中の様子です。 タイヤにモーターを直結した場合、このように横幅の長いロボットが出来上がってしまいます。かさばってしまい、見た目が良くありません。

◆ ベベルギヤを使う

ロボットをコンパクトにするため、モーターの向きを「縦」にします。モーターの回転軸を縦方向→横方向に変えるため、「ベベルギヤ」を使います。ベベルギヤは日本語では「傘歯車」といいます。ベベルギヤは歯がななめになっていますので、別のベベルギヤと90度向きを変えた状態で組み合わせることができます。

ロボットの裏側です。移動しやすくするために、表面がツルツルの部品を貼り付けています。

モーターをスマートハブにつないだ状態で電源を入れた場合、このように割り振られます。右側のモーターがA、左側のモーターがBとなります。

以上でロボットが完成です。
余ったケーブルは邪魔にならないようにロボットの内部に入れておきましょう。

◆ プログラムを作る

続いて、プログラムを作ります。こちらは前進をするだけのプログラムです(car1.sb2)。キーボードのカーソルキーを押したらロボットが移動するようにします。「~キーが押されたとき」というブロックを使い、「↑」キーに設定します。

「set ~ direction to ~」ブロックを使って、モーターの回転方向を設定します。この場合、右側のモーター(A)は正転(こちら側)させると前進です。左側のモーター(B)は逆転(あちら側)させないと前進しません。
キーを一回押すと、2cmくらい進むようにします。このため、パワーを25に設定して、モーターの回転時間を0.1秒に設定しました。時間で制御していますので、回転角度があまり正確ではありません。そのため、ロボットがまっすぐ進んだり、進まなかったりします。

プログラムをさらに改良して、ロボットの方向を変えられるようにします(car2.sb2)。 「→」キーを押したらロボットが右せん回。「←」キーを押したらロボットが左せん回するようにします。必要なキーの数だけ「~キーが押されたとき」ブロックを用意します。

ロボットをせん回させるには、このようにモーターを動かします。
・右せん回の場合:右モーターを後退。左モーター前進。
・左せん回の場合:右モーターを前進。左モーター後退。
ただし、左モーターは前進=逆転、後退=正転になっていますので、左モーターだけ回転方向を反転した状態でプログラムにします。
これでキーを押すとロボットが前進/右せん回/左せん回できるようになりました。ただし、プログラムが読み取りにくくなってしまいましたので、次回はそれを改善したいと思います。

今回作成したプログラム(スクラッチ2.0用)

当ブログの内容は、弊社製品の活用に関する参考情報として提供しております。
記載されている情報は、正確性や動作を保証するものではありません。皆さまの創意工夫やアイデアの一助となれば幸いです。