Transcript Document

2008/5/13
プログラミング入門第2回
~レゴロボットのプログラミング~
高畠俊徳,小林
二宮 洋,鈴木
学
誠
[email protected]
[email protected]
[email protected]
[email protected]
1
1 前回の復習
1.1 プログラムの制御構造1:順次
非常に重要
命令1
プログラムの基本ルール1(順次):
命令は一度に一つだけ実行され,
一つずつ(下に)順々に実行される
命令2
命令3
命令4
2
1.2 プログラムの制御構造2:反復(ループ,リピート)
非常に重要
反復の始まり
反復の終わり
プログラムの基本ルール2(反復):
反復の終わりまで来たら反復の
始まりまで戻る.
ある終了条件を満たすまで反復
は繰り返される.
注:命令が一つずつ実行される
のは変わらない
終了条件が書いてある(ここでは無限回繰り返す)
ここでは「前進」→「左ターン」→「前進」→「左ターン」・・・を繰り返す
3
1.3 プログラムの制御構造3:条件分岐
非常に重要
プログラムの基本ルール3(条件分岐):
ある条件を満たした場合には,「は
い」の方が実行され,満たしていない
場合には「いいえ」の方が実行される.
注:一度に実行されるのはどちらか
一方だけ.
「はい」の
とき実行
条件が記述されている
(センサー1とつながったタッチ
センサーがおされている
か?)
「いいえ」の
とき実行
4
2. いくつかの例題
次のいくつかの例を実行してみよう
(注:プログラムを理解しながら作成すること)
[例1]
[例2]反応をすばやくする
時間を0.1秒に
5
[例3]ライントレースカー(基本形)
図のようにライトセンサーを
センサーポート2番につなぐ
6
[例3]ライントレースカー(基本形)
①クリック
②「ライト」をクリック
③「次へ」をクリック
7
[例3]ライントレースカー(基本形)
①2番をクリック
②「次へ」をクリック
③「明るい」をクリック
④「次へ」をクリック
8
[例3]ライントレースカー(基本形)
2番のライトセンサーが明るいか?
①「終了」をクリック
②実行させてみよう
(下が黒いところから始めること)
9
[例3]ライントレースカー(基本形)
 ライトセンサが明るい(下が白い)時、左に
曲がる(左図)
 ライトセンサが暗い(下が黒い)時、右に曲
がる(右図)
 上の2つの動作を繰り返す。
⇒黒線を辿って前進する。
10
[例4]ライントレースカー(衝突するとストップ)
 1番のセンサーに接続されたボタンを押
すと,何もしない.(ストップする)
 ボタンを押さないと,黒い線をライントレー
ス.
11
[例5]前方が暗いとバック
図のようにライトセンサーをつなぐ
2番のライトセン
サーが暗いか?
12
[例6]リモコンカー
図のようにタッチセンサーを2つつなぐ
13
3. 課題
次の課題の車をプログラミング及び実行しなさい
[課題1]1秒前進,0.5秒左ターンを繰り返す
[課題2]左ターンを繰り返し,ボタンを押している間だけ前進する
[課題3]前進し,衝突したら1秒バックし,右へ障害物をよける
[課題4]シートの黒枠より内側を走り続ける(ライントレースではな
い)
[課題5]ライントレースカー(障害物に衝突したら1秒バックし,右
へ障害物をよけ,再びもとのラインに戻る)
[課題6]タッチセンサー1,3,ライトセンサー2をつける.センサー
1だけ押すと左ターン,センサー3だけ押すと右ターン.セ
ンサー1,3両方押すと前進.両方押していないときはライ
ントレースする
[課題7]次ページ
14
[課題7]2つのライトセンサーを使った次の動きをするライント
レースカー
センサー1
センサー3
センサー接続方法
15
[課題7]2つのライトセンサーを使った次の動きをするライント
レースカー
右折
2つのセンサー
が両方とも黒線
上の時
直進
2つのセンサー
が境界線をまた
いでいる時
左折
2つのセンサー
が両方とも白の
時
16