[[2012b/Member]] プログラムを貼り付ける時は整形済みテキストを使う 詳しく加工丁寧すぎるくらいがいい 写真は小さめで コマンド convert -geometry サイズ 元のファイル *ライントレースde空き缶運び [#fc3e4d1d] *ロボットの紹介 [#n619a93f] *コースの攻略法 [#y4d4ac72] *プログラムの説明 [#e15a1eb1] #define off Off(OUT_BC); #define TURN_TIME 500 //1/4回転の時間 #define BLACK 31 //下限 #define WHITE 62 //上限 #define go OnFwd(OUT_BC,); #define left OnFwd(OUT_B,35);Off(OUT_C); #define right OnFwd(OUT_C,35);Off(OUT_B); #define THRESHOLD 46 #define lleft OnFwd(OUT_B,35);OnRev(OUT_C,35); #define rright OnFwd(OUT_C,35);OnRev(OUT_B,35); task main() { SetSensorLight(S1); int n=0; long t0 = CurrentTick(); long t1 = CurrentTick(); 変数を定義する while(CurrentTick()-t0 <= 5350) { if (SENSOR_1 < 35){OnFwd(OUT_B,20);Off(OUT_C);} else {if(SENSOR_1 < 42){OnFwd(OUT_B,20);OnRev(OUT_C,20); } else if (SENSOR_1 < 50){OnFwd(OUT_BC,20);} else {OnFwd(OUT_C,20);Off(OUT_B);} } } 速度を早くしすぎると脱線する確率が高くなるので最初だけ速度を遅くしておく while (true) { while(CurrentTick()-t1 <= 43500) { while(n<5000) { if (SENSOR_1 < 35){left;n++; } else {if(SENSOR_1 < 42){lleft} else if (SENSOR_1 < 50){go} else if (SENSOR_1 < 56){right} else {rright} n=0; } } Wait(1000); rright; Wait(5000); go Wait(200); n=0; } 交差点用プログラム off Wait(500); OnFwd(OUT_C,25);OnRev(OUT_B,25); Wait(1100); off Wait(500); OnRev(OUT_BC,30); Wait(900); off rright Wait(1000); 缶を指定の場所に置くためにプログラム while(true) { if (SENSOR_1 < 35){left} else {if(SENSOR_1 < 42){lleft} else if (SENSOR_1 < 50){go} else {right} } } 缶をおいたあとのライントレース用プログラム } } *まとめ [#yd2e7fd2]