1号試作プログラム

task main()
{
int count=0;                                   //初期のカウント数は0です
SetPower(OUT_A+OUT_C,6);                       //モーターの出力を6に設定(出力アップ!)
SetPower(OUT_B,2);                             //同じく出力を2に設定(少し低め)
SetSensor(SENSOR_1,SENSOR_LIGHT);              //センサー1を光センサーに設定
SetSensor(SENSOR_3,SENSOR_LIGHT);              //センサ−3を光センサーに設定
SetSensor(SENSOR_2,SENSOR_TOUCH);              //センサ−3をタッチセンサーに設定
while(true)                                    //以下の行動を繰り返せ
    {
    OnFwd(OUT_A+OUT_C);                        //前進
    if((SENSOR_1<45)&&(SENSOR_3<50))           //もし両センサーが黒線を感知したら
        {
        count++;                               //カウント数を+1
        Wait(50);                              //少しセンサーを休ませる
        }

    if(count==2)                               //もしカウント数が2になったら
        {
        wait(20);                              //少しセンサーを休ませる
        OnFwd(OUT_A);                          //90度旋回
        OnRev(OUT_C);
        Wait(195);
        count--;                               //カウント数を0に戻す。
        count--;
        }

    if(SENSOR_2==1)                            //タッチセンサーが反応したら
        {
        Off(OUT_A+OUT_C);                      //むりやりスタート地点に戻る
        OnRev(OUT_B);
        Wait(80);
        Off(OUT_B);
        OnRev(OUT_A+OUT_C);
        Wait(250);
        OnRev(OUT_C);OnFwd(OUT_A);
        Wait(282);
        OnFwd(OUT_A+OUT_C);
        Wait(500);
        OnRev(OUT_A);
        OnFwd(OUT_C);
        Wait(282);
        OnFwd(OUT_A+OUT_C);
        Wait(200);
        Off(OUT_A+OUT_C);
        OnFwd(OUT_B);
        Wait(80); 
        OnRev(OUT_A+OUT_C);
        Wait(80);
        Off(OUT_A+OUT_C);
        OnRev(OUT_B);
        Wait(80);
        OnFwd(OUT_A+OUT_C);
        Wait(100);
        OnRev(OUT_A+OUT_B);
        Wait(350);
        OnRev(OUT_A);
        OnFwd(OUT_C);
        Wait(195);
        }
    }
} 

2号試作プログラム

task main()
{
int count=0;                                   //最初のカウント数は0です
SetPower(OUT_A+OUT_C,6);                       //モーター出力を6(強め)に設定
SetPower(OUT_B,2);                             //モーター出力を2(弱め)に設定
SetSensor(SENSOR_1,SENSOR_LIGHT);              //−センサーを
SetSensor(SENSOR_3,SENSOR_LIGHT);              //−光センサーに設定
SetSensor(SENSOR_2,SENSOR_TOUCH);              //センサーをタッチセンサーに設定
while(true)                                    //この行動を繰り返せ
    {
    OnFwd(OUT_A+OUT_C);                        //前進
    if((SENSOR_1<45)&&(SENSOR_3<50))           //センサーが黒線を感知したら
        {
        count++;                               //カウント数を+1
        Wait(50);                              //少しセンサーを休ませる
        }

    if(count==2)                               //もしカウント数が2になったら
        {
        Wait(20);                              //少しだけそのまま前進
        OnFwd(OUT_C);                          //その後旋回
        OnRev(OUT_A);
        Wait(100);
        count--;                               //カウント数を0にする
        count--;
        }
    }
}

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-08-02 (水) 19:23:21