[[2006a/C3/課題2右]] -とにかく反転しとこう。 *反転プログラム [#s052f87f] #define THRESHOLD 40 //光の強さを定義 #define TURN_TIME 200 //旋回にかかる時間 task main () { SetSensor(SENSOR_2,SENSOR_LIGHT); SetSensor(SENSOR_1,SENSOR_TOUCH); SetSensor(SENSOR_3,SENSOR_TOUCH); OnFwd(OUT_A+OUT_C); while (true){ if (SENSOR_2 < THRESHOLD) { // 黒線上にいるとき OnFwd(OUT_A); Off(OUT_C); } else { // 黒線から外れたとき Off(OUT_A); OnFwd(OUT_C); } } while(true) //反転するプログラム { if ((SENSOR_1 == 1) || (SENSOR_3 == 1)){ // どちらかのセンサーが触れたときOnRev(OUT_A+OUT_C); Wait(50) while(true) //反転するプログラム{ if ((SENSOR_1 == 1) || (SENSOR_3 == 1)){ // 片方のセンサーが触れたとき OnRev(OUT_A+OUT_C); Wait(50) OnFwd(OUT_A); OnRev(OUT_C); Wait(TURN_TIME); }