今日(5/18)、ロボット"デカ面"が木を書いた。
ロボット外形作成時間:約3時間(長過ぎて覚えていない)
プログラム作成時間 :2時間30分(長い!!)
完成品のロボット通称〜デカ面〜 タイヤは旋回のぶれを少なくするためキャタピラを採用。 ペンの固定法は複数の輪ゴムでパーツに巻き付けてある。モー ターの歯車とパーツを縦にかませペンの上げ下げを実現。 シンプルなシステムと裏腹に、前方に突き出したメインコンピューター。よって名前は決定、その名はデカ面。私達の課題を成功に導く勇者である。
本番の字 やや緊張ぎみだったらしく多少のぶれはあったが『木』という字を書き出した。成功としておこう。
おまけ この日の彼はすこぶる調子がよかったようだ。きれいな『木』を三つも書き上げ森にしてしまった。本番とは違う画用紙が彼の足を快調に動かす 引き金になったのだ。しかし課題とは違う字になってしまったのであくまで最高欠作になった。
#define NO1 80 #define NO1_BACK 80 #define NO2 100 #define NO2_BACK 110 #define NO2_NO3 38 #define NO3 70 #define NO3_NO3 40 #define TURN 145 #define TURN2 70 #define REV(t) OnRev(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C); //前進 #define FWD(t) OnFwd(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C); //後退 #define TURN3(t) OnFwd(OUT_A);OnRev(OUT_C);Wait(t);Off(OUT_A+OUT_C); //時計回り #define TURN4(t) OnRev(OUT_A);OnFwd(OUT_C);Wait(t);Off(OUT_A+OUT_C); //反時計回り sub down_pen() //ペンを下ろす { OnFwd(OUT_B); Wait(8); Off(OUT_B); } sub up_pen() //ペンを上げる { OnRev(OUT_B); Wait(8); Off(OUT_B); } task main() { down_pen(); //ペンを下げる REV(NO1) //1画目 up_pen(); //ペンを上げる FWD(NO1_BACK) //戻る TURN3(TURN) //90度回転 down_pen(); //ペンを下げる REV(NO2) //2画目 up_pen(); //ペンを上げる FWD(NO2_BACK) //戻る TURN3(TURN2) //回転 REV(NO2_NO3) //3画目書き出しの位置まで進む down_pen(); //ペンを下げる REV(NO3) //3画目 up_pen(); //ペンを上げる FWD(NO2_NO3+NO3) //戻る TURN4(TURN2+TURN2) //回転 REV(NO3_NO3) //4画目書き出しの位置まで進む down_pen(); //ペンを下げる REV(NO3) //4画目 up_pen(); //ペンを上げる }