- 追加された行はこの色です。
- 削除された行はこの色です。
編集中
*&size(26){課題 : 似顔絵ロボット }; &size(15){( O男 & M男 )}; [#v0000eab]
#contents
**課題の概要 [#e4ba86f2]
その壱) A3用紙に相棒の似顔絵を書くロボットの製作@
その弐) 指定のキットを使用すれば構造は自由@
その参) なるべく相棒に似せる@
*ロボット&size(13){〜本体について〜}; [#l5cc0aa8]
**製作過程 [#tb98f9d7]
はじめは突き刺し型。
**完成体 [#pb44fb15]
写真をみての通り!!
動力部のうえにクレーン部をのせたシンプルな構造。
&ref(kure-n hp1.jpg);&size(30){+};
&ref(hp syataii1.jpg);&size(30){=}; &ref(zenbu1.jpg);
**工夫点 [#ed9bccc3]
***動力部 [#tae9b1a2]
・小回りを追求し、4輪車から三輪車への改造。写真
***クレーン部 [#n53328ed]
・普通のペンだと筆圧の調整が難しいため筆ペンを使用。写真
・クレーン部にヲォームギアを駆使し、重い筆ペンも楽々持ち上げれるようにトルクup。
写真
*ロボット&size(13){〜プログラムについて〜}; [#l5cc0aa8]
**O男編 [#x44528df]
最初は定義@
#define ti_me 50
#define up_pen OnRev(OUT_B);Wait(60);Off(OUT_B);
#define down_pen OnFwd(OUT_B);Wait(60);Off(OUT_B);
#define go_st(t) OnFwd(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_B);
#define turn_l90 OnFwd(OUT_A);OnRev(OUT_C);Wait(65);Off(OUT_A+OUT_C);
まず、メイン・サブルーチンのなかで繰り返し使うものをあらかじめマクロでインプット。
sub st_op() // all stop and wait =1 sec
{
Off(OUT_A+OUT_C+OUT_B);
Wait(ti_me);
}
sub make_ang() // make angle left turn=90
{
up_pen;
go_st(50);
#define up_pen OnRev(OUT_B);Wait(60);Off(OUT_B); // ペンをさげる
#define down_pen OnFwd(OUT_B);Wait(60);Off(OUT_B); // ぺんをあげる
#define go_st(t) OnFwd(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_B); // t/100 秒間まっすぐ走る
#define turn_l90 OnFwd(OUT_A);OnRev(OUT_C);Wait(65);Off(OUT_A+OUT_C); // 左90°回転
続いて、メインルーチンのなかで繰り返して使うものをサブルーチンでインプット。
sub st_op() // すべてをストップさせ、0,5秒まつ。
{
Off(OUT_A+OUT_C+OUT_B);
Wait(50);
}
sub make_ang() // 左90°の角を作成
{
up_pen;
go_st(50);
turn_l90;
OnRev(OUT_A+OUT_C);
Wait(41);
Off(OUT_A+OUT_C);
Wait(50);
down_pen;
}
sub ago_45() // 左45°の角を作成
{
up_pen;
go_st(47);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(33);
Off(OUT_A+OUT_C);
OnRev(OUT_A+OUT_C);
Wait(43);
Off(OUT_A+OUT_C);
Wait(50);
down_pen;
}
メイン
task main()
{
OnFwd(OUT_B); // ペンのセット
Wait(183);
st_op();
go_st(100); // 輪郭作成
st_op();
ago_45(); st_op(); go_st(30); st_op();
ago_45(); st_op(); go_st(50); st_op();
ago_45(); st_op(); go_st(30); st_op();
ago_45(); st_op(); go_st(100);st_op();
make_ang();
st_op();
go_st(95);
st_op();
up_pen; //目作成
go_st(50);
turn_l90;
OnRev(OUT_A+OUT_C);
Wait(41);
st_op();
go_st(25);
st_op();
go_st(50);
turn_l90;
OnRev(OUT_A+OUT_C);
Wait(41);
st_op();
go_st(13);
st_op();
down_pen;
st_op();
go_st(25);
st_op();
up_pen;
st_op();
go_st(22);
st_op();
down_pen;
st_op();
go_st(25);
st_op();
up_pen; //鼻作成
st_op();
OnRev(OUT_A+OUT_C);
Wait(35);
st_op();
down_pen;
st_op();
OnRev(OUT_A);
OnFwd(OUT_C);
Wait(27);
st_op();
go_st(15);
st_op();
up_pen; //口作成
st_op();
go_st(30);
st_op();
down_pen;
OnRev(OUT_A);
OnFwd(OUT_C);
Wait(50);
st_op();
up_pen; //ペンをあげて完成!!
}
turn_l90;
こんなお顔に、、、&ref(kao.jpg);
***工夫点 [#b53a2384]
***苦労 [#v780a983]
OnRev(OUT_A+OUT_C);
Wait(41);
Off(OUT_A+OUT_C);
Wait(ti_me);
down_pen;
}
sub ago_45() //make angle left turn=45
{
up_pen;
go_st(47);
**M男編 [#lf43879a]
OnFwd(OUT_A);OnRev(OUT_C);Wait(33);Off(OUT_A+OUT_C);
OnRev(OUT_A+OUT_C);
Wait(43);
Off(OUT_A+OUT_C);
Wait(ti_me);
***工夫点 [#n3ff6bbb]
***苦労 [#tcb1eb5b]
down_pen;
}
task main()
{
OnFwd(OUT_B); //set pen
Wait(183);
st_op();
go_st(100); //make rinkaku
st_op();
ago_45();st_op();go_st(30);st_op();
ago_45();st_op();go_st(50);st_op();
ago_45();st_op();go_st(30);st_op();
ago_45();st_op();go_st(100);st_op();
make_ang(); //make head
st_op();
go_st(95);st_op();
up_pen;go_st(50);turn_l90; // make eye
OnRev(OUT_A+OUT_C);
Wait(41);
Off(OUT_A+OUT_C);
Wait(ti_me);st_op();
go_st(25)st_op();
go_st(50);turn_l90;
OnRev(OUT_A+OUT_C);
Wait(41);
Off(OUT_A+OUT_C);
Wait(ti_me);st_op();
go_st(13)st_op();
down_pen;st_op();
go_st(25)st_op();
up_pen;st_op();
go_st(22)st_op();
down_pen;st_op();
go_st(25)st_op();
up_pen; // make hana
st_op();
OnRev(OUT_A+OUT_C);
Wait(35);st_op();
down_pen;st_op();
OnRev(OUT_A);
OnFwd(OUT_C);
Wait(27);st_op();
go_st(15);st_op();
up_pen; //make kuti
st_op();
go_st(30);st_op();
down_pen;
OnRev(OUT_A);
OnFwd(OUT_C);
Wait(50);st_op();
up_pen;up_pen;up_pen;
}
**M男編 [#lf43879a]