***[[学習ノート Marbled Rockfish>2005/A5/学習ノート Marbled Rockfish]] [#p6425e03]
***課題3:ラインをトレースするロボット[[課題3右>2005/A5/課題3右]] [#s9f82292]

*ラインをトレースするプログラム『鬼ごっこ』 [#ua688a78]
 作成者:Marbled Rockfish

**ラインをトレースしながら前進し(追いかけ)、前後のタッチセンサーにぶつかったら(捕まえたら)反転し、またトレースしながら前進するプログラムです。 [#he7f897c]

 #define go_straight OnFwd(OUT_A+OUT_C);                          /前進
 #define turn_right SetPower(OUT_C,6);OnFwd(OUT_A);OnRev(OUT_C);  /モーターパワーC=6,右旋回
 #define turn_left SetPower(OUT_A,6);OnFwd(OUT_C);OnRev(OUT_A);   /モーターパワーA=6,左旋回
 
 task main ()
 {
     SetSensor(SENSOR_1, SENSOR_LIGHT);      /センサー1:光センサー
     SetSensor(SENSOR_2, SENSOR_TOUCH);      /センサー2:タッチセンサー
     SetSensor(SENSOR_3, SENSOR_LIGHT);      /センサー3:光センサー
 
     while (true)
     {
         if (SENSOR_2>=1)
            {                /センサー2がONなら
             Off(OUT_A+OUT_C);Wait(100);     /1秒停止
             turn_right;Wait(65);            /180°右旋回
            }
         if (SENSOR_1<40)
            {turn_left;}                     /センサー1が黒なら左旋回
         if (SENSOR_3<40)
            {turn_right;}                    /センサー3が黒なら右旋回
         if ((SENSOR_1>40)&&(SENSOR_3>40))
            {go_straight;}                   /センサー1,3が白なら前進
         if ((SENSOR_1<40)&&(SENSOR_3<40))
            {                                /センサー1,3が黒なら
            Off(OUT_A+OUT_C);Wait(100);      /1秒停止
            go_straight;Wait(15);            /前進
           }
    }
 }

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