[[2017a/Member]] #contents *課題について [#a519caec] **右折ルート [#y0d1034e] *ロボットについて [#je0a9760] *プログラムについて [#g50bed2d] #define white 50 #define white_gray 48 #define gray 40 #define black_gray 37 #define black 35 #define go_forward OnFwd(OUT_AC); #define turn_left0 Off(OUT_A);OnFwd(OUT_C); #define turn_left1 OnRev(OUT_A);OnFwd(OUT_C); #define turn_right0 Off(OUT_C);OnFwd(OUT_A); #define turn_right1 OnRev(OUT_C);OnFwd(OUT_A); sub walk_right() { ClearTimer(0); while(FastTimer(0)<15) if(SENSOR_2>white_gray){ turn_left1; ClearTimer(0); } else if(SENSOR_2>gray){ turn_left0; ClearTimer(0); } else if(SENSOR_2>black_gray){ go_forward; ClearTimer(0); } else if(SENSOR_2>black){ turn_right0; ClearTimer(0); } else{ turn_right1; } Off(OUT_AC); } sub walk_left() { ClearTimer(0); while(FastTimer(0)<15) if(SENSOR_2>white_gray){ turn_right1; ClearTimer(0); } else if(SENSOR_2>gray){ turn_right0; ClearTimer(0); } else if(SENSOR_2>black_gray){ go_forward; ClearTimer(0); } else if(SENSOR_2>black){ turn_left0; ClearTimer(0); } else{ turn_left1; } Off(OUT_AC); } task main() { SetSensor(SENSOR_2,SENSOR_LIGHT); walk_right(); PlaySound(SOUND_UP); OnFwd(OUT_AC); Wait(30); Off(OUT_AC); walk_left(); PlaySound(SOUND_DOWN); Wait(100); OnFwd(OUT_C); Wait(150); Off(OUT_AC); walk_left(); PlaySound(SOUND_UP); OnFwd(OUT_AC); Wait(50); Off(OUT_AC); walk_left(); Off(OUT_AC); PlaySound(SOUND_UP); OnFwd(OUT_AC); Wait(50); Off(OUT_AC); walk_right(); PlaySound(SOUND_DOWN); Wait(100); OnFwd(OUT_AC); Wait(50); Off(OUT_AC); walk_right(); PlaySound(SOUND_DOWN); Wait(100); OnFwd(OUT_AC); Wait(50); Off(OUT_AC); walk_right(); PlaySound(SOUND_UP); OnFwd(OUT_A); Wait(280); Off(OUT_AC); ClearTimer(0); while(FastTimer(0)<30) if(SENSOR_2>white_gray){ turn_left1; ClearTimer(0); } else if(SENSOR_2>gray){ turn_left0; ClearTimer(0); } else if(SENSOR_2>black_gray){ go_forward; ClearTimer(0); } else if(SENSOR_2>black){ turn_right0; ClearTimer(0); } else{ turn_right1; } Off(OUT_AC); OnFwd(OUT_A); Wait(270); walk_right(); PlaySound(SOUND_UP); OnFwd(OUT_AC); Wait(30); Off(OUT_AC); walk_left(); PlaySound(SOUND_DOWN); Wait(100); OnFwd(OUT_C); Wait(150); Off(OUT_AC); walk_left(); PlaySound(SOUND_UP); OnFwd(OUT_AC); Wait(50); Off(OUT_AC); walk_left(); PlaySound(SOUND_UP); OnFwd(OUT_AC); Wait(50); Off(OUT_AC); walk_right(); PlaySound(SOUND_UP); OnFwd(OUT_A); Wait(280); Off(OUT_AC); walk_right(); PlaySound(SOUND_DOWN); }