2016b/Member/ssh/Mission1
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
目次
#contents
* はじめに [#l7bbced3]
今年の大学生活を表す漢字として、松本の多くの自然の中で伸...
* 機体の説明 [#kfd3f38c]
** 全体像 [#o9280146]
まず、プログラミングを考えることに多少時間がかかったとし...
#ref(2016b/Member/ssh/Mission1/DSC_0181.JPG,100%)
** アームパーツ [#a0b56893]
上下に動くアームにペンをゴムで固定してペンの上げ下ろしを...
#ref(2016b/Member/ssh/Mission1/DSC_0182.JPG,100%)
* プログラムの説明 [#j32cff05]
頻繁に使う時間を定義した。
#define TURN_TIME 41
#define TENKAI_TIME 70
#define MOVE_TIME 20
ペンを上げる動作である。
sub pen_up()
{
OnFwd(OUT_B);
Wait(20);
Off(OUT_B);
}
ペンを下げる動作である。(アームがペンの重さにより自然と...
sub pen_down()
{
OnRev(OUT_B);
Wait(17);
Off(OUT_B);
}
90度左に機体の向きを変える動作である。
sub turn_left90()
{
OnRev(OUT_AC);
Wait(TENKAI_TIME);
OnFwd(OUT_C);
OnRev(OUT_A);
Wait(TURN_TIME*2);
OnFwd(OUT_AC);
Wait(TENKAI_TIME);
Off(OUT_AC);
}
90度右に機体の向きを変える動作である。
sub turn_right90()
{
OnRev(OUT_AC);
Wait(TENKAI_TIME);
OnRev(OUT_C);
OnFwd(OUT_A);
Wait(TURN_TIME*2);
OnFwd(OUT_AC);
Wait(TENKAI_TIME);
Off(OUT_AC);
}
45度左に機体の向きを変える動作である。
sub turn_left45()
{
OnRev(OUT_AC);
Wait(TENKAI_TIME);
OnFwd(OUT_C);
OnRev(OUT_A);
Wait(TURN_TIME);
OnFwd(OUT_AC);
Wait(TENKAI_TIME);
Off(OUT_AC);
}
前進の動作である。
void move_front(int s)
{
OnFwd(OUT_AC);
Wait(s);
Off(OUT_AC);
}
後退の動作である。
void move_back(int u)
{
OnRev(OUT_AC);
Wait(u);
Off(OUT_AC);
}
1つの線を書く動作である。
void write(int t)
{
pen_down();
OnFwd(OUT_AC);
Wait(t);
Off(OUT_AC);
pen_up();
}
上記のサブルーチンとマクロを用いて「伸」を書く。
task main()
{
write(60); //人偏の一画目を書く
move_back(31);
turn_left45();
write(MOVE_TIME*3); //人偏の二画目を書く
move_back(MOVE_TIME*3);
turn_left90();
move_front(MOVE_TIME);
turn_right90();
repeat(4)
{
write(MOVE_TIME*2);
turn_left90();
} //「伸」の正方形のところを...
move_front(MOVE_TIME);
turn_left90();
write(MOVE_TIME*2); //「伸」の本来の五画目
turn_left90();
move_front(MOVE_TIME*2);
turn_left90();
move_front(MOVE_TIME);
turn_left90();
write(MOVE_TIME*4); //「伸」の七画目
Off(OUT_ABC);
}
* まとめ [#webe7ad6]
はじめは、今回作ったようなシンプルな機体の構造なら動きも...
#ref(2016b/Member/ssh/Mission1/DSC_0185.JPG,100%)
実際に本番では紙を巻き込んでしまい失敗した。本番の前に何...
このように今回私が制作したロボットには様々な問題がおこっ...
終了行:
目次
#contents
* はじめに [#l7bbced3]
今年の大学生活を表す漢字として、松本の多くの自然の中で伸...
* 機体の説明 [#kfd3f38c]
** 全体像 [#o9280146]
まず、プログラミングを考えることに多少時間がかかったとし...
#ref(2016b/Member/ssh/Mission1/DSC_0181.JPG,100%)
** アームパーツ [#a0b56893]
上下に動くアームにペンをゴムで固定してペンの上げ下ろしを...
#ref(2016b/Member/ssh/Mission1/DSC_0182.JPG,100%)
* プログラムの説明 [#j32cff05]
頻繁に使う時間を定義した。
#define TURN_TIME 41
#define TENKAI_TIME 70
#define MOVE_TIME 20
ペンを上げる動作である。
sub pen_up()
{
OnFwd(OUT_B);
Wait(20);
Off(OUT_B);
}
ペンを下げる動作である。(アームがペンの重さにより自然と...
sub pen_down()
{
OnRev(OUT_B);
Wait(17);
Off(OUT_B);
}
90度左に機体の向きを変える動作である。
sub turn_left90()
{
OnRev(OUT_AC);
Wait(TENKAI_TIME);
OnFwd(OUT_C);
OnRev(OUT_A);
Wait(TURN_TIME*2);
OnFwd(OUT_AC);
Wait(TENKAI_TIME);
Off(OUT_AC);
}
90度右に機体の向きを変える動作である。
sub turn_right90()
{
OnRev(OUT_AC);
Wait(TENKAI_TIME);
OnRev(OUT_C);
OnFwd(OUT_A);
Wait(TURN_TIME*2);
OnFwd(OUT_AC);
Wait(TENKAI_TIME);
Off(OUT_AC);
}
45度左に機体の向きを変える動作である。
sub turn_left45()
{
OnRev(OUT_AC);
Wait(TENKAI_TIME);
OnFwd(OUT_C);
OnRev(OUT_A);
Wait(TURN_TIME);
OnFwd(OUT_AC);
Wait(TENKAI_TIME);
Off(OUT_AC);
}
前進の動作である。
void move_front(int s)
{
OnFwd(OUT_AC);
Wait(s);
Off(OUT_AC);
}
後退の動作である。
void move_back(int u)
{
OnRev(OUT_AC);
Wait(u);
Off(OUT_AC);
}
1つの線を書く動作である。
void write(int t)
{
pen_down();
OnFwd(OUT_AC);
Wait(t);
Off(OUT_AC);
pen_up();
}
上記のサブルーチンとマクロを用いて「伸」を書く。
task main()
{
write(60); //人偏の一画目を書く
move_back(31);
turn_left45();
write(MOVE_TIME*3); //人偏の二画目を書く
move_back(MOVE_TIME*3);
turn_left90();
move_front(MOVE_TIME);
turn_right90();
repeat(4)
{
write(MOVE_TIME*2);
turn_left90();
} //「伸」の正方形のところを...
move_front(MOVE_TIME);
turn_left90();
write(MOVE_TIME*2); //「伸」の本来の五画目
turn_left90();
move_front(MOVE_TIME*2);
turn_left90();
move_front(MOVE_TIME);
turn_left90();
write(MOVE_TIME*4); //「伸」の七画目
Off(OUT_ABC);
}
* まとめ [#webe7ad6]
はじめは、今回作ったようなシンプルな機体の構造なら動きも...
#ref(2016b/Member/ssh/Mission1/DSC_0185.JPG,100%)
実際に本番では紙を巻き込んでしまい失敗した。本番の前に何...
このように今回私が制作したロボットには様々な問題がおこっ...
ページ名: