衝突回避支援
車両と道路上にあるものとの衝突事故を防止する仕組みをデザインします。
CONNECT(結びつける)
(5分)
次の質問を使って議論を促しましょう: - 車が障害物にぶつかる状況にはどのようなものが考えられますか? - 障害物との衝突を避けるためには、どのような要因に気をつければよいでしょうか? - 人口の多い地域で交通渋滞の原因となるのはどんなことでしょうか?子どもたちに、自分が見つけたアイデアを記録して共有するためのツールを選んでもらいましょう。文章、動画、画像、スケッチブック、あるいはそのほかのクリエイティブな手段を使って、自分の考えを記録してもらいます。
Construct(組み立てる)
(15~30分)
組み立て 子どもたちはロボットエデュケーターの基本モデルを組み立て、超音波センサーを前向きに取り付けます。
プログラミングに取り組む前に、下のリストを使って子どもたちに組み立てチェックをしてもらいましょう: - モーターからポートBとCの間は正しく配線されていますか? - 車輪は正しく取りつけられていますか? - 車輪は自由に回転していますか? - 超音波センサーとポート4の間は正しく配線されていますか?プログラム 超音波センサーの基本的な使い方を紹介します。待機ブロックの働きと、超音波センサーと合わせて使う方法を実演してください。車輪つきロボットが前進(または後退)している際に道にある障害物を検出できるようにするにはどのようなプログラムを作ればよいか子どもたちにたずねてみましょう。超音波センサーが測定した距離に基づいて、ロボットが特定の位置で停止するプログラムの作成に取り組みます。子どもたちに、自分が見つけたアイデアを記録してみんなと共有するためのツールを選んでもらいましょう。文章、動画、画像、スケッチブックといったような、創造力を働かせる媒体を選ぶよう促してください。
回答例ファイル名:CODING-05.EV3 (タブ:1)
障害物の検出と停止 1.プログラムを開始します。2.両方のモーターを速度50でオンにします。3.超音波センサーが検出する障害物からの距離が20 cm未満になるまで待機します。4.両方のモーターをオフにします。
注意 詳しいサポートが必要な子どもたちにはロボットエデュケーターチュートリアルを見るように言いましょう。EV3 ソフトウェアでは:ロボットエデュケーター > ベーシック(駆動ベース) > キューボイドで停止準備 次のタスクへ進む前に、ロボットが通らなければならないルートに印をつけ、タスクを完了するのに必要なスペースが十分に確保されていることを確認してください。大きなテーブルや床の上を利用するとよいでしょう。超音波センサーを使って様々なものを検出できるかどうか試してもらいましょう。レゴ® ブロックで作った立方体ブロックを使うこともできます。
CONTEMPLATE(よく考える)
(35分)
道路で車を運転しているとき、運転手は道に障害物を見つけると速度を落として停車します。子どもたちに、ロボットが同じ動作をするようにプログラムしてもらいましょう。もし超音波センサーが: - 10 cm 未満の距離に障害物を検出したら、ロボットを停止させます - 10~20 cm の距離に障害物を検出したら、ロボットを減速させます - 何も検出されない場合はそのまま最高速度で前進させます
回答例ファイル名:CODING-05.EV3 (タブ:2)
障害物の検出と後退 1.プログラムを開始します。2.両方のモーターを速度50でオンにします。3.超音波センサーが10 cm未満の距離に障害物を検出した場合、両方のモーターをオフにします。-4.超音波センサーが20 cm未満の距離に障害物を検出した場合、両方のモーターを速度10でオンにします。-5.両方のモーターを速度50でオンにします。6.ステップ3~7を繰り返します。
発展オプション すべてのグループに集合してもらいます。作ったロボットを(渋滞している車の列のように)ランダムな間隔をあけて一列に並べてもらいます。同時にプログラムを開始してもらい、何が起こるかを観察しましょう。 • すべてのロボットが(順調に進んでいる車の列のように)同じ速度で前進し、車間距離を保つようにプログラムを調整してもらいます。発表する 子どもたちに、自分の作品や独自の考え、学習の成果を表現するのに最適だと思うツールを自由に選んでもらいましょう。文章、動画、画像、スケッチブックといったような、創造力を働かせる媒体を選ぶよう促してください。プログラミングの効率性という概念について話し合ってください。グループ内で いくつのバリエーションを考えることができたでしょうか?問題に対するいろいろな解決方法を比較してみましょう。評価 プログラミング的思考スキルの具体的な評価基準は「評価」の章に掲載されています。
Continue(さらに続ける)
(45分)
テキストベースのプログラミングを使用する 様々なプログラミング言語を比較できるよう、子どもたちにテキストベースのプログラミング言語について知ってもらいましょう。
#pragma config(Sensor, S4, sonarSensor, sensorEV3 _ Ultrasonic)
#pragma config(Motor, motorB, leftMotor, tmotorEV3 _ Large,
PIDControl, driveLeft, encoder)
#pragma config(Motor, motorC, rightMotor, tmotorEV3 _ Large,
PIDControl, driveRight, encoder)
/*
Create a program that drives the robot forward until the Ultrasound
Sensor sees an object.
The robot then stops.
*/
task main()
{
//Set motor speed at 50% (Drive Forwards).
setMotorSpeed(motorB, 50);
setMotorSpeed(motorC, 50);
while(getUSDistance(sonarSensor) < 20)
{
//Keep going until the Ultrasonic Sensor sees a value less
than 20cm.
}
//Once the Ultrasonic Sensor sees a value less than 20cm.
//Set motor speed to 0% (Stop).
setMotorSpeed(motorB, 0);
setMotorSpeed(motorC, 0);
}
注意警告安全ではない可能性があります。
以下はテキストベースのプログラミング言語ROBOTCを使用したプログラムの例です。レゴ マインドストーム EV3と互換性があるそのほかのテキストベースのプログラミング言語を使用しても構いません。レゴ エデュケーションはROBOTCプラットフォームの所有権をもたず、ユーザー体験や使用される技術の品質に対するサポートまたは保証は提供いたしません。セットアップに必要な情報はROBOTCによって提供されています:robotc.net他のプログラミング言語を使用した後は必ずレゴ マインドス トーム EV3 ブロックファームウェアを再インストールすることをおすすめします。EV3 ブロックの再インストール方法
回答例ファイル名:CODING-05_1.C
教師用サポート
以下のことに取り組みます:ループに対する理解を発展させる
教育版 レゴ® マインドストーム 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-2 / 2-A-7-3 / 2-A-7-4 / 2-A-5-5 / 2-A-5-6 / 2-A-3-9 / 2-A-6-10 / 2-C-7-11 / 2-C-4-12 / 2-D-5-16 / 2-I-1-20