2018a/Member/shunsuke/Mission1
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2018a/Member]]
書道ロボット
*課題 [#r3439b87]
**課題の内容 [#tcf6d48e]
これまで住んだことのある都道府県名,市町村名,地区名など...
**選んだ文字 [#k42737f7]
私は埼玉県出身なので,「埼玉」という文字を書くことにした.
*ロボット本体の説明 [#nd70e026]
#ref(IMG_2047 (1).jpg)
ロボットの全体図
**前後移動 [#abbb9ff9]
最初は床をタイヤで移動するように製作していたが,紙の上を...
**左右移動 [#ff8b125e]
#ref(IMG_2046 (1).jpg)
ギアの歯のブロックを細長い板のブロックの上側に付けたもの...
**アーム部分 [#xb8c5f9a]
#ref(IMG_2045.png)
ペンはゴムで固定し,アームの上下にもゴムを利用している....
*プログラムの説明 [#m5331874]
**文字の説明 [#b95443de]
#ref(IMG_2054 (1).jpg)
#ref(IMG_2053 (1).jpg)
図をみて分かる通り,漢字にいくつかの点が打ってあるが,こ...
**プログラム概要 [#m9e229ae]
今回は誰でも簡単に使えるようにするためx,y座標型で組むこと...
mx,myに値を代入して上下左右の移動,mxyr,mxylに値を代入し...
#define d OnFwd(OUT_C);Wait(60);Off(OUT_C);//ペンを下げる
#define u OnRev(OUT_C);Wait(60);Off(OUT_C);//ペンを上げる
ペンの上下に関する定義
#define mx(a)\
if (a-x>0) {OnFwd(OUT_A);Wait(a-x);Off(OUT_A);x=a...
else {OnRev((OUT_A);Wait(x-a);Off(OUT_A);x=a;}
x座標の移動に関する定義
#define my(b)\
if (b-y>0) {OnFwd(OUT_B);Wait(b-y);Off(OUT_B);y=b...
else {OnRev(OUT_B);Wait(y-b);Off(OUT_B);y=b;}
y座標の移動に関する定義
#define mxyr(r)\
if (r-y>0) {OnRev(OUT_A);OnFwd(OUT_B);Wait(r-y);O...
else {OnRev(OUT_AB);Wait(y-r);Off(OUT_AB);x=x-y+r...
右斜めの移動に関する定義
#define mxyl(l)
if (l-y>0) {OnFwd(OUT_AB);Wait(l-y);Off(OUT_AB);x...
else {OnFwd(OUT_A);OnRev(OUT_B);Wait(y-l);Off(OUT...
左斜めの移動に関する定義
task main()
{
int x=0;
int y=0;
int r=0;
int l=0;
mx(220);
my(220);//「埼」1に移動
d;
mx(180);//2
mx(200);//3
my(240);//4
my(180);//5
u;
mxyl(160);//6
d;
mxyr(200);//7
u;
mx(100);
my(220);//8
d;
mx(20);//9
u;
mx(60);
my(240);//10
d;
mxyr(200);//11
u;
mxyr(220);//12
d;
mxyr(200);//13
u;
mx(100);
my(180);//14
d;
mx(20);//15
u;
mx(40);//16
d;
my(120);//17
mxyl(140);//18
u;
mx(100);
my(170);//19
d;
my(150);//20
mx(60);//21
my(170);//22
mx(100);//23
u;
「埼」のプログラム
mx(200);
my(110);//「玉」1に移動
d;
mx(40);//2
u;
mx(180);
my(60);//3
d;
mx(60);//4
u;
mx(200);
my(10);//5
d;
mx(40);//6
u;
mx(120);
my(110);//7
d;
my(10);//8
u;
mx(120);
my(110);//7
d;
my(10);//8
u;
mx(100);
my(50);//9
d;
mxyr(30);//10
u;
}
「玉」のプログラム
**プログラムの書き方の例 [#k7d976a1]
例として次のような図形を描くとする.
#ref(DSC_0286.png)
座標は画像のxy座標図の数値を参照
この図形は
mx(80);
my(230);
d;
mxyl(220);
mx(180);
mxyr(200);
u;
このプログラムで描くことができる.
それぞれmx(80)はx座標の80へ行けという指示.
my(230)はy座標の230へ行けという指示.
dはペンを下ろせという指示.
mxyl(220)は左斜めにy座標の220へ行けという指示.
mxyr(200)は右斜めにy座標の200へ行けという指示.
uはペンを上げろという指示である.これらの定義を活用すれば...
**工夫した点,苦労した点 [#x7d5a425]
最初に書いた通り誰でも簡単に使えるようにするためにx軸,y...
例
#define mx(a) \//x軸移動
if (a-x>0) {OnFwd(OUT_A);Wait(a-x);Off(OUT_A);x=a;}\
else {OnRev(OUT_A);Wait(x-a);Off(OUT_A);x=a;}
「x」が現在地で,「a」が今から移動させる座標.移動後にaの...
*まとめ [#v30f1c65]
**実際に書いた漢字 [#n80a482d]
#ref(IMG_2055 (2).jpg)
「埼」のつちへんの斜めに書く線が波線となっているが,これ...
**感想 [#d3d025de]
今回初めてこれほど複雑なプログラムを組んだが,最初にして...
*参考にした過去のページ [#i9aced24]
http://yakushi.shinshu-u.ac.jp/robotics/?2017a%2FMember%2...
終了行:
[[2018a/Member]]
書道ロボット
*課題 [#r3439b87]
**課題の内容 [#tcf6d48e]
これまで住んだことのある都道府県名,市町村名,地区名など...
**選んだ文字 [#k42737f7]
私は埼玉県出身なので,「埼玉」という文字を書くことにした.
*ロボット本体の説明 [#nd70e026]
#ref(IMG_2047 (1).jpg)
ロボットの全体図
**前後移動 [#abbb9ff9]
最初は床をタイヤで移動するように製作していたが,紙の上を...
**左右移動 [#ff8b125e]
#ref(IMG_2046 (1).jpg)
ギアの歯のブロックを細長い板のブロックの上側に付けたもの...
**アーム部分 [#xb8c5f9a]
#ref(IMG_2045.png)
ペンはゴムで固定し,アームの上下にもゴムを利用している....
*プログラムの説明 [#m5331874]
**文字の説明 [#b95443de]
#ref(IMG_2054 (1).jpg)
#ref(IMG_2053 (1).jpg)
図をみて分かる通り,漢字にいくつかの点が打ってあるが,こ...
**プログラム概要 [#m9e229ae]
今回は誰でも簡単に使えるようにするためx,y座標型で組むこと...
mx,myに値を代入して上下左右の移動,mxyr,mxylに値を代入し...
#define d OnFwd(OUT_C);Wait(60);Off(OUT_C);//ペンを下げる
#define u OnRev(OUT_C);Wait(60);Off(OUT_C);//ペンを上げる
ペンの上下に関する定義
#define mx(a)\
if (a-x>0) {OnFwd(OUT_A);Wait(a-x);Off(OUT_A);x=a...
else {OnRev((OUT_A);Wait(x-a);Off(OUT_A);x=a;}
x座標の移動に関する定義
#define my(b)\
if (b-y>0) {OnFwd(OUT_B);Wait(b-y);Off(OUT_B);y=b...
else {OnRev(OUT_B);Wait(y-b);Off(OUT_B);y=b;}
y座標の移動に関する定義
#define mxyr(r)\
if (r-y>0) {OnRev(OUT_A);OnFwd(OUT_B);Wait(r-y);O...
else {OnRev(OUT_AB);Wait(y-r);Off(OUT_AB);x=x-y+r...
右斜めの移動に関する定義
#define mxyl(l)
if (l-y>0) {OnFwd(OUT_AB);Wait(l-y);Off(OUT_AB);x...
else {OnFwd(OUT_A);OnRev(OUT_B);Wait(y-l);Off(OUT...
左斜めの移動に関する定義
task main()
{
int x=0;
int y=0;
int r=0;
int l=0;
mx(220);
my(220);//「埼」1に移動
d;
mx(180);//2
mx(200);//3
my(240);//4
my(180);//5
u;
mxyl(160);//6
d;
mxyr(200);//7
u;
mx(100);
my(220);//8
d;
mx(20);//9
u;
mx(60);
my(240);//10
d;
mxyr(200);//11
u;
mxyr(220);//12
d;
mxyr(200);//13
u;
mx(100);
my(180);//14
d;
mx(20);//15
u;
mx(40);//16
d;
my(120);//17
mxyl(140);//18
u;
mx(100);
my(170);//19
d;
my(150);//20
mx(60);//21
my(170);//22
mx(100);//23
u;
「埼」のプログラム
mx(200);
my(110);//「玉」1に移動
d;
mx(40);//2
u;
mx(180);
my(60);//3
d;
mx(60);//4
u;
mx(200);
my(10);//5
d;
mx(40);//6
u;
mx(120);
my(110);//7
d;
my(10);//8
u;
mx(120);
my(110);//7
d;
my(10);//8
u;
mx(100);
my(50);//9
d;
mxyr(30);//10
u;
}
「玉」のプログラム
**プログラムの書き方の例 [#k7d976a1]
例として次のような図形を描くとする.
#ref(DSC_0286.png)
座標は画像のxy座標図の数値を参照
この図形は
mx(80);
my(230);
d;
mxyl(220);
mx(180);
mxyr(200);
u;
このプログラムで描くことができる.
それぞれmx(80)はx座標の80へ行けという指示.
my(230)はy座標の230へ行けという指示.
dはペンを下ろせという指示.
mxyl(220)は左斜めにy座標の220へ行けという指示.
mxyr(200)は右斜めにy座標の200へ行けという指示.
uはペンを上げろという指示である.これらの定義を活用すれば...
**工夫した点,苦労した点 [#x7d5a425]
最初に書いた通り誰でも簡単に使えるようにするためにx軸,y...
例
#define mx(a) \//x軸移動
if (a-x>0) {OnFwd(OUT_A);Wait(a-x);Off(OUT_A);x=a;}\
else {OnRev(OUT_A);Wait(x-a);Off(OUT_A);x=a;}
「x」が現在地で,「a」が今から移動させる座標.移動後にaの...
*まとめ [#v30f1c65]
**実際に書いた漢字 [#n80a482d]
#ref(IMG_2055 (2).jpg)
「埼」のつちへんの斜めに書く線が波線となっているが,これ...
**感想 [#d3d025de]
今回初めてこれほど複雑なプログラムを組んだが,最初にして...
*参考にした過去のページ [#i9aced24]
http://yakushi.shinshu-u.ac.jp/robotics/?2017a%2FMember%2...
ページ名: