[[2019a/Member]]
目次
#contents
*課題について [#f142bb49]
課題1については,[[2019a/Mission1]]を参照してください.
**選んだ文字 [#n30a0157]
「香川」という県名を選びました.
*ロボット本体について [#da645b95]
#ref(ロボティクス入門2.jpeg)
上の写真は,ロボット全体を撮影したものである.ロボット全体を四輪のタイヤで動かし,モーターの回転を使ってペンを回転させて,ペン先を紙に当てたり,紙から離したりする,コンパクトで単純な構造にした.
*プログラムについて [#ybdf1330]
前後の移動,右回転,左回転,ペンの上げ下げをあらかじめ定義した.
f,b,r,lはそれぞれの稼働時間である.
#define pen_up OnRev(OUT_B);Wait(10);//ペンを上げる
#define pen_down OnFwd(OUT_B);Wait(10);//ペンを下げる
#define mae(f) OnFwd(OUT_AC);Wait(f);Off(OUT_AC);//前進
#define ushiro(b) OnRev(OUT_AC);Wait(b);Off(OUT_AC);//後退
#define migikaiten(r) OnFwd(OUT_A);OnRev(OUT_C);Wait(r);Off(OUT_AC);//右回転
#define hidarikaiten(l) OnFwd(OUT_C);OnRev(OUT_A);Wait(l);Off(OUT_AC);//左回転
すべてをサブルーチンでプログラムした.
サブルーチンが8つ超えると,超えた分の定義ができないため,全12画を8つのまとまりに分けた.
sub ichinikaku()//1,2画目
{
pen_down;
ushiro(70);
pen_up;
migikaiten(20);
mae(100);
pen_down;
ushiro(120);
pen_up;
}
sub sankaku()//3画目
{
mae(150);
migikaiten(120);
ushiro(50)
pen_down;
ushiro(80);
pen_up;
}
sub yongokaku()//4,5画目
{
mae(40);
pen_down;
OnFwd(OUT_A);
Wait(120);
Off(OUT_A);
pen_up;
OnRev(OUT_A);
Wait(120);
Off(OUT_A);
pen_down;
OnFwd(OUT_C);
Wait(120);
Off(OUT_C);
pen_up;
OnRev(OUT_C);
Wait(120);
Off(OUT_C);
}
sub rokkaku()//6画目
{
mae(230);
migikaiten(120);
mae(40);
migikaiten(120);
pen_down;
ushiro(80);
pen_up;
}
sub nanakaku()//7画目
{
mae(170);
migikaiten(140);
ushiro(80);
pen_down;
mae(100);
pen_up;
mae(80);
migikaiten(120);
ushiro(100);
pen_down;
mae(80);
pen_up;
mae(40);
}
sub hachikaku()//8画目
{
mae(15);
hidarikaiten(120);
ushiro(120);
pen_down;
ushiro(100);
pen_up;
}
sub kyukaku()//9画目
{
hidarikaiten(120);
ushiro(30);
hidarikaiten(135);
ushiro(220);
pen_down;
ushiro(100);
pen_up;
}
sub jujuichijunikaku()//10,11,12画目
{
mae(200);
hidarikaiten(120);
pen_down;
mae(100);
pen_up;
hidarikaiten(120);
mae(50);
migikaiten(120);
ushiro(30);
pen_down;
ushiro(70);
pen_up;
migikaiten(120);
ushiro(50);
hidarikaiten(120);
ushiro(40);
pen_down;
mae(120);
pen_up;
}
task main()
{
ichinikaku();
sankaku();
yongokaku();
rokkaku();
nanakaku();
hachikaku();
kyukaku();
jujuichijunikaku();
}
*まとめ [#de0aa76a]
**書けた文字 [#kcd6458a]
#ref(ロボティクス入門.jpeg)
**感想 [#b12e1a44]
動作の確認をするたびに,紙との摩擦の影響で,少し動きが変わったので,数値の調整が難しかった.今回は,簡易的な構造のロボットを用い,プログラムを凝ったが,複雑な機械を用いて,簡単なプログラムで済むようなものも作ってみたい.