編集中
*&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]

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS