*図1 (簡単ボット) [#a666b1bd] #ref(ciec-pcc-2006/ciec-2006-1.pdf); *図2 (プログラム例) 黒い線に沿って動くロボット [#u710031b] #ref(ciec-pcc-2006/ciec-2006-2.pdf); **光センサを一つ使用した場合 [#w3990fa1] #define THRESHOLD 40 // 黒と白の閾値を設定 task main () { SetSensor(SENSOR_1,SENSOR_LIGHT); // センサ1は光センサ while(true){ // 無限ループ if (SENSOR_1<THRESHOLD){ // 光センサが黒線上にあるときは OnFwd(OUT_A); // 右にターン Off(OUT_C); } else { // 光センサが黒線上にないときは OnFwd(OUT_C); // 左にターン Off(OUT_A); } /} } ** 光センサを2個使用した場合 [#ofe4104d] #define THRESHOLD 40 // 黒と白の閾値を設定 task main () { SetSensor(SENSOR_1,SENSOR_LIGHT); // センサ1(左)は光センサ SetSensor(SENSOR_3,SENSOR_LIGHT); // センサ3(右)も光センサ while(true){ // 無限ループ if (SENSOR_1<THRESHOLD){ if (SENSOR_3<THRESHOLD){ // 光センサが2個とも黒線上 OnFwd(OUT_A); // にある場合は直進 OnFwd(OUT_C); } else { // 左だけ黒線上の場合は Off(OUT_A); // 左にターン OnFwd(OUT_C); } } else { if (SENSOR_3<THRESHOLD){ // 右だけ黒線上の場合は OnFwd(OUT_A); // 右にターン Off(OUT_C); } else { // 2個とも黒線上にない Off(OUT_A); // 場合には停止 Off(OUT_C); } } } } *授業工程表の例 [#k7e29e57]