//台から落ちないロボット//

 task main()
 {
 SetPower(OUT_A,6);SetPower(OUT_C,6);//回転数を決める
    SetSensor(SENSOR_1, SENSOR_LIGHT);
    SetSensor(SENSOR_2, SENSOR_LIGHT);//センサーを決める
     int a;//変数を決める(aは定数)
  while(true ){ 
        OnFwd(OUT_A+OUT_C);a=35; //前進 aを35にする
                   until  (SENSOR_1 || SENSOR_2  <a);//センサー1か2がa以下まで前進
           if(SENSOR_1 <a){  //  もしセンサー1がa以下のとき以下             
                    OnRev(OUT_A); until(SENSOR_1>a); //   センサー1がa以上になるまで
                                                                              モーターAを逆回転
                              } 
           if(SENSOR_2 <a){ //もしセンサー2がa以下のとき以下  
                   OnRev(OUT_C);  until(SENSOR_2>a);//センサー2がa以上になるまで
                                                                              モーターCを逆回転
                              }
           if(SENSOR_1 && SENSOR_2 <a){//もしセンサー1と2がa以下のとき以下  
                   OnRev(OUT_A+OUT_C);
                   until(SENSOR_1 && SENSOR_2 >a);//センサー1と2がa以上になるまで
                                                                              後退
                              }
                  }
    Off(OUT_A+OUT_C);//停止
   }

《感想・反省》

 センサーを二つ使った。センサーを外側につくようにした。回転軸を車体の真中にした。  ロボットが机上から転落しないように、ロボットの先端に取り付けたセンサーを用いて、机上から転落しそうになったら後退するというものである。  センサーの位置によって後退時間が変化してしまうので、ロボットが落ちないギリギリに取り付けた。この取り付け位置もプログラム同様に苦労した点である。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-02-15 (火) 16:46:02 (5303d)