プログラミング入門

Scrathでロボットを動かそう LEGO WeDo2.0編

プログラミング初心者の子供に何を教えたらいいの?とお悩みの保護者のためのScratch(スクラッチ)の入門講座。今回はなんとScratchでロボットを動かしちゃいますよ!
ロボットは子供達に大人気!その中でもLEGOのWeDo2.0は年長さんぐらいから扱えるとあって、低学年や初心者の子供達にちょうどいい教材です。今回はScratchでWeDo2.0を動かしてみましょう。

1. LEGO WeDo2.0って?

1-1. LEGO WeDo2.0とは?

LEGOエデュケーションのWeDo2.0はLEGOを組み立てて作るロボットです。通常のレゴパーツを使うので、レゴ好きの子供達に大人気のロボット。このロボットには専用プログラミングソフトが付属しており、普通は下の図のようなブロックを使ってプログラムを作ります。

 

1-2. WeDo2.0とScratchを連携させよう

手順1.WeDoの組み立て
まず、WeDoのアプリを起動してロボットを組み立てておきましょう。最初は「せんぷうき」を使用します。

 
手順2.デバイスマネージャーのインストール
ScratchのWeDoのページをブラウザで開きます。
https://scratch.mit.edu/wedo
OSに合わせて必要なデバイスマネージャーをインストール・起動しておきます。

 

手順3.パソコン側のBluetoothをONにしておく
手順2. Scratchに拡張機能を追加する
Scratchサイトで新規プロジェクトを開き、その他のところにある「拡張機能を追加」ボタンを押します。

 
LEGO WeDo2.0を選んで、OKボタンを押します。

 
デバイスマネージャーが次のような表示に変わるので、WeDo本体の緑のボタンを押してから、パソコンの方の「Connect」を押しましょう。

 
うまく接続できると、下の図のように表示が変わります。

 

2. Scratchでプログラムを作ろう

2-1. モーター

以下のWeDo2.0用のサンプルプログラムが用意されていますので同じものを作ってみましょう。
 
▼モーターのサンプルプログラム
https://scratch.mit.edu/projects/101037564/
上のリンク先のプログラムを参考に以下のようにプログラムを作ってみました。

 
パソコンの左右キーでモーターの向きをコントロールできました。

 

2-2. WeDoのライトの色

WeDoのライトの色を変えるプログラムです。Scratchでは色の指定を数値で行う必要があるようです。
色々試した結果、0, 10, 20, 30, 40・・・と10づつ数値を変えると色が変わることがわかりました。

0は緑色で100が赤色です。
 

2-3. モーションセンサー

つぎはモーションセンサーを使ったプログラムです。ロボットを作り変えて、スパイロボットにしてみました。

 
プログラムは次のように作ります。
上のプログラムは、チルトセンサーで測った距離を猫に言わせるプログラムです。下の方のプログラムは距離が50以下になったときに、警告音を鳴らすようにしました。

チルトセンサーの前で手をかざし、手を近づけたり遠ざけたりすると猫の数値が変わるのでためしてみてください。また、すごく近くになるとパソコンから警告音がなります。まさにスパイロボット!なかなか面白い作品ができました。

 

2-4. モーションセンサー

再びロボットを作り変えましょう。WeDoのアプリ中に「モデルライブラリー」というものがあります。その中のコントローラーというものを作ってみましょう。
作り方は、最初に「15.かたむく」というところをクリックして、ベースとなるモデルを作ります。その次に「15b.コントローラー」をクリックするとモデルの写真が表示されるので、写真を参考にしながら続きを作ります。

コントローラーができました。

 
次はScratchのプログラムです。まず、チルトセンサーの動きを知るためにつぎのようなプログラムを作ってみました。

 
これは、猫にチルトセンサーの値を言わせるプログラムです。このプログラムを実行すると、次のような感じになります。
上と下、右と左は値は同じで正負が逆になっているのがわかりました。

 
色々実験したところ、実際のコントローラーの向きとの関係が次のようになっていることがわかりました。

 
コントローラーに向かって右側に倒すと、Scratch上の「tilt angle 左」の値がプラスに増えていき、左に倒すと「tilt angle 右」の値がマイナスに増えていきました。そして、奥側に倒すと「tilt angle 上」の値がプラスに増えていき、手前にに倒すと「tilt angle 下」の値がマイナスに増えていきました。
コントローラーの実際の動きとScratchのブロックの「tilt angle ●」の値との関係がわかりました。では、この関係を使って、コントローラーで画面上の猫を動かすプログラムを作ってみましょう。
プログラムはこちら。

 
このプログラムを実行すると、コントローラーの傾きに合わせて猫がうごきます。この猫とコントローラーを使ってゲームを作ってみるのも面白そうですね!
 

3. まとめ

今回は、ScratchとWeDo2.0を組み合わせてみました。普段、パソコンの画面上の絵が動くだけのScratchですが、WeDo2.0と組み合わせると面白さが100倍!WeDoでスプライトを動かしたり、ScratchからWeDoを動かしたりと、いろいろなことができることがわかりました。
WeDoは低学年の子が遊ぶもの・・・というイメージが強いですが、これだったら高学年のお子さんでも引き続きWeDoを使うことができますね。ScratchとWeDo2.0、両方の可能性が広がった気がしました。
次もScratchと別の外部機器の連携する方法を試してみたいと思います。

伴野悠佳 / YUKA TOMONO
この記事の著者伴野悠佳 / YUKA TOMONO
教育ヲタクの1児の母。自称ニコニコキッズクリエーター。東京理科大学大学院卒。元SE。小学生の頃から教育書を読んでいた教育ヲタク。大学では、電池の素材の性質について実験とコンピューターシミュレーションを比較する研究を行っていたことがきっかけでSEになる。出産&育休後、子ども向けプログラミング教室講師、子どもたちの考える力を育てるオンライン塾の講師。