[[2005/A2/課題3]] *作成中... [#bb617b20] *アンバランス [#de3b3251] モーター2個、光センサー1個使用。 **プログラム [#v0ae3c0b] task main() { SetSensor(SENSOR_2, SENSOR_LIGHT); while(true){ if(SENSOR_2<40){ OnFwd(OUT_C); } else{ OnFwd(OUT_A); } Off(OUT_A+OUT_C); } } **ロボの話 [#kc6e9308] 前の課題が遅くなってしまったため、タッチセンサーの付いたロボに 少し強引な形で、光センサーを付け走らせた。 ...想像していたよりも速いスピードで鮮やかなコーナリングを決めていた。 **プログラムの話 [#bf8ebbeb] 時間の都合状、サンプルを少し変えただけの物になってしまった。 周りきれない場合を考えてタイマーを付ける...予定。 *モーターが一つ [#q766010b] モーター1個、光センサー1個使用。 **プログラム [#b3bf4be0] #define THRESHOLD 40 // 閾値 #define RUN_TIME 50 // トレースする時間(単位 1/10 秒) task main() { SetSensor(SENSOR_3, SENSOR_LIGHT); ClearTimer(0); // Timer(0) をリセッ ト while (Timer(0) <= RUN_TIME ) { //タイマー有り if (SENSOR_3 < THRESHOLD) { // 黒線上にい るとき OnFwd(OUT_A); }else{ // 黒線から外れたとき OnRev(OUT_A); Wait(5); //ちょい後退 while(SENSOR_3 >= THRESHOLD){ //黒になるまで首ふり OnFwd(OUT_C); Wait(3);Off(OUT_C); Wait(30); OnRev(OUT_C); Wait(3);Off(OUT_C); Wait(30); } } } Off(OUT_A+OUT_B); } #define THRESHOLD 40 // 閾値 #define RUN_TIME 100 // トレースする時間(単位 1/10 秒) task main() { SetSensor(SENSOR_2, SENSOR_LIGHT); ClearTimer(0); // Timer(0) をリセット while (Timer(0) <= RUN_TIME ) { //タイマー有り if(SENSOR_2 < THRESHOLD){ // 黒線上にいるとき OnFwd(OUT_A); }else{ // 黒線から外れたとき OnRev(OUT_A); } } Off(OUT_A+OUT_B); } **ロボの話 [#ffd1558f] モーター1個だけを使用で試行錯誤を繰り返す。 説明書のシークレットのページで左にだけなら曲がれるようになり、 同時に、モーター1個で前進後退の方法を理解した。 **プログラムの話 [#r6b10d26] **作成者 [#q68b9c0b] **感想 [#te268daa] #comment