[[2015a/Member]]
*書道ロボット [#r87f0821]
**構造 [#we108490]
***ペンの上下運動 [#n8801518]
筆の上下運動にはタイヤでペンをはさみ、タイヤを回転させることによりペンを上下させる方法をとった
***横移動 [#vf55f1a8]
できるだけ正確な動きができるようにレールの上を歯車が転がることにより移動する方法をとった
***縦移動 [#v1b45195]
パーツの数が足りずレールを使うのが困難なためタイヤを使って移動することにした

***過程 [#s7586a59]
最初は縦、横の上下以外のすべての動きをタイヤで行おうととしていたが正確に描くことができない、誤差がでやすいなどの理由で上記の形に変更した。レールを使うことにより正確にまっすぐ書けるのでよりきれいに描けるようになった

**プログラム [#q05790b8]
 「野」を書くプログラムである
書き順は無難に普通の書き順にした。筆が紙についているときとついていない時では動きに違いが出るので何度か調節した
 #define DOWN OnRev(OUT_C);Wait(5);Off(OUT_C);
 #define UP   OnFwd(OUT_C);Wait(5);Off(OUT_C);
 #define tate  OnFwd(OUT_A);Wait(30);Off(OUT_A);
 #define tatesyou  OnFwd(OUT_A);Wait(15);Off(OUT_A);
 #define yoko  OnFwd(OUT_B);Wait(30);Off(OUT_B);
 #define longtate  OnFwd(OUT_A);Wait(60);Off(OUT_A);
 #define backtate OnRev(OUT_A);Wait(15);Off(OUT_A);
 #define backtatesyou OnRev(OUT_A);Wait(8);Off(OUT_A);
 #gefine backyoko OnRev(OUT_B);Wait(30);Off(OUT_B);


 task main()
 {
 DOWN;tate;UP;backtate;
 DOWN;yoko;tate;UP;backtatesyou;bavkyoko;
 DOWN;yoko;UP;backyoko;tatesyou;
 DOWN;yoko;UP;tatesyou;backyoko;
 DOWN;longtate;UP;backyokobacktatesyou
 DOWN;yoko;UP;backyoko;tatesyou;
 DOWN;yoko:UP;yoko;backtate;backtate;
 DOWN;yoko;OnRev(OUT_B);OnFwd(OUT_A);Wait(30);Off(OUT_A+OUT_B);UP;OnRev(OUT_A);OnRev(OUT_B);Wait(15);Off(OUT_A+OUT_B);
 DOWN;OnFwd(OUT_B+OUT_A);Wait(30);Off(OUT_A+OUT_B);UP;OnRev(OUT_B);Wait(22);Off(OUT_B);
 DOWN;yoko;OnRev(OUT_B);OnFwd(OUT_A);Wait(7);Off(OUT_A+OUT_B);UP;OnRev(OUT_B+OUT_A);Wait(7);Off(OUT_B+OUT_A);
 DOWN;tate;OnRev(OUT_B+OUT_A);Wait(7);Off(OUT_B+OUT_A);UP;
 }

**感想 [#c8c983ec]
プログラムするときの予想より動きすぎたり、動かなさすぎたりして難しかった。 
同じプログラムでもその時によって出来上がりが違うので
自分が思っているよりいろいろな要因がかかわっていると思った。
もっと良いプログラムの仕方などがあったかもしれないのでもっと知識を増やしていきたいと思った

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