文字の書き方はシンプルで、ロボット本体を前後に移動させてペンを上下させて書かせた。
モーターを三個使用しBとCは前後にロボット本体を動かすのに使いA4をペンの上げ下げに使用した。
ペンを上下に動かすことによって紙とペンがしっかり接地するようにした。
後ろのタイヤを遠ざけることにより抵抗を少なくした。
#define pen_off OnFwd(OUT_A,30);Wait(250);Off(OUT_A) #define pen_on OnRev(OUT_A,30);Wait(250);Off(OUT_A) #define off Off(OUT_BC);Wait(300) #define speed 30 task main() { OnFwd(OUT_BC,speed);//1画目 Wait(400); Off(OUT_BC); pen_off; OnFwd(OUT_BC,speed); Wait(1270); Off(OUT_BC); OnFwd(OUT_B,speed); OnRev(OUT_C,speed); Wait(420); Off(OUT_BC); OnRev(OUT_BC,speed); Wait(1300); off; pen_on; OnFwd(OUT_BC,speed); Wait(1040); off; //2画目 pen_off; OnFwd(OUT_BC,speed); Wait(940); off; OnRev(OUT_C,speed); Wait(2110); off; OnRev(OUT_BC,speed); Wait(820); off; pen_on; OnFwd(OUT_BC,speed); Wait(450);//3画目 pen_off; off; OnFwd(OUT_BC,speed); Wait(470); off; OnFwd(OUT_B,speed); Wait(2290); off; OnRev(OUT_BC,speed); Wait(2000); off; pen_on; OnRev(OUT_BC,speed); Wait(600); //4画目 pen_off; off; OnFwd(OUT_BC,speed); Wait(1850); OnRev(OUT_C,speed); Wait(1200); off; OnRev(OUT_BC,speed); Wait(970); off; pen_on; OnRev(OUT_BC,speed); Wait(300);//5画目 pen_off; OnFwd(OUT_BC,speed); Wait(1900); off; OnRev(OUT_B,speed); Wait(2100); off; OnFwd(OUT_BC,speed); Wait(1100); off; OnRev(OUT_C,speed); Wait(2450); off; OnRev(OUT_A,speed); Wait(230); Off(OUT_A); OnRev(OUT_BC,speed); Wait(500); off;//6画目 pen_off; OnFwd(OUT_BC,speed); Wait(2000); off; OnRev(OUT_B,speed); Wait(2090); off; OnFwd(OUT_BC,speed); Wait(1200); off; OnRev(OUT_C,speed); Wait(2190); off; OnRev(OUT_BC,speed); Wait(250); off; pen_on; OnRev(OUT_BC,speed); Wait(730);//7画目 pen_off; OnFwd(OUT_BC,speed); Wait(1830); off; OnRev(OUT_B,speed); Wait(2090); off; OnFwd(OUT_BC,speed); Wait(1160); off; OnRev(OUT_C,speed); Wait(2220); off; OnFwd(OUT_BC,speed); Wait(500); off; pen_on; OnRev(OUT_BC,speed); Wait(850);//8画目 pen_off; off; OnFwd(OUT_BC,speed); Wait(1000); off; OnFwd(OUT_B,speed); Wait(2100); off; OnRev(OUT_BC,speed); Wait(1080); off; pen_on; OnRev(OUT_BC,speed); Wait(800); pen_off; off;//9画目 OnFwd(OUT_BC,speed); Wait(1600); off; OnFwd(OUT_C,speed); Wait(1670); off; OnRev(OUTBC,speed); Wait(940); off; pen_on; OnRev(OUT_BC,speed); Wait(600); pen_off; off;//10画目 OnFwd(OUT_BC,speed); Wait(2200); OnRev(OUT_C,speed); Wait(1200); off; OnRev(OUT_BC,speed); Wait(1270); off; pen_on; OnRev(OUT_BC,speed); Wait(300);//11画目 pen_off; OnFwd(OUT_BC,speed); Wait(1930); off; OnRev(OUT_B,speed); Wait(2050); off; OnFwd(OUT_BC,speed); Wait(1130); off; OnRev(OUT_C,speed); Wait(2360); off; OnRev(OUT_A,speed); Wait(230); Off(OUT_A); OnRev(OUT_BC,speed); Wait(450); off;//12画目 pen_off; OnFwd(OUT_BC,speed); Wait(1900); off; OnRev(OUT_B,speed); Wait(2040); off; OnFwd(OUT_BC,speed); Wait(1060); off; OnRev(OUT_C,speed); Wait(2370); off; OnRev(OUT_BC,speed); Wait(360); off; pen_on; OnRev(OUT_BC,speed); Wait(300);//13画目 pen_off; off; }
画数が多く細かい部分が多かったのであえてペンの上げ下げとスピードのみを定義した。 電池の消耗によって出力が変わったりするので 定義したスピードの値をその都度変えることにより対応できるようにした。
使うたびに少しずつずれてしまうので作業が困難だった。 再現性が低いのがこの書道ロボットの難点であると思う。 もう少し再現性を高めたかったが、時間内にでは難しかった。 次にロボットを作るときの課題にしたい。
まず予定が合わずなかなか集まれなっかたり、マシントラブルが作業を進める時間が足りない中で 班員みんなが完成できたのは良かった。 思ったよりは、きれいに書けたと自分では思ってます。笑 初めてこういうものを作り、難しい部分もあったがいい経験にもなった。 この経験を次から役立てたい。