目次
#ref(./100518robo.jpg,around,right,80%,お絵かきロボット)
#contents
#clear

*課題 [#ma0b0e96]
**お絵描きロボット [#h1281fa6]
A3の紙に相棒の似顔絵を書くロボットを作成せよ。
**メンバー [#qc5144cd]
みのう・みさいづ

*ロボットの製作 [#gf67d56a]
**製作したロボット [#z758577f]
#ref(./100518lb.jpg,around,80%,ロボット画像1)
#ref(./100518lf.jpg,around,80%,ロボット画像2)
#clear
**工夫した点 [#q2897ee3]
-ペンの動作部にウォームギアを使用して速度を落とし、制御しやすくした。
-土台部分、本体及びペンの動作に関わるところは、それぞれ一体になっており、取り外し、組み立てが容易である。
#ref(./100519parts.jpg,80%,取り外した様子)
**今後改善すべき点 [#ka25520b]
-土台部分と本体とのつながりが弱いので、その部分の強度を改善したい。
-ペンの持ち方、動き方についても改善したい。

*プログラムの作成(みのう) [#bfced5af]
**完成した似顔絵 [#o9a9c6fe]
#ref(./100519face_n.jpg,80%,完成した似顔絵(みのう))
**作成したプログラム [#tf2b9bcb]
 #define FORTY_FIVE_DEG 52
 
 int pen_can_up=0;
 int pen_can_dw=1;
 
 #define up_pen repeat(pen_can_up){OnRev(OUT_B);Wait(53);Off(OUT_B);}pen_can_up=0;pen_can_dw=1;
 #define dw_pen repeat(pen_can_dw){OnFwd(OUT_B);Wait(50);Off(OUT_B);}pen_can_dw=0;pen_can_up=1;
 #define go_straight(t) OnFwd(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C);
 #define go_back(t) OnRev(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C);
 #define turn_left(t) OnRev(OUT_A);OnFwd(OUT_C);Wait(t);Off(OUT_A+OUT_C);
 #define turn_right(t) OnFwd(OUT_A);OnRev(OUT_C);Wait(t);Off(OUT_A+OUT_C);
 #define turn_left_f(t) OnRev(OUT_A);OnRev(OUT_C);Wait(65);OnRev(OUT_A);OnFwd(OUT_C);Wait(t);OnFwd(OUT_A);OnFwd(OUT_C);Wait(65);Off(OUT_A+OUT_C);
 #define turn_right_f(t) OnRev(OUT_A);OnRev(OUT_C);Wait(65);OnFwd(OUT_A);OnRev(OUT_C);Wait(t);OnFwd(OUT_A);OnFwd(OUT_C);Wait(65);Off(OUT_A+OUT_C);
 
 task main () {
 	draw_outline();
 
 	// begin move eye place
 	go_back(100);
 	turn_left(105);
 	go_straight(90);
 	// end move eye place
 	draw_eye();
 
 	// begin move hair place
 	go_back(120);
 	// end move hair place
 	draw_hair();
 
 	// begin move nose place
 	go_straight(10);
 	turn_right(110);
 	go_straight(75);
 	// end move nose place
 	draw_nose();
 
 	// begin move mouth place
 	go_back(60);
 	turn_left(110);
 	go_straight(35);
 	// end move mouth
 	draw_mouth();
 }
 
 sub draw_outline() {
 	dw_pen;
 	go_straight(100);
 	up_pen;
 	turn_left_f(FORTY_FIVE_DEG);
 
 	dw_pen;
 	go_straight(40);
 	up_pen;
 	turn_left_f(FORTY_FIVE_DEG);
 
 	dw_pen;
 	go_straight(60);
 	up_pen;
 	turn_left_f(FORTY_FIVE_DEG);
 
 	dw_pen;
 	go_straight(40);
 	up_pen;
 	turn_left_f(FORTY_FIVE_DEG);
 
 	dw_pen;
 	go_straight(100);
 	up_pen;
 }
 
 sub draw_eye() {
 	dw_pen;
 	go_straight(20);
 	up_pen;
 
 	go_straight(35);
 
 	dw_pen;
 	go_straight(20);
 	up_pen;
 }
 
 sub draw_hair() {
 	dw_pen;
 	turn_left(210);
 	up_pen;
 }
 
 sub draw_nose() {
 	dw_pen;
 	go_straight(25);
 	up_pen;
 }
 
 sub draw_mouth() {
 	dw_pen;
 	go_straight(60);
 	up_pen;
 	turn_left_f(FORTY_FIVE_DEG);
 	dw_pen;
 	go_straight(10);
 	up_pen;
 }
**工夫した点 [#i5a884ea]
-ペンを2回以上連続で上げたり下げたりしないよう(ifを使って良いか分からなかったので)repeatを使った。
-サブルーチンを使うことにより、それぞれの動作を容易にコメントアウトでき、途中から途中までの動作チェックを容易にした。
**今後改善すべき点 [#bf201c06]
-線の角のつなぎがうまくいかないので改善したい。
-髪がずれてしまっているのでその点を改善することと、量ももう少し増やしたい。
-マクロを使用したせいか、プログラムの転送に時間がかかったので、その点を改善したい。

*プログラムの作成(みさいづ) [#u6f91fcc]
**完成した似顔絵 [#b8bc585f]
#ref(./100519face_d.jpg,80%,完成した似顔絵(みさいづ))
**作成したプログラム [#tf2b9bcb]
**工夫した点 [#i5a884ea]
**今後改善すべき点 [#bf201c06]

*反省・感想 [#rdeb363f]
-ペンの動作部の製作に時間をかけすぎてしまい、プログラムの調整の時間が足りなくなってしまった。今後は時間配分を考えて製作したい。また、いろいろな経験が出来たので、このことを忘れずに、今後に生かしていきたい。(みのう)
-(みさいづ)

*コメントをどうぞ [#b722e30e]
#comment

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