クルーズコントロール
CONNECT(結びつける)
次の質問にすべて答えられるようにしましょう: - 運転中に運転手がストレスを感じる原因にはどのようなものがあるでしょうか? - 長時間運転をする運転手の安全性を向上するために何ができるでしょうか?これまでに学んだことについて考え、記録しましょう。自分の言葉で問題を説明します。自分のアイデアや発見したことをいろいろな方法で記録しましょう。
![set-cruise-controle](https://assets.education.lego.com/v3/assets/blt293eea581807678a/bltdf763a25f7ce12c3/5fc4d02b97f9f35d942efa32/set-cruise-controle-acba3ad0d96d1ce1bcf894e94774eeb1.png?locale=ja-jp&auto=webp&format=jpeg&width=1800&quality=90&fit=bounds)
Construct(組み立てる)
組み立て まずはこのモデルを組み立てます。モデルにタッチセンサーを2つ取りつけます。
![ev3-robot-color-sensor](https://assets.education.lego.com/v3/assets/blt293eea581807678a/blta3be339b878969c6/5ebea9722de1237ddb712397/ev3-robot-color-sensor.png?locale=ja-jp&auto=webp&format=jpeg&width=1800&quality=90&fit=bounds)
プログラム 現代の車の多くに搭載されているようなクルーズコントロールプログラムを作りましょう。クルーズコントロールのある車のハンドルについているボタンを再現するためにタッチセンサーを2つ使います。タッチセンサーを押すとロボットの速度が10ずつ上がっていく仕組みです。変数ブロックを使って「設定」速度を定義し、これに10を足していきます。ステアリングブロックのモードが「条件つきのオン」(秒数、角度、回転数などで制限)ではなくただの「オン」になっていることを確認します。これまでに学んだことについて考え、記録しましょう。このタスクの擬似コードについて説明してください。自分のアイデアや発見したことをいろいろな方法で記録しましょう。下のブロックをプログラムに組み入れる方法を考えてください:
![layout-ex-cbs-09](https://assets.education.lego.com/v3/assets/blt293eea581807678a/blt25f9e2869ca8ebeb/5ebea96e5965186338548054/layout-ex-cbs-09.png?locale=ja-jp&auto=webp&format=jpeg&width=1800&quality=90&fit=bounds)
CONTEMPLATE(よく考える)
プログラムの改善:別のタッチセンサーを押すとロボットが減速するようにしましょう。2つ目のループとスイッチブロックを足すとこの機能を作ることができます。2つ目のループの中には2番目のタッチセンサーと、今度は足し算ではなく引き算を行う数学ブロックを入れます。2つのプログラミング文を同時に実行するマルチタスクを使用することを忘れないようにしましょう。これまでに学んだことについて考え、記録しましょう。このタスクの擬似コードについて説明してください。自分のアイデアや発見したことをいろいろな方法で記録しましょう。下のブロックをプログラムに組み入れる方法を考えてください:
![multitasking](https://assets.education.lego.com/v3/assets/blt293eea581807678a/blt4b4a6226396b55d8/5ebea96fadecb845b74e7204/multitasking.jpg?locale=ja-jp&auto=webp&format=jpeg&width=1800&quality=90&fit=bounds)
発展オプション プログラムの改善:ロボットの速度(モーター出力)をEV3 ブロックのディスプレイに表示されるようにしましょう。マイ ブロックを使うとプログラミング画面のスペースを節約することができ、ほかのプログラムでも同じサブルーチン(マイ ブロック)を再利用できるので便利です。マイ ブロックの使い方を知りたい場合は先生に手伝ってもらいましょう。これまでに学んだことについて考え、記録しましょう。このタスクの擬似コードについて説明してください。自分のアイデアや発見したことをいろいろな方法で記録しましょう。発表する 下のような質問をしてみてください:どこが難しかったですか?プログラムについて驚いたことはありましたか?プログラムをもっと合理化することはできますか?もっと少ないブロックで同じものが作れますか?もっと効率的にプログラムを作る方法はありませんか?実生活でこのプログラムをどのように使うことができますか?下のブロックをプログラムに組み入れる方法を考えてください:
![layout-ex-cbs-10](https://assets.education.lego.com/v3/assets/blt293eea581807678a/blt8f9a567dbc21165e/5ebea96ff5067d7a8395e52f/layout-ex-cbs-10.png?locale=ja-jp&auto=webp&format=jpeg&width=1800&quality=90&fit=bounds)
Continue(さらに続ける)
このアクティビティの課題に使えるテキストベースのプログラミング言語について調べ、異なるプログラミング言語を用いた解答例を比較しましょう。