キーレスエントリー
泥棒から車を保護するためにパスコードを使った仕組みをデザインします。
CONNECT(結びつける)
(5分)
最近では車の鍵を使わずにエンジンをかけられることを知っていましたか?スマートキーを使うと遠隔操作で車のエンジンをかけることができます。ボタンをいくつか押してブレーキやクラッチを踏むだけでエンジンがかかります。このレッスンでは、センサーと代数の理論を使って同じように車輪つきロボットを作動させる方法を学びます。次の質問を使って議論を促しましょう: - スマートキーとはどのような仕組みですか? - それぞれのキーが1つの車だけしか開けられないようにするにはどうすればよいでしょうか?子どもたちに、自分が見つけたアイデアを記録して共有するためのツールを選んでもらいましょう。文章、動画、画像、スケッチブック、あるいはそのほかのクリエイティブな手段を使って、自分の考えを記録してもらいます。
Construct(組み立てる)
(15~30分)
組み立て 子どもたちはロボットエデュケーターの基本モデルを組み立て、超音波センサーを前向きに取り付けます。
プログラミングに取り組む前に、下のリストを使って子どもたちに組み立てチェックをしてもらいましょう: - モーターからポートBとCの間は正しく配線されていますか? - 車輪は正しく取りつけられていますか? - 車輪は自由に回転していますか? - 超音波センサーとポート4の間は正しく配線されていますか?プログラム EV3 プログラミングソフトウェア(またはアプリ)で新規プロジェクトを作成してもらいます。ロボットがまず運転手の存在を検出し、次に運転手がエンジンスタートボタンを押したことを検出するようにプログラムしてもらいます。この例では: - 車内に座っている運転手のポケットにキーが入っている状態を再現するのに超音波センサーが使われています。- - インテリジェント ブロック ボタンはエンジンをスタートさせるのに使われます。 - インテリジェント ブロックのディスプレイは車のダッシュボードの代わりにメッセージを表示するのに使われます。車輪つきロボットがディスプレイにメッセージを表示できるようになったら、メッセージが繰り返し表示されるようにプログラムをループの中に入れるよう指示しましょう。サンプルプログラムでは1つのシーケンスに2つの入力値が使われています。子どもたちに、自分が見つけたアイデアを記録してみんなと共有するためのツールを選んでもらいましょう。文章、動画、画像、スケッチブックといったような、創造力を働かせる媒体を選ぶよう促してください。回答例ファイル名:CODING-06.EV3 (タブ:1)
人の検出とエンジンスタートを含むシーケンス 1.プログラムを開始します。2.超音波センサーが検出する物体からの距離が5 cm未満になるまで待機します。3.物体からの距離が5 cm未満になったらインテリジェント ブロックのディスプレイにメッセージを表示します。4.上ボタンが押されるまで待機します。5.インテリジェント ブロックのディスプレイにエンジンスタートのメッセージを表示します。6.3秒待機してからプログラムを終了します。
注意 詳しいサポートが必要な子どもたちにはロボットエデュケーターチュートリアルを見るように言いましょう。EV3 ソフトウェアでは:ロボットエデュケーター > ベーシック以降 > ロジックロボットエデュケーター > ベーシック(駆動ベース) > キューボイドで停止ロボットエデュケーター > ベーシック以降 > ループロボットエデュケーター > ベーシック以降 > スイッチロボットエデュケーター > ベーシック以降 > データ ワイヤーロボットエデュケーター > ベーシック以降> センサーブロック
CONTEMPLATE(よく考える)
(35分)
子どもたちに、2つの入力を同時に使う課題に挑戦してもらいます。正しい組み合わせの入力値を検出した場合のみにロボットの操作が有効になるプログラムを作るように指示してください。子どもたちに最初のプログラムについてふりかえってもらいましょう。どうすればロボットを起動するプログラムが作れるかたずねてみてください。ロジック操作ブロックの使い方を解説します。ロジック操作ブロックの機能がベン図に似ていることを説明してください。ベン図にはバリエーションが何通りもあり、これがEV3 ソフトウェアのロジック操作ブロックに共通していることに触れてください。この際、下の画像とそれによって構成される結果を説明するとよいでしょう。
EV3 ソフトウェアのロジック操作ブロックは、ブロックに設定された条件にしたがって真/偽出力を構成します。例えば、「A and B」の条件ではAとBの両方が真となった場合にのみ真の出力を実行します。回答例ファイル名:CODING-06.EV3 (タブ:2)
車を起動する2つの同時条件 1.プログラムを開始します。2.4cm未満の距離に物体を検出しすると超音波センサーが真の結果を送信します。3.上ボタンが押されると、インテリジェント ブロック ボタンが真の結果を送信します。4.ロジック操作ブロックは2つの真メッセージを受信するまで待機し、受信があると真メッセージをロジックスイッチに送信します。5.ロジックスイッチは、ロジック操作ブロックから受信したメッセージを比較します。真である場合はEV3 ブロックが2つのサウンドを出力します。偽である場合は何も起こりません。6.ステップ2~5を繰り返します。
発展オプション 子どもたちに、3つの条件をもつパスコードを再現したプログラムをデザインしてもらいます。3つの条件すべてが真である場合にのみ車が起動することを子どもたちが理解しているかどうか確認してください。例:キーまたはスマートキーそのものが車内にある。ブレーキまたはクラッチが押される。エンジンスタートボタンが押される。タッチセンサーを接続してクラッチやブレーキを再現するとよいでしょう。車を起動する3つの条件すべてが満たされない場合にエラーメッセージ を表示するプログラムをデザインしてもらいましょう。回答例ファイル名:CODING-06.EV3 (タブ:3)
車を起動する3つの同時条件 1.プログラムを開始します。2.4cm未満の距離に物体を検出しすると超音波センサーが真の結果を送信します。3.タッチセンサーが押されると真の結果が送信されます。4.インテリジェント ブロック ボタンの真ん中のボタンが押されると、真の結果が送信されます。5.ロジック操作ブロックは2つの真メッセージ(超音波センサーとタッチセンサーから送信される2つのメッセージ)を受信するまで待機し、受信があると真メッセージをロジックスイッチに送信します。6.ロジック操作ブロックは2つの真メッセージ(最初のロジック操作ブロックと、インテリジェントブロックボタンから送信される2つのメッセージ)を受信するまで待機し、受信があると真メッセージをロジックスイッチに送信します。7.ロジックスイッチは、ロジック操作ブロックから受信したメッセージを比較します。真である場合はEV3 ブロックが2つのサウンドを出力します。偽である場合は何も起こりません。6.ステップ2~7を繰り返します。
発表する 子どもたちに、自分の作品や独自の考え、学習の成果を表現するのに最適だと思うツールを自由に選んでもらいましょう 。文章、動画、画像、スケッチブックといったような、創造力を働かせる媒体を選ぶよう促してください。子どもたちはデータ ワイヤーを使ってみてどう思ったでしょうか?みんなに感想を言ってもらいましょう。プログラムがごちゃごちゃにならないよう、ワイヤーを移動して整理できることを指摘してください。待機ブロックとロジック操作についてディスカッションを行います。待機ブロックは通常1つのセンサーと合わせて使われ、ロジック操作ブロックは複数のセンサーを同時に使うことができると説明します。評価 プログラミング的思考スキルの具体的な評価基準は「評価」の章に掲載されています。
Continue(さらに続ける)
(45分)
テキストベースのプログラミングを使用する 様々なプログラミング言語を比較できるよう、子どもたちにテキストベースのプログラミング言語について知ってもらいましょう。
回答例ファイル名:CODING-06_1.C
#pragma config(StandardModel, “EV3 _ REMBOT”)
/*
Create a program that shows how a keyless ignition works. The
Ultrasonic Sensor welcomes the driver. The Touch Sensor works the
ignition.
*/
task touchTask()
{
//Wait for the touch sensor to be pressed.
while(getTouchValue(touchSensor) == 0)
{
//Do Nothing.
sleep(10);
}
//Display Text on the LCD Screen.
eraseDisplay();
displayCenteredBigTextLine(4, “Ignition”);
//Display text for 3 seconds.
sleep(3000);
}
task main()
{
//Start the second task to monitor the touch sensor.
startTask(touchTask);
//Wait for the sonar sensor to see an object that is less than or equal to 5cm away.
while(getUSDistance(sonarSensor) >= 5)
{
//Do Nothing.
sleep(10);
}
//Display text on the LCD Screen.
eraseDisplay();
displayCenteredBigTextLine(4, “Welcome”);
//Display text for 3 seconds.
sleep(3000);
}
注意警告安全ではない可能性があります。
以下はテキストベースのプログラミング言語ROBOTCを使用したプログラムの例です。レゴ マインドストーム EV3と互換性があるそのほかのテキストベースのプログラミング言語を使用しても構いません。レゴ エデュケーションはROBOTCプラットフォームの所有権をもたず、ユーザー体験や使用される技術の品質に対するサポートまたは保証は提供いたしません。セットアップに必要な情報はROBOTCによって提供されています:robotc.net他のプログラミング言語を使用した後は必ずレゴ マインドストーム EV3 ブロックファームウェアを再インストールすることをおすすめします。EV3 ブロックの再インストール方法
そのほかのプログラミング言語
教師用サポート
以下のことに取り組みます:簡単なブール論理(AND、OR、NOTなど)と、回路やプログラミングでの用途を理解する複数のインプットを組み合わせ て使用する
教育版 レゴ® マインドストーム 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-5-7 / 2-A-3-9 / 2-A-6-10 / 2-C-7-11 / 2-C-4-12 / 2-D-5-16 / 2-I-1-20