[[2016a/Member]] #contents *はじめに [#s9134154] 今回の課題では自分の似顔絵を描くロボットを製作した *ロボットの説明 [#m308b6ed] ペンは輪ゴムを巻くことで固定した。前に進むときはしっかりと線を書くことができるが、後ろに進むときは、しっかりかけないときがあったため、後ろに進みながらかくことはないようにした #ref(2016a/Member/niwa/Mission1/212K.jpg) ベースはそんなに変えずに、ペンの上げ下げの仕組みをつけた。モーターBを使った。 #ref(2016a/Member/niwa/Mission1/211K.jpg) 2つのモーターACを使い、前後の動きをした。 #ref(2016a/Member/niwa/Mission1/210K.jpg) 完成した似顔絵 練習とは違い、口が斜めになってしまった。 練習とは違い、口が斜めになってしまった。 #ref(2016a/Member/niwa/Mission1/214K.jpg) *プログラミング [#t2adb585] task main() { RotateMotor(OUT_B,50,90); //ペンを下げる RotateMotor(OUT_A,75,1600); //360度旋回 OnFwd(OUT_A,70); //方向転換 OnRev(OUT_C,60); Wait(200); Off(OUT_AC); repeat(2){ OnFwd(OUT_AC,75); // 髪の毛 始 Wait(200); Off(OUT_AC); OnFwd(OUT_A,75); OnRev(OUT_C,75); Wait(400); Off(OUT_AC); OnFwd(OUT_AC,75); Wait(200); Off(OUT_AC); OnFwd(OUT_C,75); OnRev(OUT_A,75); Wait(400); Off(OUT_AC); //髪の毛 終 } RotateMotor(OUT_B,50,-90); // ペンを上げる OnFwd(OUT_A,70); //180度方向転換 OnRev(OUT_C,60); Wait(1400); Off(OUT_AC); OnFwd(OUT_AC,75); Wait(100); Off(OUT_AC); RotateMotor(OUT_B,50,90); //ペンを下げる OnFwd(OUT_AC,75); Wait(200); Off(OUT_AC); RotateMotor(OUT_B,50,-90); //ペンを上げる OnFwd(OUT_AC,75); Wait(100); Off(OUT_AC); RotateMotor(OUT_B,50,90); //ペンを下げる OnFwd(OUT_AC,75); Wait(200); Off(OUT_AC); RotateMotor(OUT_B,50,-90); //ペンを上げる OnFwd(OUT_C,60); //90度左に曲がる OnRev(OUT_A,60); Wait(600); Off(OUT_AC); OnFwd(OUT_AC,75); Wait(100); Off(OUT_AC); OnFwd(OUT_C,60); //90度左に曲がる OnRev(OUT_A,60); Wait(500); Off(OUT_AC); OnFwd(OUT_AC,75); Wait(100); Off(OUT_AC); RotateMotor(OUT_B,50,90); //ペンを下げる OnFwd(OUT_AC,75); Wait(200); Off(OUT_AC); RotateMotor(OUT_B,50,-90); //ペンを上げる } *課題と反省 [#u50f79ef] プログラミングで定義「define」を使わなかったことで時間の修正をするときなど、すごい時間がかかった。また電池の加減もあり、似顔絵の口の部分が斜めになったり、多少のずれが生じてしまった。次回からのプログラミングは楽に修正できるように定義を利用していきたい