課題1

僕は「富山」を書くことにしました。

プログラムについて

int x1, x2, x3, x4, x5, y1, y2, y3, z;

関数の部分です.xはペンの左右の移動時間,yは車体の前後の時間,zはペンの上下の時間を表しています.倍にすることで,動く長さを細かく変えられるようにしました.

#define car10 OnFwd(OUT_A);Wait(x1);Off(OUT_A);
#define car11 OnRev(OUT_A);Wait(x1);Off(OUT_A);
#define car20 OnFwd(OUT_A);Wait(x2);Off(OUT_A);
#define car21 OnRev(OUT_A);Wait(x2);Off(OUT_A);
#define car30 OnFwd(OUT_A);Wait(x3);Off(OUT_A);
#define car31 OnRev(OUT_A);Wait(x3);Off(OUT_A);
#define car40 OnFwd(OUT_A);Wait(x4);Off(OUT_A);
#define car50 OnFwd(OUT_A);Wait(x5);Off(OUT_A);
#define car51 OnRev(OUT_A);Wait(x5);Off(OUT_A);

車体の移動時間です.書きたい線の長さによって時間を少しずつ変えています.

#define pen_r10 OnFwd(OUT_B);Wait(y1);Off(OUT_B);
#define pen_l11 OnRev(OUT_B);Wait(y1);Off(OUT_B);
#define pen_r20 OnFwd(OUT_B);Wait(y2);Off(OUT_B);
#define pen_l21 OnRev(OUT_B);Wait(y2);Off(OUT_B);
#define pen_r30 OnFwd(OUT_B);Wait(y3);Off(OUT_B);
#define pen_l31 OnRev(OUT_B);Wait(y3);Off(OUT_B);
#define pen_up OnFwd(OUT_C);Wait(z);Off(OUT_C);
#define pen_down OnRev(OUT_C);Wait(z);Off(OUT_C);

ペンを動かす部分の定義です.rとついているのは右,lは左移動を表しています.  

task main(){
SetPower(OUT_C+OUT_B,OUT_LOW);
SetPower(OUT_A,OUT_HALF);
x1 = 6 ;
x2 = 2*x1;
x3 = 3*x1;
x4 = 7*x1/2;
x5 = 5*x1;
y1 = 120  ;
y2 = 3*y1/4;
y3 = y1/2;
z = 10 ;

時間の関数の部分です。xは車の前後、yはペンの左右、zはペンの上下を表しています。動かす時間を半分にするなどして、線の長さを変えています。

pen_down; //1画目
car10;
pen_up;
pen_l31;
pen_down; //2画目
car10;
pen_up;
car11;
pen_down; //3画目
pen_r10;
car10;
pen_up;

うかんむりの部分

pen_l21; //4画目
pen_down;
pen_r30;
pen_up;

横棒の部分

car10; //4と5の間の移動
pen_l31;
pen_down; //5画目
car10;
pen_up;
pen_l11;
pen_down; //6画目
pen_r30;
car10;
pen_up;
pen_l31;
pen_down; //7画目
pen_r30;
pen_up;

口の部分

car10;
pen_l21;
pen_down; //8画目
car20;
pen_up;
car21;
pen_down; //9画目
pen_r10;
car20;
pen_l11; //10画目
pen_up;
car11;
pen_down; //11画目
pen_r10;
pen_up;
pen_l31;
car11;
pen_down; //12画目
car20;
pen_up;
pen_l31;

田の部分

car50; //富と山の間の移動

ここまでが「富」の部分のプログラムです。

pen_r30; //山の1画目
pen_down;
car50;
pen_up;
car31;
pen_l31;
pen_down; //2画目
car30;
pen_r10;
pen_up;
car31;
pen_down; //3画目
car40;
pen_up;
}

「山」の部分のプログラムです。

ロボットについて

ロボット全体

車を動かす部分、ペンを左右に動かす部分、ペンを上下に動かす部分の3つに分けて、作りました。それぞれの部分に1つずつモーターを使っています.

ペン左右

ペンを左右に動かす部分です。下の画像のギザギザなレールの上を動きます。

車

1つのモーターで後ろの2つのタイヤが動くようになっています.

ペン上下

ペンを上下させる部分です。機関車などのタイヤのようになっています。

まとめ

ペンがどうしても下がってきてしまい、線が重なってうまく文字を書くことができなかった。「山」は読める程度にはなったが、「冨」は前半がうまくいかなかった。改良点として、ペンの上下の部分をもっと歯車を組み合わせて揺れないようにすべきだったと思う。


添付ファイル: fileimage2.jpeg 9件 [詳細] fileimage2(1).jpeg 6件 [詳細] fileimage1(1).jpeg 11件 [詳細] filekanji.nqc 5件 [詳細] fileimage1.jpeg 8件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-07-06 (土) 15:18:45