僕は「富山」を書くことにしました。
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つのタイヤが動くようになっています.
ペンを上下させる部分です。機関車などのタイヤのようになっています。
ペンがどうしても下がってきてしまい、線が重なってうまく文字を書くことができなかった。「山」は読める程度にはなったが、「冨」は前半がうまくいかなかった。改良点として、ペンの上下の部分をもっと歯車を組み合わせて揺れないようにすべきだったと思う。