[[2010b]]

#contents


*課題の内容 [#z65ba416]

A4の紙に相棒の似顔絵を描くロボットを作成する。


-一人につき一つ以上のプログラムを作成すること。

-ペン以外はキットに含まれる部品を使うこと。

-改良や調整をしやすくするため、プログラムにおいて、できるだけサブルーチンや関数、マクロなどを使う。


*メンバー [#c6bbe517]

-山崎
-仁野
-山崎 雄生
-仁野 陽日


*完成したロボット [#qe675f55]
**ロボットの構造 [#u2b275b4]
ロボットの外見です。
#ref(2010111212380000.jpg)

**ロボットの解説 [#r9eaef8c]
#ref(2010111212380001.jpg)
ペンを持たせる部分はアームを使いました。
#ref(2010111212380002.jpg)
ギア比を使ってアームの動く速度を少し遅くしました
#ref(2010111212390000.jpg)



*山崎のプログラム [#o488a88f]
 a
 abc
 #define turn OnRev(OUT_C);OnFwd(OUT_A);Wait(180);Off(OUT_A+OUT_C);
 #define go_straight(t) OnRev(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C);
 #define pen_up OnRev(OUT_B);Wait(20);Off(OUT_B);
 #define pen_down OnFwd(OUT_B);Wait(20);Off(OUT_B);
 #define back(t) OnFwd(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C);
 #define turn_right OnRev(OUT_A);OnFwd(OUT_C);Wait(80);Off(OUT_A+OUT_C);
 
 task main()
 {
    pen_down;
    OnRev(OUT_A);
    OnFwd(OUT_C);
    Wait(320);
    Off(OUT_A+OUT_C);
    pen_up;
 
    turn;
    back(100);
    go_straight(10);
    pen_down;
    go_straight(20);
    pen_up;
    go_straight(30);
    pen_down;
    go_straight(20);
    pen_up;
    turn_right;
    go_straight(40);
    turn_right;
    back(100);
    pen_down;
    go_straight(30);
    pen_up;
 }


**完成した絵 [#m0bfd2ce]
#ref(2010111214040000.jpg)

*仁野のプログラム [#l9c29358]

 abc
 #define START OnRev(OUT_A+OUT_C);                //前進
 #define BACK OnFwd(OUT_A+OUT_C);                 //後進
 #define STOP Off(OUT_A+OUT_C);                   //停止
 #define TURN_R OnFwd(OUT_C);OnRev(OUT_A);        //右に曲がる
 #define TURN_L OnFwd(OUT_A);OnRev(OUT_C);        //左に曲がる
 #define UP OnRev(OUT_B);Wait(10);Off(OUT_B);     //ペンを上げる
 #define DOWN OnFwd(OUT_B);Wait(10);Off(OUT_B);   //ペンを下げる
 
 
 task main()
 {
 
   DOWN;
   TURN_R;
   Wait(360);
   STOP;
   UP;                      //輪郭終了
 
   BACK;
   Wait(130);
   STOP;
   TURN_R;
   Wait(10);
   STOP;                    //移動終了
 
   START;
   Wait(40);
   STOP;
   DOWN;
   START;
   Wait(20);
   STOP;
   UP;
   START;
   Wait(20);
   STOP;
   DOWN;
   START;
   Wait(20);
   STOP;
   UP;                      //目終了
 
   BACK;
   Wait(100);
   STOP;
   TURN_L;
   Wait(25);                //移動終了
 
   START;
   Wait(50);
   STOP;
   DOWN;
   START;
   Wait(30);
   STOP;
   UP;                      //口終了
 
   START;
   Wait(50);
   TURN_R;
   Wait(90);
   BACK;
   Wait(40);
   STOP;                    //移動終了
 
   DOWN;
   START;
   Wait(20);
   STOP;
   UP;                      //鼻終了
 
 }
 
**完成した絵 [#ga686475]
#ref(2010111213500000.jpg)

かなり簡単な絵になってしまいました...。


*反省と感想 [#za3d6ac7]
**山崎 [#y967fe03]
プログラムを組むのが初めてだったのでかなり大変でした。
**仁野 [#i55800ce]
あまりLEGOを触ったことがなかったので、ロボットを作るのは難しく、
思っていたロボットとは違うものになってしまいました。
プログラミングも最初書きたかった絵はとてもできなくて、最終的にとても簡単な絵になってしまいした。
次の課題ではもっと優れたロボットを作りたいです。


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