*図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]

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS