*はじめに [#r748ebd3]

課題は書道ロボットの作成である。

詳しい内容は、各自の名前の中の一文字をA4用紙の中に書きなさい。 

ただし7画以上の文字を選ぶこと。もし7画以上の文字がない場合には合計7画以上になるように複数の文字を書きなさい。 

マクロや関数などを使い、main関数はなるべく単純になるようにプログラムを作ること。

今回は「棚」の文字を書いた。

*ロボットの説明 [#f5c5e614]

#ref(2015a/Member/youkosobarbonshophe/Mission1/IMG_2223.JPG,30%)

前後にのみ移動する本体に、左右に移動するアームをつけ、そのアームの上にペンを上下させるパーツがある構造である。

*ロボットの動作 [#w31d24da]

ロボットに求める動きは

・本体の前後進

・アームの伸び縮み

・ペンの上げ下げ

の3つが主となる。

*ペンの動作 [#edb81042]

ペンの上げ下げは、写真のようにモーターを進めるとペンが下がり、戻すとペンが上がるようにした。

 #define pen_down OnFwd(OUT_C);Wait(5);Off(OUT_C);//ペンを下げる
 #define pen_up OnRev(OUT_C);Wait(7);Off(OUT_C);//ペンを上げる

#ref(2015a/Member/youkosobarbonshophe/Mission1/IMG_2220.JPG,30%)

*字を書く [#g46172ae]

**書く順番 [#j4bd1ad1]

「棚」をかくために、

� 嵬據廚鮟颪�→�◆峽遏廚鮟颪�→��「月」を書く

2回目の「月」は「repeat」を使った

**プログラム [#gcdb9e5f]

始めに時間を定義しますが、横棒はすべて0.2秒、縦棒はすべて0.8秒とした。

 #define base_time 20
 #define straight_time 80

・「十」を書く

 task main()
 {
 pen_down;
 OnRev(OUT_B);
 Wait(base_time);
 Off(OUT_B);

 
 pen_up;
 OnFwd(OUT_B);
 Wait(10);
 OnRev(OUT_A);
 Wait(20);
 Off(OUT_A);

 
 pen_down;
 OnFwd(OUT_A);
 Wait(straight_time);
 Off(OUT_A);


 pen_up;
 OnRev(OUT_A);
 Wait(60);
 Off(OUT_A);
 
・「八」を書く

 pen_down;
 OnFwd(OUT_AB);
 Wait(10);
 Off(OUT_AB);
 pen_up;
 OnRev(OUT_AB);
 Wait(10);
 Off(OUT_AB);

 
 pen_down;
 Onfwd(OUT_A);
 OnREv(OUT_B);
 Wait(10);
 Off(OUT_AB);
 pen_up;
 OnFwd(OUT_B);
 OnRev(OUT_A);
 Wait(10);
 Off(OUT_AB);


 Onfwd(OUT_A);
 Wait(50);
 Off(OUT_A);
 OnRev(OUT_B);
 Wait(bse_time);
 Off(OUT_B);
 
「月」を書く

 repeat(2){
 pen_down;
 OnRev(OUT_A);
 Wait(straight_time);
 Off(OUT_A);
 

 OnFwd(OUT_B);
 Wait(base_time);
 Off(OUT_B);
 

 Onfwd(OUT_A);
 Wait(straight_time);
 Off(OUT_A);
 

 pen_up;
 OnRev(OUT_A);
 Wait(40);
 Off(OUT_A);
 

 pen_down;
 OnFwd(OUT_B);
 Wait(base_time);
 Off(OUT_B);
 

 pen_up;
 OnRev(OUT_A);
 Wait(base_time);
 Off(OUT_A);
 

 pen_down;
 OnRev(OUT_B);
 Wait(base_time);
 Off(OUT_B);
 

 pen_up;
 OnFwd(OUT_A);
 Wait(60);
 Off(OUT_A);
 OnRev(OUT_B);
 Wait(base_time);
 Off(OUT_B);
 }
 }

#ref(2015a/Member/youkosobarbonshophe/Mission1/IMG_2209.JPG,10%)

*感想・考察 [#r1b1ae1c]

「棚」は直線が多く、2回目の「月」でrepeatをつかえたため、画数が多いわりに
以外と簡単だった。

また、ロボットをアーム式にしたことによって、直角に曲がるときや、
斜めの動きのプログラミングも簡単にすることができた。

ただ、アームによって重心が偏るため、本体の反対側に重りとなるタイヤを
つけるという不格好な見た目になってしまった。

そして、ペンの紙への押さえつけが弱かったせいか、最後のほうで字が途切れ途切れ
になってしまった。次回からはプログラミングや機能はもちろん、見た目にも
こだわっていきたい。

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS