[[2018a/Member]]
*課題 [#y99603e7]
自分にゆかりのある二文字の地名を書かせる.
文字は『富士』を選んだ.
*ロボットの構造 [#g748feca]
三角形や四角形を書くときに用いた自走式のものを流用し,『富士』という字の左右対称性を活かして左右に振って書けるようにと,アームを中央に取り付けた.
#ref(2018a/Member/ogyu/Mission1/image1.jpeg)
*プログラム [#z4ed5cdf]
#define MOVE_TIME1 500 //モーターの駆動時間
#define MOVE_TIME2 750 
#define MOVE_TIME3 1000
#define MOVE_TIME4 1500
#define sageru OnFwd(OUT_A,10); Wait(MOVE_TIME1); Off(OUT_A); //ペンを下げる
#define ageru OnRev(OUT_A,10); Wait(MOVE_TIME1); Off(OUT_A); //ペンを上げる
#define usiro OnRev(OUT_BC,15); Wait(MOVE_TIME2); //後退する
#define Left1 OnFwd(OUT_B,10); OnRev(OUT_C,15); Wait(MOVE_TIME3); //左1旋回
#define Right1 OnFwd(OUT_C,10); OnRev(OUT_B,15); Wait(MOVE_TIME3); //右1旋回
#define zensin OnFwd(OUT_BC,15); Wait(MOVE_TIME2); //前進する
#define Reverse_Left zensin; OnFwd(OUT_C,15); OnRev(OUT_B,10); Wait(1200); //左旋回分戻る
#define Reverse_Right zensin; OnFwd(OUT_B,15); OnRev(OUT_C,10); Wait(1050); //右旋回分戻る
#define off Off(OUT_BC)
#define Left2 OnFwd(OUT_B,10); OnRev(OUT_C,15); Wait(MOVE_TIME2); //左2旋回
#define Right2 OnFwd(OUT_C,10); OnRev(OUT_B,15); Wait(MOVE_TIME2); //右2旋回
#define Reverse_Left2 zensin; OnFwd(OUT_C,15); OnRev(OUT_B,10); Wait(850); //左2旋回分戻る
#define Reverse_Right2 zensin; OnFwd(OUT_B,15); OnRev(OUT_C,10); Wait(790); /右2旋回分戻る

task main ()
{
 sageru; 
 usiro;
 off;
 Left1; //一文字目開始
 usiro;
 off;
 Reverse_Left;
 off;
 Right1;
 usiro;
 off;
 Reverse_Right;
 off; 
 ageru;
 off;
 usiro;
 off;
 sageru;
 Left2;
 Reverse_Left2;
 off;
 Right2;
 off;
 Reverse_Right2;
 off;
 ageru;
 off;
 usiro;
 off;
 sageru;
 off;
 Left2;
 usiro;
 zensin;
 Reverse_Left2;
 off;
 Right2;
 usiro;
 zensin;
 Reverse_Right2;
 off;
 ageru;
 off;
 usiro;
 off;
 Left2;
 Reverse_Left2;
 off;
 Right2;
 Reverse_Right2;
 off;
 ageru;
 off;
 usiro;
 off;
 sageru;
 
 Left2;
 usiro;
 zensin;
 Reverse_Left2;
 off;
 Right2;
 usiro;
 zensin;
 Reverse_Right2;
 off;
 usiro;
 Left2;
 usiro;
 zensin;
 Reverse_Left2;
 off;
 Right2;
 usiro;
 zensin;
 Reverse_Right2;
 off;
 usiro;
 Left2;
 Reverse_Left2;
 off;
 Right2;
 Reverse_Right2;
 off; //一文字目終了
 ageru;
 off;
 usiro;
 usiro;
 sageru; //二文字目開始
 usiro;
 Left1;
 Reverse_Left;
 Right1;
 Reverse_Left;
 usiro;
 Left2;
 Reverse_Left2;
 Right2;
 Reverse_Right2;
 ageru;
 off; //二文字目終了
}
*まとめ [#y2ea104a]
ロボットの構造のところにも書いたように,後退しながら左右に振って書かせようとしましたが,左右の車輪で動きが異なり,それを修正しつつやったものの,全く動作が安定せず結局読める程度の字を書くことはできませんでした.いつか再チャレンジする機会があったら,xy型のものでやってみたいと思いました.


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS