目次 #contents *はじめに [#h871c360] 課題は書道ロボットの作成である。 詳しい内容として7画以上の文字で15cmに収めること。 私はロボットに沙を書かせることにした。 *失敗作 [#w860d86c] 画像は最初に作ったロボットである。予定としては、初めに作った車体にモーターを2枚重ねてペンを上げ下げして文字を画く機体にしようとした。しかし、問題としてモーターを動かすと歯車が咬み合わなくなってしまう、ゴムをきつく縛ってしまうという点があり新しく機体を作りなおすことにした。 *新しい機体の説明 [#i6d3d172] 新たに車輪を大きなタイヤ2つに変え、後ろに支柱をつけることにした。また、ペンの上げ下げをゴムで取り付けるのではなく2つのタイヤの摩擦でおこなう事にした。歯車の後ろに棒のようなブロックをつけることにより歯車が噛み合わなくなってしまう問題を解消しようとした。 *プログラムの説明 [#e145bb73] #define PEN 10 #define GO(t) OnFwd(OUT_AC);Wait(t);Off(OUT_AC); #define BACK(t) OnRev(OUT_AC);Wait(t);Off(OUT_AC); #define RIGHT(t) OnFwd(OUT_A);Wait(t);Off(OUT_A); #define LEFT(t) OnFwd(OUT_C);Wait(t);Off(OUT_C); #define REST Wait(100); sub pen_up(){ OnRev(OUT_B); Wait(100); Off(OUT_B); } sub pen_down(){ OnFwd(OUT_B); Wait(100); Off(OUT_B); } task main(){ GO(30); #一画目 pen_up(); REST; RIGHT(150); GO(50); RIGHT(150); pen_down(); #二画目 REST; GO(50); pen_up(); REST; LEFT(150); GO(50); LEFT(150); pen_down(); #三角目 REST; GO(50); pen_up(); REST; LEFT(150); BACK(70); pen_down(); REST; GO(50); pen_up(); GO(100); pen_down(); #四画目 REST; GO(50); pen_up(); REST; GO(25); RIGHT(75); pen_down(); #五角目 REST; GO(60); pen_up(); REST; RIGHT(225); BACK(70); pen_down(); REST; GO(25); pen_up(); REST; RIGHT(150); GO(60); RIGHT(150); pen_down(); #六角目 REST; GO(110); pen_up(); REST; BACK(100); RIGHT(150); pen_down(); #七画目 REST; GO(70); }