&size(40){'''〜第2回 ロボット製作〜'''};
*◆壁に沿って走るロボット [#ef5577c3]
*◆壁に沿って走るロボット [#l1098b82]
&size(20){・プログラミィング};
 task main()
 {
    SetSensor(SENSOR_1,SENSOR_TOUCH); //センサ1がタッチセン
                                      //サであると宣言  
    SetSensor(SENSOR_3,SENSOR_TOUCH); //センサ3がタッチセン
                                      //サであると宣言
    SetSensor(SENSOR_1,SENSOR_TOUCH); //センサ1がタッチセンサで
                                      //あると宣言                             
    SetSensor(SENSOR_3,SENSOR_TOUCH); //センサ3がタッチセンサで
                                      //あると宣言 
    OnFwd(OUT_A+OUT_C); //前進               
    until(SENSOR_1 == 1 || SENSOR_3 == 1);//1がオン又は3が
                                          //オンまで
    until(SENSOR_1 == 1 || SENSOR_3 == 1);//1がオン又は3がオン
    Off(OUT_A+OUT_C);
    while(true) //以下のことを繰り返す    
    {
        if (SENSOR_1 == 1) //もし1がオンなら
        {
            OnFwd(OUT_A+OUT_C);//前進
            until(SENSOR_1 == 0 || SENSOR_3 == 1);//1がオフ
                                                  //又は3が
                                                  //オン 
            OnFwd(OUT_A+OUT_C);
            until(SENSOR_1 == 0 || SENSOR_3 == 1);
            Off(OUT_A+OUT_C);
        }
        if(SENSOR_3 == 1)//もし3がオンなら
        if(SENSOR_3 == 1)
        {
            OnFwd(OUT_A);//右回転
            OnFwd(OUT_A);
            OnRev(OUT_C);
            Wait(100);  //1秒間の間
            Wait(105);
            Off(OUT_A);
            OnFwd(OUT_A+OUT_C);//前進
            until(SENSOR_1 == 1);//1がオンまで
            OnFwd(OUT_A+OUT_C);
            until(SENSOR_1 == 1);
            Off(OUT_A+OUT_C);
        } else {  //その他のとき
            OnFwd(OUT_C);//左回転
            until(SENSOR_1 == 1);//1がオンまで
        } else {
            OnFwd(OUT_C);
            until(SENSOR_1 == 1);
            Off(OUT_C);
        }
    }      
 }
 }        
&size(20){◎工夫・苦労をした点};
 1.机の壁側にちょっとした高さの違う部分があり、それをどの
     ように克服するかという点。
 2.机の下の角の部分で、ロボットが曲がったときに壁にセンサ
     をいかにしてあてるかという点。
*◆ロボットについて... [#cdd2fcb4]
*◆ロボットについて... [#r220c8fc]
&size(20){◎構成};
 1.タッチセンサを2つ使い、ロボットのフロント部分と横の面
     にとりつけた。
&size(20){◎工夫・苦戦をした点};
 1.机の壁側にちょっとした高さの違う部分があり、その違いに
     よってタッチセンサがうまく反応するときとしないときなど
     があり、それを克服するためのバンパーの高さ調整に苦戦し
     た点。
 2.バンパーが壁に長い間引っ掛かってしまうとバンパーが壊れ
     てしまいそうになった。よって、バンパーをいかに柔軟かつ
     強度大にするかという点。
**コメントをどうぞ [#jc774f76]
-プログラムと関係ありませんが、Pukiwiki で番号付きの箇条書きを作成するには、それぞれの項目の前に + をつけます (ただし行頭に)。番号なしの箇条書きは + のかわりに - で各項目を示します。とても便利なのでぜひ使ってみてください。詳しくは[[ヘルプ]]を御覧ください。 -- [[松本(教員)]] &new{2005-12-02 (金) 09:46:57};
&size(20){◎工夫・苦労をした点};

#comment


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