#contents

*課題2: 黒い線に沿って動くロボットを作成せよ[#h9fee753]
各チームで交差点が2つ以上のコースを作成し、そのコースを3周するロボットを作成する。
交差点のうちの1つには500㎖の空の紙パックを置き、次のような動作をするプログラムを作成せよ。

1、紙パックを迂回する、あるいは紙パックを元の位置に戻した後コースに戻って進む。&br;
  (交差点を通過後、紙パックが元の位置にあればよい。)&br;
2、紙パックを次の交差点まで運んでいき、その交差点に紙パックを残して更に黒い線に沿って進む。&br;
 
早さと正確さにも気をつけること。
*ロボットの概要[#z9f8aad6]
*コースの紹介 [#iae0b335]
#ref(course.jpg)&br;
交差点は3つにしました。&br;
カーブはできるだけ急にならないようにし、曲がりやすいようにしました。
*プログラム [#s8715280]
**迂回Ver. [#s874c7bf]
 #define THRESHOLD 40           //閾値の設定
 #define turn_180    OnFwd(OUT_A);OnRev(OUT_C);Wait(130);Off(OUT_A+OUT_C);Wait(100);  //180°回転の定義
 
 task main (){ 
 
       int i;
       i = 0;      //変数の設定     
       SetSensor(SENSOR_1,SENSOR_LIGHT);    //センサー1=光センサー
       SetSensor(SENSOR_2,SENSOR_TOUCH);   //センサ−2=タッチセンサー
       SetSensor(SENSOR_3,SENSOR_LIGHT);    //センサ−3=光センサー
       
       SetPower(OUT_A+OUT_C,2);
       Wait(100);
       
      while (i < 18){
        if(SENSOR_1 > THRESHOLD){
                 if(SENSOR_3 > THRESHOLD){
                   OnFwd(OUT_A+OUT_C);
                 }
                 else{   
                   OnFwd(OUT_A);
                   Off(OUT_C);
                 }
        }
           else{
                 if(SENSOR_3 > THRESHOLD){
                   OnFwd(OUT_C);
                   Off(OUT_A);
                 }
                 else{
                   Off(OUT_A+OUT_C);
                   Wait(100);
                   OnFwd(OUT_B);
                   Wait(50);
                   Off(OUT_A+OUT_C);
                   Wait(100);                 
                   OnFwd(OUT_A+OUT_C);
                   Wait(50);
                   turn_180;
                   OnRev(OUT_B);
                   Wait(50);
                   turn_180;
                   i = i+1;
                 }
           }
                       
       }               
           if(SENSOR_2 == 1){
                  OnRev(OUT_A+OUT_C);
                  Wait(100);
                  Off(OUT_A+OUT_C);
                  Wait(300);
           }
          
           if(i == 18){
                  Off(OUT_A+OUT_C);
           }        
                   
 }                         
**運搬Ver. [#obcaa8c3]
*反省、感想 [#cc226c18]
*コメント [#hb8e1cd3]
コメントよろしくお願いします。
#comment

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