- 追加された行はこの色です。
- 削除された行はこの色です。
[[2019a/Member]]
* 課題について [#v390b1c3]
字を書くロボット、そのプログラミングを作成する。(6/7まで)
私は「伏見」という漢字のプログラムを書いた。
* ロボットについて [#vdfdead1]
車輪で前後,レールで左右に動く,xy平面と考えて作った.
以下からロボット本体の説明を書く.
#ref(./車輪.jpeg,)
↑最初歯車が少なくつくると移動が速すぎたので,小さい歯車から大きい歯車へと何個も噛み合わせることで前後にゆっくり動くようになり,安定した.
#ref(./haguruma.jpeg,)
↑最初歯車が少なく作ると移動が速すぎ,止まるときのずれが大きかったので,小さい歯車から大きい歯車へと何個も噛み合わせることで前後にゆっくり動くようになり,安定した.
#ref(./usiro.jpeg,)
#ref(./上から.jpeg,)
↑上からの写真を見るとわかるように、黄色い線二本を通しモーターCで左右(x軸)に動くようにした.
また,写真左のほうの黄色い線に,ペンを支えているアームが一番下まで行ったときに支える役割も持たせた.
* プログラムについて [#k82fc7ab]
モーターA…前後移動(y軸)
モーターB…ペンの上げ下げ
モーターC…左右移動(x軸)
「伏」の人偏
OnFwd(OUT_C); Wait(2); OnFwd(OUT_A); Wait(45); Off(OUT_AC); Wait(100);
OnFwd(OUT_B); Wait(30); Off(OUT_B); Wait(100);
OnRev(OUT_C); Wait(1); OnRev(OUT_A); Wait(20); Off(OUT_AC); Wait(100);
OnRev(OUT_B); Wait(15); Off(OUT_B); Wait(100);
OnFwd(OUT_A); Wait(45); Off(OUT_A); Wait(100);
OnFwd(OUT_B); Wait(30); Off(OUT_B); Wait(100);
「伏」の右側
OnRev(OUT_A); Wait(40); Off(OUT_A); Wait(100);
OnRev(OUT_B); Wait(15); Off(OUT_B); Wait(100);
OnRev(OUT_C); Wait(35); Off(OUT_C); Wait(100);
OnFwd(OUT_B); Wait(30); Off(OUT_B); Wait(100);
OnFwd(OUT_C); Wait(7); OnRev(OUT_A); Wait(15); Off(OUT_AC); Wait(100);
OnRev(OUT_B); Wait(15); Off(OUT_B) ;Wait(100);
OnFwd(OUT_C); Wait(2); OnFwd (OUT_A); Wait(50); Off(OUT_AC); Wait(100);
OnFwd(OUT_B); Wait(30); Off (OUT_B); Wait(100);
OnRev(OUT_C); Wait(1); OnRev(OUT_A); Wait(40); Off(OUT_AC); Wait(100);
OnRev(OUT_B); Wait(15); Off(OUT_B); Wait(100);
OnReV(OUT_C); Mait(1); OnFwd(OUT_A); Wait(46); Off(OUT_AC); Wait(100);
OnFwd(OUT_B); Wait(30); Off(OUT_B); Wait(100);
OnReV(OUT A); Mait(50); OnFwd(OUT_C); Wait(1); Off(OUT_AC); Wait(100);
OnRev(OUT_B); Wait(15); Off(OUT_B);
OnRev(OUT_C); Wait(1); OnFwd(OUT_A); Wait(5); Off(OUT_ AC); Wait(100);
OnFwd(OUT_B); Wait(30); Off(OUT_B);
人偏と右側の二画目の斜めの線が交わらなようにするのに苦労した.
「伏」からの移動
OnFwd (OUT_C); Wait(2); OnFwd(OUT_A); Wait(65); Off(OUT_AC); Wait(100);
「見」
OnRev(OUT_B); Wait(15); Off(OUT_B); Wait(100);
OnFwd(OUT_A); Wait(55); Off(OUT_A); Wait(100);
OnRev(OUT_C); Wait(30); Off(OUT_C); Wait(100);
OnRev(OUT_A); Wait(55); Off(OUT_A); Wait(100);
OnFwd(OUT_C); Wait(30); Off(OUT_C); Wait(100);
OnFwd(OUT_A); Wait(18); OffOUT_A); Wait(100);
OnRev(OUT_C); Wait(30); Off(OUT_C); Wait(100);
OnFwd(OUT_A); Wait(18); Off(OUT_A); Wait(100);
OnFwd(OUT_C); Wait(30); Off(OUT_C); Wait(100);
OnFwd(OUT_B); Wait(30); Off(OUT_B);
OnFwd(OUT_A); Wait(19); OnRev(OUT_C); Wait(5); Off(OUT_AC); Wait(100);
OnRev(OUT_B); Wait(15); Off(OUT_B); Wait(100);
OnFwd(OUT_A); Wait(17); Off(OUT_A); Wait(100);
OnFwd(OUT_C); Wait(15); Off(OUT_C); Wait(100);
OnFwd(OUT B); Wait(30); Off(OUT_B);
OnRev(OUT_C); Wait(18); OnRev(OUT_A); Wait(17); Off(OUT_AC); Wait(100);
OnRev(OUT_B); Wait(15); Off(OUT B); Wait(100);
OnFwd(OUT_A); Wait(19); Off(OUT_A); Wait(100);
OnRev(OUT_C); Wait(16); Off(OUT_C); Wait(100);
「見」の「目」の部分の横線は,一回一回ペンを上げ下げすればずれるので一画で書いた.
*最後に [#qdec43b0]
全体的な反省点としては,レールでの移動が少し安定しなかったのでもっと強く固定しなければなかった.また,例えば「伏」の斜めの線を描くときに,モーターA,Cを同時に動かしてAだけゆっくり,Cだけ早く動かすというプログラムの書き方がわからなかった.