[[2018a/Member]]
#content
#contents
*課題1 [#p17a8bec]
紙にペンで,画数が合わせて10画以上の漢字2文字を書く.文字は自分と関係のある文字とする.
**選んだ漢字 [#t31a7c9f]
東寺山町に住んでいたので「東山」にした.
*ロボットの解説 [#oabccc58]
**ロボット全体 [#z5afea9b]
#ref(2018a/Member/yama/Mission1/ロボット1全体.jpg,50%,ロボットの全体)
ロボットはx,y座標を動くものにした.モーターが3個しかないので,x軸に動く車輪,y軸に動くスライド,ペンの上げ下げ,にそれぞれ1個ずつモーターを使った.
#ref(2018a/Member/yama/Mission1/ロボット1分解.jpg,50%,ロボットの分解)
持ち運びに便利なように5個に分解できるようにした.
**ロボットの車輪 [#xf694613]
#ref(2018a/Member/yama/Mission1/ロボット1車輪.jpg,50%,ロボットの車輪)
2006年前期D7の車輪を参考にした.(8/24)×(8/40)=1/15 の減速でゆっくり動くようにした.
**横移動のスライド [#y936741c]
#ref(2018a/Member/yama/Mission1/ロボット1スライド.jpg,50%,ロボットのスライド)
スライドのスピードを落とすため,ギアの数を増やして減速させた.スライドする部分の下の支えに上下反対のブロックを置くことで,スライドをなめらかにした.
**ペンの上げ下げ [#xad9e73c]
#ref(2018a/Member/yama/Mission1/ロボット1筆.jpg,50%,ロボットの筆)
ペンの上げ下げは,一番シンプルにした.減速しないとペンを激しくたたきつけてしまうので,ギアを1個増やし減速した.ブレを減らすためにペンをしっかりと固定した.
*プログラム [#l1bf962e]
x軸に動く車輪のモーターをA,y軸に動くスライドをB,ペンの上げ下げをCにつないだ.
 #define fudeage OnFwd(OUT_A);Wait(10);Off(OUT_A);
 #define fudesage OnRev(OUT_A);Wait(10);Off(OUT_A);
 #define migi OnFwd(OUT_B);Wait(18);OnRev(OUT_B);
 #define hidari OnRev(OUT_B);Wait(18);OnRev(OUT_B);
 #define shita OnFwd(OUT_C);Wait(38);OnRev(OUT_C);
 #define ue OnRev(OUT_C);Wait(38);OnRev(OUT_C);
#defineで「筆上げ」や「上」や「右」などわかりやすいように定義した.左右の棒の半分の長さを定義細かく動けるようにした.
 task main()
 {
     fudesage;
     int i=0;
     for(i=0;i<3;i++){migi;migi;fudeage;shita;hidari;hidari;fudesage;
     }                                        //横棒3本
     migi;migi;                               //「東」の1番下の横棒
     fudeage;
     ue;ue;
     fudesage;
     shita;shita;                             //「東」の右の縦棒
     fudeage;
     hidari;
     ue;ue;ue;ue;
     fudesage;
     shita;shita;shita;shita;shita;shita;     //「東」の真ん中の縦棒
     fudeage;
     hidari;
     ue;ue;ue;ue;
     fudesage;
     shita;shita;                             //「東」の左の縦棒
     fudeage;
     migi;
     fudesage;
     OnRev(OUT_B);
     OnFwd(OUT_C);
     Wait(20);
     Off(OUT_BC);                             //「東」の斜め
     fudeage;
     OnFwd(OUT_B);
     OnRev(OUT_C);
     Wait(20);
     Off(OUT_BC);
     fudesage;
     OnFwd(OUT_BC);
     Wait(20);
     Off(OUT_BC);                             //「東」の斜め
     fudeage;
     OnRev(OUT_B);
     Wait(20);
     Off(OUT_B);
     shita;shita;
「東」完成.
     fudesage;
     shita;shita;shita;shita;                 //「山」の1画目
     fudeage;
     hidari;
     ue;ue;
     fudesage;
     shita;shita;
     migi;migi;                               //「山」の2画目
     fudeage;
     ue;ue;
     fudesage;
     shita;shita;                             //「山」の3画目
     fudeage;
 }
「山」完成.「山」は書き順通りに書くようにした.
#ref(2018a/Member/yama/Mission1/ロボット1課題.jpg,50%,課題)
*まとめ [#jd59fe61]
**反省 [#z3cb2742]
ペンの上げ下げの部分のつくりを簡単にしすぎたため,ブレが発生した.x軸の動きとy軸の動きの速さが違うため,斜めの線を書くのが難しかった.プログラムの量が多くなり,きれいに書けなかった.
**感想 [#b18afa49]
見た目がシンプルでカッコ良いロボットができた.ロボットの組み立てや,プログラムを書くのが難しくて時間がかかったけれど楽しかった.もっときれいなプログラムを書けるようになりたいと思った.

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