[[2016b/Member]]
*課題 [#y01c07bb]
*ロボット [#ic84c96f]
*担当プログラム [#tbdddc19]
**PR間につくまで [#efb10847]

 #define go_straight(t)  RotateMotor(OUT_BC,50,t);
 #define go_nonstop      OnFwd(OUT_BC,50);
 #define SASETSU         OnRev(OUT_BC,50); Wait(400); Off(OUT_BC); OnFwd(OUT_C,50); Wait(1500); Off(OUT_C);

 sub BEGIN()
 {
     Wait(1500);
     turn(120);
     go_straight(1300);
     PlaySound(SOUND_CLICK);
     go_nonstop;
     until(SENSOR_3<=40);
     Off(OUT_BC);
     PlaySound(SOUND_CLICK);
     Wait(1000);
     SASETSU;
 }


**五秒間ライントレース [#tcfe86a6]

課題2で書いたライントレースを少し変えて、五秒の間だけ実行し、交差点認識はしないプログラムを作った。

時間以外の制御方法がわからなかったので何回か試走させて五秒に決めた。

 #define turn_right      OnFwd(OUT_B,40);
 #define turn_right_slow OnFwd(OUT_B,40); OnRev(OUT_C,30);
 #define turn_left       OnFwd(OUT_C,40);
 #define turn_left_slow  OnFwd(OUT_C,40); OnRev(OUT_B,30);
 #define go_line         OnFwd(OUT_BC,40);
 #define FOLLOW_TIME 5000

 sub FOLLOW_LINE()
 {
     long t0=CurrentTick();
 
     while(CurrentTick()-t0<FOLLOW_TIME){
       if(SENSOR_3<=38){
         turn_right;
       }else if(SENSOR_3<=45){
         turn_right_slow;
       }else if(SENSOR_3<=50){
         go_line;
       }else if(SENSOR_3<=59){
         turn_left_slow;
       }else{
         turn_left;
       }
     }
     Off(OUT_BC);
 }

**安定して定位置につく [#n9c9b6f8]

 sub READY()
 {
     go_straight(500);
     OnRev(OUT_BC,50);
     until(SENSOR_3<=40);
     Off(OUT_BC);
     PlaySound(SOUND_CLICK);
     Wait(1000);
     turn(20);
     go_straight(400);
     turn(-70);
     PlaySound(SOUND_UP);
 }
*実演の反省 [#gef37162]
*学んだこと [#r8a2947a]
*感想 [#aa2d84d8]

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