編集中 *&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 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; //ペンをあげて完成!! } こんなお顔に、、、&ref(kao.jpg); ***工夫点 [#b53a2384] ***苦労 [#v780a983] **M男編 [#lf43879a] ***工夫点 [#n3ff6bbb] ***苦労 [#tcb1eb5b]