*課題1* [#i7298d6a] 出身地の都道府県や市、町などの中から2文字を選び、それをA4のの用紙に書くロボットを製作せよ。 *選んだ文字* [#vd1baa0f] 滋賀県にある「高田」という文字を選びました。 *ロボットの説明* [#i0c4c560] **アーム** [#c87f6dc2] 右や左に曲がったり、旋回しても筆ペンの用紙上での位置がブレないように前輪のある直線状の中点に設置した。また、アームのコンパクト化のために歯車を用いて、筆ペンを地面と垂直に固定したまま上下に動かせるようにした。 **車輪部分** [#j1bb9317] シンプルな三輪構造で前輪が二輪、後輪が一輪となっている。前輪の二輪が駆動する。 *プログラミングにあたっての準備* [#s1616dcd] **アームを上下させるプログラム** [#b424451f] #define arm_down OnFwd(OUT_A,50);Wait(150);Off(OUT_A); #define arm_up OnRev(OUT_A,50);Wait(150);Off(OUT_A); **直進させるプログラム** [#xc911cb7] #define go_straight OnFwd(OUT_B,40);OnFwd(OUT_C,43); 左右の駆動力のバランスが異なるため調整した。 **左右それぞれに90度旋回するプログラム** [#o31edb19] #define turn_right OnFwd(OUT_C,25);OnRev(OUT_B,25);Wait(1425);Off(OUT_BC); #define turn_left OnFwd(OUT_B,25);OnRev(OUT_C,25);Wait(1425);Off(OUT_BC); **左右それぞれに曲がるプログラム** [#ca401bd1] #define turn_R OnFwd(OUT_C,25);OnRev(OUT_B,25); #define turn_L OnRev(OUT_C,25);OnFwd(OUT_B,25); **車輪を制止させるプログラム** [#wdfb00e5] #define off Off(OUT_BC); *プログラム本編* [#v6748922] **「高」を書くためのプログラム** [#z1f9ebf0] arm_down go_straight Wait(150); off arm_up turn_right go_straight Wait(350); off u_turn arm_down go_straight Wait(700); off arm_up turn_R Wait(2700); off go_straight Wait(650); off turn_L Wait(1275); off arm_down go_straight Wait(150); off turn_left go_straight Wait(500); off turn_left go_straight Wait(150); off turn_left go_straight Wait(500); off turn_L Wait(950); off go_straight Wait(230); off turn_L Wait(425); off go_straight Wait(500); off u_turn arm_down go_straight Wait(500); off turn_right go_straight Wait(765); off turn_right go_straight Wait(500); off turn_right turn_R Wait(425); off go_straight Wait(150); off arm_up go_straight Wait(378); off turn_L Wait(1850); off arm_down go_straight Wait(150); off turn_left go_straight Wait(150); off turn_left go_straight Wait(150); off turn_left go_straight Wait(150); off **「田」を書くためのプログラム** [#v9ddb1ce] arm_down go_straight Wait(460); off turn_left go_straight Wait(460); off turn_left go_straight Wait(460); off turn_left go_straight Wait(460); off arm_up turn_left go_straight Wait(230); off turn_left arm_down go_straight Wait(430); off arm_up turn_left go_straight Wait(230); turn_left go_straight Wait(230); off turn_left arm_down go_straight Wait(430); off arm_up