- 追加された行はこの色です。
- 削除された行はこの色です。
[[2015a/Member]]
*書道ロボット [#r87f0821]
**構造 [#we108490]
***ペンの上下運動 [#n8801518]
筆の上下運動にはタイヤでペンをはさみ、タイヤを回転させることによりペンを上下させる方法をとった
***横移動 [#vf55f1a8]
できるだけ正確な動きができるようにレールの上を歯車が転がることにより移動する方法をとった
***縦移動 [#v1b45195]
パーツの数が足りずレールを使うのが困難なためタイヤを使って移動することにした
***過程 [#s7586a59]
最初は縦、横の上下以外のすべての動きをタイヤで行おうととしていたが正確に描くことができない、誤差がでやすいなどの理由で上記の形に変更した。レールを使うことにより正確にまっすぐ書けるのでよりきれいに描けるようになった
**プログラム [#q05790b8]
「野」を書くプログラムである
書き順は無難に普通の書き順にした。筆が紙についているときとついていない時では動きに違いが出るので何度か調節した
&ref(./無題.png,50%);
#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]
プログラムするときの予想より動きすぎたり、動かなさすぎたりして難しかった。
同じプログラムでもその時によって出来上がりが違うので
自分が思っているよりいろいろな要因がかかわっていると思った。
もっと良いプログラムの仕方などがあったかもしれないのでもっと知識を増やしていきたいと思った