2005/B4/課題3左
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2005/B4]]
#contents
* ライントレース(モーター1個) [#ae221d55]
task main()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensor(SENSOR_3,SENSOR_LIGHT);
while(true)
{
if ((SENSOR_1 > 42) && (SENSOR_3 < 42))//左のセンサーが線上
{
OnRev(OUT_B); // 左回転
Wait(15);
}
if ((SENSOR_1 < 42) && (SENSOR_3 > 42))//右のセンサーが線上
{
OnFwd(OUT_B);// 右回転
Wait(15);
}
}
}
#ref(2005/B4/課題3左/051216_1737~01.jpg,モーター一つの図)
-モーター一つなのでギアとかも工夫しなくてはいけなくて大変だった。
-モーターの正転、負転にあわせて左右に曲がるようにしました。
-上の図が全体図です。
- waitの間隔調整が難しかった。
-モーターが一つなのでパワーが足りなくて苦労した。
-コメントどうぞ
-ロボットの解説も付けましょう。 -- [[ゆん(TA)]] &new{2006-01-06 (金) 17:00:09};
#comment
* ライントレース(モーター2個) [#y4158235]
task main()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensor(SENSOR_3,SENSOR_LIGHT);
while(true)
{
if ((SENSOR_1 > 40) && (SENSOR_3 < 40))//左のセンサーが線上
{
OnFwd(OUT_A);// 左回転
Off(OUT_C);
Wait(1);
}
if ((SENSOR_1 < 40) && (SENSOR_3 > 40))//右のセンサーが線上
{
OnFwd(OUT_C);// 右回転
Off(OUT_A);
Wait(1)
}
if ((SENSOR_1 > 40) && (SENSOR_3 > 40))//両方とも線上だったら
{
OnRev(OUT_A+OUT_C);//バックする
Wait(10)
}
}
}
-光センサー二つなので機敏に反応します。
-モーターも二つなのでWaitが1でも反応します。
-モーター一つではWait1が通用しないのでこっちの方が精度は高いと思います。
-こっちは比較的簡単にできました。
-バックのWait数が鍵です。
-コメントどうぞ
#comment
終了行:
[[2005/B4]]
#contents
* ライントレース(モーター1個) [#ae221d55]
task main()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensor(SENSOR_3,SENSOR_LIGHT);
while(true)
{
if ((SENSOR_1 > 42) && (SENSOR_3 < 42))//左のセンサーが線上
{
OnRev(OUT_B); // 左回転
Wait(15);
}
if ((SENSOR_1 < 42) && (SENSOR_3 > 42))//右のセンサーが線上
{
OnFwd(OUT_B);// 右回転
Wait(15);
}
}
}
#ref(2005/B4/課題3左/051216_1737~01.jpg,モーター一つの図)
-モーター一つなのでギアとかも工夫しなくてはいけなくて大変だった。
-モーターの正転、負転にあわせて左右に曲がるようにしました。
-上の図が全体図です。
- waitの間隔調整が難しかった。
-モーターが一つなのでパワーが足りなくて苦労した。
-コメントどうぞ
-ロボットの解説も付けましょう。 -- [[ゆん(TA)]] &new{2006-01-06 (金) 17:00:09};
#comment
* ライントレース(モーター2個) [#y4158235]
task main()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensor(SENSOR_3,SENSOR_LIGHT);
while(true)
{
if ((SENSOR_1 > 40) && (SENSOR_3 < 40))//左のセンサーが線上
{
OnFwd(OUT_A);// 左回転
Off(OUT_C);
Wait(1);
}
if ((SENSOR_1 < 40) && (SENSOR_3 > 40))//右のセンサーが線上
{
OnFwd(OUT_C);// 右回転
Off(OUT_A);
Wait(1)
}
if ((SENSOR_1 > 40) && (SENSOR_3 > 40))//両方とも線上だったら
{
OnRev(OUT_A+OUT_C);//バックする
Wait(10)
}
}
}
-光センサー二つなので機敏に反応します。
-モーターも二つなのでWaitが1でも反応します。
-モーター一つではWait1が通用しないのでこっちの方が精度は高いと思います。
-こっちは比較的簡単にできました。
-バックのWait数が鍵です。
-コメントどうぞ
#comment
ページ名: