*目次 [#ef45319a] #contents *課題 [#x8b1c317] **お絵描きロボット [#o96ebfc0] ・A3用紙に相棒の似顔絵を書くロボットの製作 *使用したロボット [#mb1b44ca] **課題を行うために必要な機能 [#o9868197] ・前進後進が可能~ ・左右に方向転換、及びその場での回転が可能~ ・ペンを装着し固定できる~ ・モーターによってペンを上げ下げできる~ ・ペンと紙との摩擦でペンがずれない~ ・動作中に分解しない耐久性がある~ ~ 以上の点を満たすロボットを制作した **ロボットの説明 [#g781b7ed] *プログラム [#s91e56ea] **A [#ucc27b6f] #define up OnRev(OUT_B);Wait(10);Off(OUT_B); //「up」でペンを上げる #define down OnFwd(OUT_B);Wait(40);Off(OUT_B); //「down」でペンを下げる #define matu Off(OUT_A+OUT_C);Wait(50); //「matu」で0.5秒間モーターA,Bの動作停止 void go(int t) { OnFwd(OUT_C+OUT_A);Wait(t); //「go(秒数)」で秒数分だけ前進 } void back(int t) { OnRev(OUT_C+OUT_A);Wait(t); //「back(秒数)」で秒数分だけ後進 } void right(int t) { OnFwd(OUT_A);OnRev(OUT_C);Wait(t); //「right(秒数)」で秒数分だけ右回りに回転 } void left(int t) { OnFwd(OUT_C);OnRev(OUT_A);Wait(t); //「left(秒数)」で秒数分だけ左回りに回転 } task main() { left(40) //左の眉毛を書く matu down right(80) matu up matu right(40) matu go(90) //右の眉毛に移動 matu left(90) matu left(40) //右の眉毛を書く matu down right(80) matu up matu right(40) //右目に移動 matu back(30) matu down matu back(40) //右目を書く matu up right(190) //180度回転と同時に左目の移動 matu down //左目を書く matu back(40) matu go;(20) //顔の中心に移動 matu up matu left(90) //左に90度回転 matu down //鼻を書く go(30) up matu go(50) //口に移動 matu left(40) //口を書く matu down matu right(80) matu Off(OUT_A+OUT_B+OUT_C); //停止 } **B [#ia3e4da6] *コメントをどうぞ [#m2bc11ac] #comment