- 追加された行はこの色です。
- 削除された行はこの色です。
[[戻る>2005/A6]]
*製作中のプログラム [#c4c4fb09]
**机の周りを回るロボット [#if1dd803]
//『while』を使ってないプログラム
#define back_time 60
#define back_time 20 // 後退する時間
sub turn_left() // ぶつかるまで左に曲がる
{
OnFwd(OUT_A);
until(SENSOR_1==1);
OnFwd(OUT_C);
}
sub go_straight() // 壁から離れるまで前進
{
OnFwd(OUT_A+OUT_C);
until(SENSOR_1==0);
Off(OUT_A+OUT_C);
}
sub turn_right() // ぶつかるまで右に曲がる
{
OnFwd(OUT_A+OUT_C);
until((SENSOR_1==1)&&(SENSOR_3==1));
OnRev(OUT_A+OUT_C);
Wait(back_time);
Off(OUT_A);
OnFwd(OUT_C);
until(SENSOR_1==1);
OnFwd(OUT_A);
}
task main() // 反時計回りに回る
{
SetSensor(SENSOR_1, SENSOR_TOUCH);
SetSensor(SENSOR_3, SENSOR_TOUCH);
turn_left(); // 机の右側から動き始める
go_straight();
repeat(2){
repeat(2){
turn_left();
go_straight();
} // 机の外側を回る
turn_left(); // 360°左回転する
repeat(2){
turn_right();
} // 机の内側を回る
go_straight(); // 机を一周する
} // これを二回繰り返す
}
#comment
//『while』を使ってみたプログラム
#define turn_time 30
#define back_time 20
task main()
{
SetSensor(SENSOR_1, SENSOR_TOUCH);
SetSensor(SENSOR_3, SENSOR_TOUCH);
SetSensor(SENSOR_1, SENSOR_TOUCH);
SetSensor(SENSOR_3, SENSOR_TOUCH);
while (true)
{
if(SENSOR_1 == 1)
{
Off(OUT_C);
OnFwd(OUT_A);
until(SENSOR_1==0);
}
if(SENSOR_1 == 0)
{
Off(OUT_A);
OnFwd(OUT_C);
until(SENSOR_1==1);
}
}
OnFwd(OUT_A+OUT_C);
while (true)
{
if ((SENSOR_1 == 0) && (SENSOR_3 == 0)) // 右に曲がる
{
OnRev(OUT_A+OUT_C); Wait(back_time);
Off(OUT_A);
OnFwd(OUT_C); Wait(turn_time);
OnFwd(OUT_A);
}
else // 左に曲がる
{
OnRev(OUT_A+OUT_C); Wait(back_time);
Off(OUT_C);
OnFwd(OUT_A); Wait(turn_time);
OnFwd(OUT_C);
}
}
}
#comment
*製作したプログラム 『これまでの流れ』 [#c0e77817]
**一番最初に作ったプログラム [#cb967754]
//初めてロボットを動かした時のプログラム
task main()
{
OnFwd(OUT_A);
OnFwd(OUT_C);
Wait(110);
Off(OUT_A+OUT_C);
} // ただ進んで止まるだけ
#comment
**二番目に作った三角形を書くプログラム [#tc0fe390]
//『repeat』プログラムを使えば簡単だった・・・
task main()
{
OnFwd(OUT_A+OUT_C);
Wait(150);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(110);
OnFwd(OUT_A+OUT_C);
Wait(150);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(110);
OnFwd(OUT_A+OUT_C);
Wait(150);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(110);
OnFwd(OUT_A+OUT_C);
Wait(150);
} // 正三角形の軌跡を残すだけ
#comment
**課題1についてのプログラム [#r8c50d1d]
[[2005/A6/課題1/一班/コンドのプログラム]]