安全にバックする
車が後退する際の安全性を向上させる機能をデザインします。
CONNECT(結びつける)
(5分)
このレッスンでは、インテリジェント ブロック ステータス ライトと表示ブロックを使って、車輪つきロボットが後退する際に歩行者やほかの運転手に視覚的な警告を表示するプログラムを作成します。また、タッチセンサーを使ったリバース(バック)ギアの再現にも取り組みます。次の質問を使って議論を促しましょう: - 車などの車両をバックさせる際にはどん な危険がありますか? - 車のバックで起きる交通事故は地域で年にどれくらい起きているでしょうか? - 車をより安全にバックさせるにはどうすればよいですか? - 車をバックさせるとき、歩行者やほかの車の運転手にそのことを知らせるためにどのようなことが起こりますか?子どもたちに、車がバックするとき何が起こるか簡単に話し合ってもらいましょう。バックライトは、その車が何をしているのかをほかの車の運転手や歩行者に知らせるためのものであることを子どもたちに話してください。また、ダッシュボードのインジケーターは運転手と乗客に車のギアが何に入っており、車がどちらの方向に進むのかを知らせる役割があることも説明してください。子どもたちに、自分が見つけたアイデアを記録して共有するためのツールを選んでもらいましょう。文章、動画、画像、スケッチブック、あるいはそのほかのクリエイティブな手段を使って、自分の考えを記録してもらいます。
Construct(組み立てる)
(15~30分)
準備 次のタスクへ進む前に、タスクを完了するのに必要なスペースが十分に確保されていることを確認してください。大きなテーブルや床の上を利用するとよいでしょう。組み立て 子どもたちはロボットエデュケーターの基本モデルを組み立て、タッチセンサーを取り付けます。
プログラミングに取り組む前に、下のリストを使って子どもたちに組み立てチェックをしてもらいましょう: - モーターからポートBとCの間は正しく配線されていますか? - 車輪は正しく取りつけられていますか? - 車輪は自由に回転していますか? - タッチセンサーとポート1の間は正しく配線されていますか?プログラム * バックライトも含め、バックをする車の動きをロボットに再現させるプログラムを作ってもらいます。* タッチセンサーを、ロボットをバックさせるきっかけとして使うように言いましょう。子どもたちに、自分が見つけたアイデアを記録してみんなと共有するためのツールを選んでもらいましょう。文章、動画、画像、スケッチブックといったような、創造力を働かせる媒体を選ぶよう促してください。回答例:バンプと後退**
1.プログラムを開始します。2.任意の速度でまっすぐ前進します。3.タッチセンサーがバンプ(ぶつかって離れた)状態になるまで待機します。(リバース(バック)ギアへの切り替えのきっかけ)4.モーターを停止します。5.1秒間待機します。6.「バックライト」(EV3ブロックの黄色のライト)を有効にします。7.2秒間後ろに後退します。
注意 EV3ソフトウェアやアプリを使って、インテリジェント ブロック ステータスライトや、タッチセンサーの3つの比較モード(押された状態、離れた状態、バンプ)を実演することができます。詳しいサポートが必要な子どもたちにはロボットエデュケーターチュートリアルを見るように言いましょう。EV3 ソフトウェアでは:ロボット エデュケーター > ベーシック(ハードウェア) > インテリジェント ブロック ステータス ライトロボット エデュケーター > ベーシック(ハードウェア )> インテリジェント ブロック ディスプレイロボット エデュケーター > ベーシック(ハードウェア) > タッチセンサー
CONTEMPLATE(よく考える)
(35分)
- EV3 ブロック上のボタンを「リバース(バック)」ギアとして使用するやり方を子どもたちに紹介します。* 自動運転車でインジケーターをどのように使うことができるか子どもたちにたずねてみてください。* 運転手に重要な情報を伝えるためにインジケーターを使う方法について話し合ってください。以下のように車のリバース(バック)ギアを再現するプログラムを作成し、それまでの学習を応用させます: - ロボットを停止させるためのバンパーとしてタッチセンサーを利用します。 - インテリジェント ブロック ボタンを押すとロボットの進行方向が逆に切り替わります。 - ロボットがそれぞれの動作を外部に知らせるようにします。子どもたちに、自分が見つけたアイデアを記録してみんなと共有するためのツールを選んでもらいましょう。文章、動画、画像、スケッチブックといったような、創造力を働かせる媒体を選ぶよう促してください。回答例:バンプ、リバース(バック)ギアが入るまで待機**
1.プログラムを開始します。2.任意の速度でまっすぐ前進します。3.タッチセンサーがバンプ(ぶつかって離れた)状態になるまで待機します。(リバース(バック)ギアへの切り替えのきっかけ)4.モーターを停止します。5.インテリジェント ブロック ボタンが押されるまで待機します。(リバース(バック)ギアへの切り替えを再現)6.「バックライト」(EV3ブロックの黄色のライト)を有効にします。7.2秒間後ろにバックします。
発展オプション 子どもたちにEV3ブロックのスクリーンを車のダッシュボードのインジケーターとして使うように言いましょう。さらに、表示ブロックを使ってEV3ブロック上のスクリーンを操作し、ロボットの前進または後退によってスクリーン上に進行方向を示す矢印が表示されるプログラムにも挑戦してもらいます。下の例をはじめ、ほかの警告も使うようにうながしましょう: - 方向指示器(右折または左折する際に点滅) - クラクション回答例:バンプ、バックライトをつけながらリバース(バック)ギアが入るまで待機
1.プログラムを開始します。2.EV3 ブロックのライトをオフにします。3.任意の速度でまっすぐ前進します。4.タッチセンサーがバンプ(ぶつかって離れた)状態になるまで待機します。(リバース(バック)ギアへの切り替えのきっかけ)5.モーターを停止し、3つのタスクを同時に開始します。タスク1 6.インテリジェント ブロックの下のボタン(リバース(バック)ギアへの切り替えを再現)が押されるまで待機します。7.「バックライト」(EV3ブロックの黄色のライト)を有効にします。8.2秒間後ろにバックします。タスク2 9.右または左のインテリジェント ブロックボタンが押された状態になるまで待機します。10.EV3 ブロックの黄色のライトを有効にします。11.0.5秒間待機します。12.EV3 ブロックのライトをオフにします。13.0.5秒間待機します。14.右または左のインテリジェント ブロックボタンが再び押された状態になるまでステップ10から13を繰り返します。タスク3 15.真ん中のインテリジェント ブロックボタン(クラクションを再現)が押されるまで待機します。16.サウンド「Horn 2」を再生します。
発表する * 子どもたちに、自分の作品や独自の考え、学習の成果を表現するのに最適だと思うツールを自由に選んでもらいましょう。* 文章、動画、画像、スケッチブックといったような、創造力を働かせる媒体を選ぶよう促してください。* 1つか2つのグループに完成したプログラムと車輪つきロボットがどのように動くのかを発表してもらいましょう。* 問題に対するいろいろな解決方法を比較してみましょう。評価の機会 プログラミング的思考スキルの具体的な評価基準は「評価」の章に掲載されています。
Continue(さらに続ける)
(45分)
テキストベースのプログラミングを使用する様々なプログラミング言語を比較できるよう、子どもたちにテキストベースのプログラミング言語について知ってもらいましょう。
Swift Playground - 回答例
ev3.move (left Port: .b, rightPort: .c, leftPower: 50, rightPower: 50)
ev3.WaitForTouch(on: .one)
ev3.stopMove(leftPort : .b, rightPort : .c)
ev3.WaitFor(seconds: 1)
ev3.brickLightOn(With Color: .orange, in Mode: .flashing)
ev3.move(forSeconds : 2, leftPort: .b, rightPort: .c, leftPower: -50, rightPower: -50)
ROBOT C - 回答例
#pragma config(StandardModel, "EV3_REMBOT")
//*!!Code automatically generated by 'ROBOTC' configuration wizard !!*//
/*
Create a program where the robot drives forward until the Touch Sensor is pressed.
The robot then reverses flashing an orange LED.
*/
task main()
{
//Set the MotorSpeed to 50%.
setMotorSpeed(motorB, 50);
setMotorSpeed(motorC, 50);
//Wait for touch sensor to be pressed.
while(getTouchValue(touchSensor) ==0)
{
sleep(10);
}
//Set the MotorSpeed to 0% or off. Wait 1 second.
setMotorSpeed(motorB, 0);
setMotorSpeed(motorC, 0);
sleep(1000);
//Flash the EV3 LED Orange.
setLEDColor(ledOrangeFlash);
//Set the MotorSpeed to -50%(reverse). Wait 2 seconds.
setMotorSpeed(motorB, -50);
setMotorSpeed(motorC, -50);
sleep(2000);
}
注意警告安全ではない可能性があります。
レゴ エデュケーションはROBOTCプラットフォームの所有権をもたず、ユーザー体験や使用される技術の品質に対するサポートまたは保証は提供いたしません。セットアップに必要な情報はROBOTCによって提供されています:robotc.net他のプログラミング言語を使用した後は必ずレゴ マインドストーム EV3 ブロックファームウェアを再インストールすることをおすすめします。EV3 ブロックの再インストール方法
そのほかのプログラミング言語
教師用サポート
以下のことに取り組みます:プログラミングによって、一連の指令を順番に実行できるという理解を発展させるアウトプットに対する理解を発展させる
教育版 レゴ® マインドストーム EV3 基本セット EV3ソフトウェアまたはEV3プログラミングアプリ [ROBOTCソフトウェア(オプション)
NGSS
MS-ETS1-1. / MS-ETS1-2. / MS-ETS1-3. / MS-ETS1-4.
CSTA
2-A-2-1 / 2-A-7-1 / 2-A-7-3 / 2-A-7-4 / 2-A-5-5 / 2-A-3-9 / 2-A-6-10 / 2-C-4-12 / 2-D-5-16 / 2-I-1-20