- 追加された行はこの色です。
- 削除された行はこの色です。
[[2005/A1]]
*ライントレースするロボット [#x2e8cf64]
#ref(/2005/A1/課題3左/dscn2312_Large.jpg,100%,ライントレース(モータ2個))
*ライントレースのプログラム [#ta578247]
//製作者 コンパス
//製作者 コンパス 今井 harada
#define THRESHOLD 40
task main ()
{
SetSensor(SENSOR_1, SENSOR_LIGHT);
SetSensor(SENSOR_3, SENSOR_LIGHT);
while (true) {
if (SENSOR_1 < THRESHOLD) {
OnRev(OUT_A+OUT_C);
Wait(2);
OnFwd(OUT_A);
OnRev(OUT_C);
OnRev(OUT_C); //後ろに戻って少し回転
}
if (SENSOR_3 < THRESHOLD) {
OnRev(OUT_A+OUT_C);
Wait(2);
OnFwd(OUT_C);
OnRev(OUT_A);
OnRev(OUT_A); //後ろに戻って少し回転
}
else {
OnFwd(OUT_A);
OnFwd(OUT_C);
OnFwd(OUT_C); //直進
}
}
}
*感想(解説) [#z9e69705]
私たちの描いたラインは急カーブが多かったため、曲がりきれずに突き抜けていまい苦労しました。だから、線を踏んだときに少し戻ってカーブを曲がるというプログラムにして成功しました。
*モーター1つでライントレースするロボット [#ca907e4c]
#ref(PA0_0051.JPG)
*モーター1つのプログラム [#ca5b9397]
// 製作者 コンパス harada 今井
#define THRESHOLD 40
task main ()
{
SetSensor(SENSOR_1, SENSOR_LIGHT);
SetSensor(SENSOR_2, SENSOR_LIGHT);
while (true) {
if (SENSOR_1 < THRESHOLD) // 1が黒線踏んだら 右へ
OnFwd(OUT_A);
if (SENSOR_2 < THRESHOLD) // 2が黒線踏んだら 左へ
OnRev(OUT_A);
if(SENSOR_1+SENSOR_2 < THRESHOLD) // 両方なら 右へ
OnFwd(OUT_A);
}
}
*感想(解説) [#badcfe85]
力が足らず苦労しました。ラインでピッタリとまらずスピードの調整が
難しかった。そのためにギア比を調節して、かつタイヤを小さくするなどして対応しました。プログラム自体は簡単で、右の光センサーが反応すれば左に曲がり、右の光センサーが反応すれば右に曲がるというものです。
*掲示板 [#c80e7ba0]
-モータ2つでのプログラムも載せましょう。 -- [[ゆん(TAM)]] &new{2005-12-09 (金) 15:43:07};
-見ました。お疲れさまです。 -- [[ゆん(TA)]] &new{2006-02-02 (木) 17:19:50};
#comment