- 追加された行はこの色です。
- 削除された行はこの色です。
[[2005/A1]]
*右を書くロボット [#x666b49f]
#ref(/2005/A1/課題1右/CA310872.jpg,100%,筆記ロボット)
上の大きなタイヤでペンを挟んで上下します。
ホールド力は最高だったのですが、強く押しつけすぎてしまう事があって、調整が難しかったです。(制作:Harada)
*プログラム [#bd49cca7]
//作成:Harada
//左を書くロボット
//作成:Harada
//左を書くロボット
#define P_IN 370 //ペン挿入値
#define P_OUT 350 //ペン排出値
#define P_DOWN 150 //ペン下降値
#define P_UP 155 //ペン上昇値
#define P_IN 370
#define P_OUT 350
#define P_DOWN 150
#define P_UP 155
void go(int t) //前進 100で7cm程度
void go(int t) //前進 t=100で7cm程度
{
OnFwd(OUT_A+OUT_C);
Wait(t);
Off(OUT_A+OUT_C);
}
void back(int t) //後進
void back(int t) //後進 t=100で7cm程度
{
OnRev(OUT_A+OUT_C);
Wait(t);
Off(OUT_A+OUT_C);
}
void left_t(int t) //左転回 130で90度
void left_t(int t) //左転回 t=130で約90度
{
OnFwd(OUT_C); OnRev(OUT_A);
Wait(t);
Off(OUT_A+OUT_C);
}
void right_t(int t) //右転回 130で90度
void right_t(int t) //右転回 t=130で約90度
{
OnFwd(OUT_A); OnRev(OUT_C);
Wait(t);
Off(OUT_A+OUT_C);
}
void left(int t) //左旋回 260で90度
void left(int t) //左旋回 t=260で約90度
{
OnFwd(OUT_C); Float(OUT_A);
Wait(t);
Off(OUT_A+OUT_C);
}
void right(int t) //右旋回 260で90度
void right(int t) //右旋回 t=260で約90度
{
OnFwd(OUT_A); Float(OUT_C);
Wait(t);
Off(OUT_A+OUT_C);
}
void left_b(int t) //左後旋回 260で90度
void left_b(int t) //左後旋回 t=260で約90度
{
OnRev(OUT_C); Float(OUT_A);
Wait(t);
Off(OUT_A+OUT_C);
}
void right_b(int t) //右後旋回 260で90度
void right_b(int t) //右後旋回 t=260で約90度
{
OnRev(OUT_A); Float(OUT_C);
Wait(t);
Off(OUT_A+OUT_C);
}
sub in() //ペン挿入
{
OnRev(OUT_B);
Wait(P_IN);
Float(OUT_B);
}
sub out() //ペン排出
{
OnFwd(OUT_B);
Wait(P_OUT);
Float(OUT_B);
}
sub down() //ペン下降
{
OnRev(OUT_B);
Wait(P_DOWN);
Float(OUT_B);
}
sub up() //ペン上昇
{
OnFwd(OUT_B);
Wait(P_UP);
Float(OUT_B);
}
task main()
{
in();
go(70);
in();//ペン挿入
go(70);//1画目まで移動開始
left_t(75);
go(100);
go(100);//1画目まで移動完了
down(); //1画目
back(250);
up();
go(140);
down(); //1画目開始
back(250);//
up();//一画目終了
go(140);//2画目まで移動開始
right_t(75);
back(70);
back(70);//2画目まで移動完了
down(); //2画目
down(); //2画目開始
go(200);
up();
back(130);
up(); //2画目終了
back(130);3画目まで移動開始
left_t(75);
back(60);
right_t(75);
go(20);
right_t(130);
right_t(130);3画目まで移動完了
down(); //3画目
down(); //3画目開始
go(75);
up();
back(75);
left_t(130);
up();//3画目終了
back(75);//4画目まで移動開始
left_t(130);//4画目まで移動完了
down(); //4画目
down(); //4画目開始
go(100);
up();
down();
right_t(130);
go(75);
up();
right_t(130);
go(100);
up();//4画目終了
right_t(130);//5画目まで移動開始
go(100);//5画目まで移動完了
down(); //5画目
down(); //5画目開始
back(100);
up();
out();
up();//5画目完了
out();//ペン排出
}
*コメント [#l1aeba2b]
#comment