プログラミング入門第4回 ~レゴロボットのプログラミング3~ 2008/6/3 プログラミング入門第4回 ~レゴロボットのプログラミング3~ 高畠俊徳,小林 学 二宮 洋,鈴木 誠 toshi@info.shonan-it.ac.jp kobayasi@info.shonan-it.ac.jp ninomiya@center.shonan-it.ac.jp msuzuki@info.shonan-it.ac.jp
0 来週からの講義の教室 本日までの教室 来週からの教室 1201教室の学生 1213教室 1204教室の学生 1207教室 IDはa083001など パスワードは,一回目のガイダンス時に設定したもの まだ設定していない学生や,忘れた学生は計算機準備室に行くこと
1 変数を使う 1.1 変数 非常に重要 変数:数や文字を入れる入れ物 自分で好きな名前を付けられる(半角英数字だけ)
1.2 変数を使った簡単なストップウォッチ ①タッチセンサー1を押し続ける ②時間が計り始められる ③タッチセンサー1を離すと時間が0に戻る
1.2 変数を使った簡単なストップウォッチ ③「設定」を移動 counter1という名前の変数が作成され,値が1.0に設定される 1.2 変数を使った簡単なストップウォッチ ③「設定」を移動 counter1という名前の変数が作成され,値が1.0に設定される ①「スモールブロック」をクリック ②「変数」をクリック」
1.2 変数を使った簡単なストップウォッチ 0.0に設定される ①クリック ②0.0と入力し,OKをクリック (変数が0.0に設定される) 1.2 変数を使った簡単なストップウォッチ 0.0に設定される ①クリック ②0.0と入力し,OKをクリック (変数が0.0に設定される) ③追加する
1.2 変数を使った簡単なストップウォッチ ①「スモールブロック」の「通信」をクリック ④クリック ③クリック ②「値の表示」を移動 1.2 変数を使った簡単なストップウォッチ ①「スモールブロック」の「通信」をクリック ④クリック ③クリック ②「値の表示」を移動 ⑤「変数」→「counter1」を選択する. 「OK」をクリック 「値の表示」で,RCXのディスプレイに値(1)が表示される.
1.2 変数を使った簡単なストップウォッチ 「値の表示」で,RCXのディスプレイに変数counter1の値が表示される. 1.2 変数を使った簡単なストップウォッチ 「値の表示」で,RCXのディスプレイに変数counter1の値が表示される. ②「ウェイト」の中の「ウェイト」を移動 (1.0 秒間停止する命令) ①今までと同様の方法で追加する
1.2 変数を使った簡単なストップウォッチ 変数counter1の値が1.0増える ①「スモールブロック」の中の「変数」→「追加」を移動 1.2 変数を使った簡単なストップウォッチ 変数counter1の値が1.0増える ①「スモールブロック」の中の「変数」→「追加」を移動 ②プログラムを実行させてみよう
1.3 スピードを変えるライントレースカー ①図のようにプログラム作成 ② ②「スモールブロック」の中の「変数」→「設定」を移動 ③ 1.3 スピードを変えるライントレースカー ①図のようにプログラム作成 ② ②「スモールブロック」の中の「変数」→「設定」を移動 ③ ③「スモールブロック」の中の「変数」→「追加」を移動
1.3 スピードを変えるライントレースカー ①「スモールブロック」の中の「通信」→「値の表示」を移動 ① 1.3 スピードを変えるライントレースカー ①「スモールブロック」の中の「通信」→「値の表示」を移動 ① ②「値の表示」の設定を変更し,「変数」→「counter1」とする (7ページと同じ方法で) ②
1.3 スピードを変えるライントレースカー ①「スモールブロック」の中の「パワー」→「パワーの設定」を移動 ① 1.3 スピードを変えるライントレースカー ①「スモールブロック」の中の「パワー」→「パワーの設定」を移動 ① ②「パワーの設定」の設定を変更し,「変数」→「counter1」とする (7ページと同じ方法で) ② ③プログラムを実行してみよう
2. 課題 次の課題の車をプログラミング及び実行しなさい [課題1]タッチセンサー1が押された回数をディスプレイに表示 [課題2]タッチセンサー1を押すとスピードが増え,タッチセンサー3を押すとスピードが減るライントレースカー [課題3]本当のストップウォッチと同じ動作をするプログラム (タッチセンサー1でスタート・ストップ.タッチセンサー3で0に戻る) [課題4]始めは前向きに進むライントレースカー.タッチセンサーを1度押すと後ろ向きに進む.もう一度押すと前向きに戻る. (動画参照)
3. 課題の解答例 [課題1]1秒前進,0.5秒左ターンを繰り返す [課題2]左ターンを繰り返し,ボタンを押している間だけ前進する [解答1] [解答2]
3. 課題の解答例 [課題3]前進し,衝突したら1秒バックし,右へ障害物をよける [課題4]シートの黒枠より内側を走り続ける(ライントレースではない) [解答3] [解答4]
3. 課題の解答例 [解答5] [課題5]ライントレースカー(障害物に衝突したら1秒バックし,右へ障害物をよけ,再びもとのラインに戻る)
3. 課題の解答例 [課題6]タッチセンサー1,3,ライトセンサー2をつける.センサー1だけ押すと左ターン,センサー3だけ押すと右ターン.センサー1,3両方押すと前進.両方押していないときはライントレースする [解答6]
[課題7]2つのライトセンサーを使った次の動きをするライントレースカー 直進 [解答7] 右折 左折
3. 課題の解答例 [解答8] [課題8]ライントレースカー(前方が暗かったら1秒バックし,右へ障害物をよけ,再びもとのラインに戻る)