Presentation is loading. Please wait.

Presentation is loading. Please wait.

2E37. ・分岐路別に動作を指 定 ( T 字路で右折するルート を通る) ⇒ 誤作動の リスク軽減 ⇒ プログラムの 簡略化.

Similar presentations


Presentation on theme: "2E37. ・分岐路別に動作を指 定 ( T 字路で右折するルート を通る) ⇒ 誤作動の リスク軽減 ⇒ プログラムの 簡略化."— Presentation transcript:

1 2E37

2 ・分岐路別に動作を指 定 ( T 字路で右折するルート を通る) ⇒ 誤作動の リスク軽減 ⇒ プログラムの 簡略化

3 1. Switch 文によるプログラムの簡略化 2. 基本直進時の軌道修正 3. 左折、右折プログラム 4. 擬似パルス波によるスピード制御

4 (例 switch(input()){ case 1: 直進関数 case 2: 右折関数 case 3: 左折関数 センサーからの入力を 10 進数にし、 if,while の 代わりに switch 文を用いることによってプログラ ムを 簡略化した (センサーの入力を 4bit 移動 int input(){ return (PORTB & 0xF0)>>4; } 条件分岐が分りやすくプログラム全体が格段 に 見やすくなった

5 case 1:while(input()!=3){// 軌道修正左折 // PORTB=4; } break; case 2:while(input()!=3){// 軌道修正右折 // PORTB=1; } break; 前二つのセンサーのどちらかが ラインから外れた場合、ライン 上に 戻るまでトレーサーをカーブさ せる

6 分岐路別に動作を指定 ①左折 ②右折 ③左折 ④右折 ⑤左折 条件式を省略でき、プロ グ ラムの簡略化に繋がる 1 2 2 1 32 45 誤作動のリスクが減 る

7 while(input()!=3){ PORTB=6; PORTB=0; } タイヤを回す出力 ( この場合 6) のあとに出力を 0 にす る ことによって擬似的なパルス波を発生させ、タイヤ を回 すスピードを下げた それにより 6 0 6 0 6 センサーの読み取り精度が上がった

8 ・ 分岐路を上手く曲がることができなかっ た 原因:センサー 4 つが全て理想的に反応した場合 を想 定したプログラムだったためセンサーが一つでも 誤反 応をするとプログラムが破綻してしまう 対処:センサーの反応をひとつひとつを独立させ て分 岐路を判断させるプログラムにすれば良かった


Download ppt "2E37. ・分岐路別に動作を指 定 ( T 字路で右折するルート を通る) ⇒ 誤作動の リスク軽減 ⇒ プログラムの 簡略化."

Similar presentations


Ads by Google