[[2019a/Member]] *目次 [#ldc812ea] #contents *課題について [#p3ae73a8] 自分の住んでいた地域の名前で2文字以上、12画以上の漢字をA4用紙に書く。 *選んだ漢字 [#v7f01bf8] 比較的書きやすい「信州」にしました。 イの斜めの部分は横にします。また、本来の書き順とは違う書き方にしました。↓ #ref(1559820822194-1031315361.jpg) *ロボットの仕組み [#n406f406] プログラミングのことを考慮してX軸、Y軸型のロボットを作成しました。 #ref(15598187394241720833850.jpg) 全体像斜め上から↑ #ref(1559818803236-46483717.jpg) 真上から↑ +X軸方向 土台となる部分であり、Y軸、Z軸のロボットを上に乗せるため、できるだけ頑丈につくった。また、機体を安定させるためタイヤを5個つけた。 +Y軸方向 ロボットが落ちないように、下に線路のようにくぼみをつくった。安定させるためタイヤを4個つけた。↓ #ref(1559818674149-890667601.jpg) #ref(15598252598781112878684.jpg) ↑Y軸型単体 +Z軸方向 多少の誤差をカバーするために筆ペンを用いた。筆ペンは輪ゴムを使って固定した。 筆ペンの重みで機体が傾かないように反対側に重りをつけた。↓(逆向きになってすいません) #ref(1559745353410-1428616335.jpg) 中々真っ直ぐに進まず調整が大変でした。おそらく機体のバランスが不安定であることが原因。 *プログラミング [#g684e17d] define pen_down OnFwd(OUT_C,8);Wait(1000);Off(OUT_C); ペンを下げる #define pen_up OnRev(OUT_C,8);Wait(1000);Off(OUT_C); ペンを上げる task main() { 信1画目 pen_down; OnFwd(OUT_B,50); Wait(200); pen_up; OnRev(OUT_B,50); Wait(100); 信2画目 pen_down; OnFwd(OUT_A,50); Wait(500); pen_up; OnRev(OUT_A,50); Wait(600); OnFwd(OUT_B,50); Wait(200); 信3画目 pen_down; OnFwd(OUT_B,50); Wait(150); pen_up; OnFwd(OUT_B,50); Wait(50); OnFwd(OUT_A,50); Wait(100); 信4画目 pen_down; OnRev(OUT_B,50); Wait(250); pen_up; OnFwd(OUT_A,50); Wait(75); OnFwd(OUT_B,50); Wait(50); 信5画目 pen_down; OnFwd(OUT_B,50); Wait(150); pen_up; OnFwd(OUT_A,50); Wait(75); 信6画目 pen_down; OnRev(OUT_B,50); Wait(150); pen_up; OnRev(OUT_B,50); Wait(50); OnFwd(OUT_A,50); Wait(75); 信の口の部分 pen_down; OnFwd(OUT_B,50); Wait(250); OnFwd(OUT_A,50); Wait(250); OnRev(OUT_B,50); Wait(250); OnRev(OUT_A,50); Wait(250); pen_up; 信完成 OnFwd(OUT_A,50); Wait(550); OnRev(OUT_B,50); Wait(250); 州1画目 pen_down; OnFwd(OUT_A,50); Wait(200); pen_up; OnRev(OUT_A,50); Wait(400); OnFwd(OUT_B,50); Wait(100); 州2画目 pen_down; OnFwd(OUT_A,50); Wait(600); pen_up; OnFwd(OUT_B,50); Wait(100); OnRev(OUT_A,50); Wait(200); 州3画目 pen_down; OnRev(OUT_A,50); Wait(200); pen_up; OnRev(OUT_A,50); Wait(200); OnFwd(OUT_B,50); Wait(100); 州4画目 pen_down; OnFwd(OUT_A,50); Wait(600); pen_up; OnFwd(OUT_B,50); Wait(100) OnRev(OUT_A,50); Wait(200); 州5画目 pen_down; OnRev(OUT_A,50); Wait(200); pen_up; OnRev(OUT_A,50); Wait(200); OnFwd(OUT_B,50); Wait(100); 州6画目 pen_down; OnFwd(OUT_A,50); Wait(600); 州完成 } ペンの上げ下げは何度もするので先に定義して無駄を省きました。 ペンの上げ下げは何度もするので先に定義して無駄を省きました。州の文字は同じ動作を繰り返すのでプログラミングは信に比べ、かなり簡単でした。 *まとめ、感想 [#ud53a6f0] 初めてのロボットづくりでどのようなプログラミングをつくるのか、そもそも、どうやって打ち込むのかも分からない状態での試みでとても苦労しました。一度片づけてしまうと次に使うときに、もう一度組み立てなければならず、いつも若干違う形になってしまいました。また、ロボットの重さで何度も土台の部分が壊れてしまい、その度に心が折れかけました。今回は、ロボット自体は早めに仕上がりましたが、プログラミングが中々できず、当初決めていた漢字とは別にしたり、漢字を簡易化したりして工夫しながらも、提出期限ギリギリになってしまい、とても焦りました。