目次 #contents *課題について [#h1c4d0f7] A4の紙に松本の大学生活を表す漢字一文字を書くロボットを作る。 文字は15cm四方におさまる大きさ。 課題に囲まれてなかなか自由な時間が取れないから「囲」にした。 *ロボットについて [#mc2100ad] ペンを極力本体に近づけられるよう邪魔な部品を少し外しただけで、本体ほぼそのまま使用した。 ペンを動かすところははシンプルにペン先を上げ下げするだけにして、壊れてもすぐ直せるようにした。ロボット本体を動かして文字を書いたので、正確に文字を書かせるためにあわせるのが大変だったが、なんとかきれいに書けるようになった。 #ref() *プログラムについて [#j551fe12] #define TURN_TIME 2900 #define MOVE_TIME 2000 #define SPEED 20 #define UP OnFwd(OUT_A,SPEED); Wait(30); #define DOWN OnRev(OUT_A,SPEED); Wait(30); task main() { OnFwd(OUT_BC,SPEED);//一画目 Wait(MOVE_TIME); UP OnRev(OUT_BC,SPEED); Wait(200); OnFwd(OUT_C,SPEED);//90度右に曲がる Off(OUT_B); Wait(TURN_TIME); OnRev(OUT_BC,SPEED); Wait(1300); DOWN OnFwd(OUT_BC,SPEED);//二画目 Wait(MOVE_TIME); UP OnRev(OUT_BC,SPEED); Wait(200); OnFwd(OUT_C,SPEED); Off(OUT_B); Wait(TURN_TIME); OnRev(OUT_BC,SPEED); Wait(1300); DOWN OnFwd(OUT_BC,SPEED);//三画目 Wait(MOVE_TIME); UP OnRev(OUT_BC,SPEED); Wait(200); OnFwd(OUT_C,SPEED); Off(OUT_B); Wait(TURN_TIME); OnRev(OUT_BC,SPEED); Wait(1300); DOWN OnFwd(OUT_BC,SPEED);//四画目 Wait(MOVE_TIME); UP OnFwd(OUT_BC,SPEED); Wait(200); OnRev(OUT_B,SPEED); OnFwd(OUT_C,SPEED); Wait(1400); OnRev(OUT_BC,SPEED); Wait(300); DOWN OnFwd(OUT_BC,SPEED);//5画目 Wait(1600); UP OnFwd(OUT_C,SPEED); Off(OUT_B); Wait(TURN_TIME); OnRev(OUT_BC,SPEED); Wait(1000); OnFwd(OUT_C,SPEED); Off(OUT_B); Wait(TURN_TIME); OnRev(OUT_BC,SPEED); Wait(1200); DOWN OnFwd(OUT_BC,SPEED); //6画目 Wait(1500); UP OnRev(OUT_BC,SPEED); Wait(600); OnFwd(OUT_B,SPEED);//左に90度回転 Off(OUT_C); Wait(TURN_TIME); OnRev(OUT_BC,SPEED); Wait(2300); DOWN OnFwd(OUT_BC,SPEED);//7画目 Wait(1400); UP OnFwd(OUT_B,SPEED);//左に90度回転 Off(OUT_C); Wait(TURN_TIME); OnRev(OUT_BC,SPEED); Wait(1200); OnFwd(OUT_B,SPEED);//左に90度回転 Off(OUT_C); Wait(TURN_TIME); OnRev(OUT_BC,SPEED); Wait(1200); DOWN OnFwd(OUT_BC,SPEED);//8画目 Wait(1400); UP }