task main()
*//台から落ちないロボット// [#q01eb19f]
  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);//停止
    }

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


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