- 追加された行はこの色です。
- 削除された行はこの色です。
[[2006b/A1/ROBOTICS]]
*課題 字を書くロボット [#f526d46c]
目次
+ロボットと作品
++ペンをどう動かすか
+工夫した点
+苦労した点
+プログラム
+反省点
*ロボットと作品 [#qa16df89]
#contents
**ペンをどう動かすか [#i3ae10ca]
*工夫した点 [#jd434675]
*苦労した点[#p0af48fb]
*プログラム [#q6356381]
*ロボットと作品 [#e5a82e6f]
*苦労した点 [#o2a55cc5]
+ペンをどう上げ下げさせるか。
+ペンを下ろすスピード速すぎかも。
+モーターを回すとペンが勝手に戻る・・・
+旋回後のペンの位置
+時間がない・・・
*解決策、工夫した点 [#qfd34dae]
+相方のひらめきによって完成。
+スピードはかえれないので、モーターの動きをかなり短くしてみた。
+大きさの違うローラーを使っていたため、ゴムの伸び縮みで元に戻ってしまう事に気づき同じ大きさのローラーを使うことで解決。
+旋回の前後に余分に動くことにしてみた。
*考察 [#l9da920b]
-ロボットを作る時間とプログラムを作る時間が必要なため、時間との戦いになった・・・っていうか間に合わなかった。
-ロボットの動きにいろいろ微調整を加えたら動きが複雑になり、プログラムもわかりにくくなってしまった。
時間がかかってしっまた一つの原因かも知れない。
-そこでほんの少しシンプルにしてからプログラムを貼り付けさせてもらいました。
*プログラム [#gccbf06d]
#define MOVE_TURN 165 //90度旋回時間
#define TURN_BACK 130 //旋回後微調整時間
#define AMARI 80 //旋回前微調整時間
#define TATE 60 //縦への移動時間
#define YOKO 100 //横への移動時間
sub turn_right()
{
OnFwd(OUT_C);
OnRev(OUT_A); Wait(MOVE_TURN);
Rev(OUT_A+OUT_C); Wait(TURN_BACK);
Off(OUT_A+OUT_C);
} //右への90度旋回
task main()
{
OnFwd(OUT_B); Wait(20);
Off(OUT_B);
OnRev(OUT_A+OUT_C); Wait(TATE);
Off(OUT_A+OUT_C);
OnRev(OUT_B); Wait(7);
Off(OUT_B); //ここで一画目が終了
OnFwd(OUT_A+OUT_C); Wait(TATE);
Fwd(OUT_A+OUT_C); Wait(AMARI);
turn_right();
OnFwd(OUT_B); Wait(20); //ここから二画目:横
Off(OUT_B);
OnFwd(OUT_A+OUT_C); Wait(YOKO);
Off(OUT_A+OUT_C);
OnRev(OUT_B); Wait(7);
Off(OUT_B);
OnFwd(OUT_A+OUT_C); Wait(AMARI);
Off(OUT_A+OUT_C);
turn_right(); //右へ90度旋回
OnFwd(OUT_B); Wait(20);
Off(OUT_B);
OnFwd(OUT_A+
OnFwd(OUT_B); Wait(30); //二画目:縦
Off(OUT_B);OUT_C); Wait(TATE);
Off(OUT_A+OUT_C);
OnRev(OUT_B); Wait(10);
Off(OUT_C);
OnFwd(OUT_A+OUT_C); Wait(AMARI);
turn_right();
OnFwd(OUT_A+OUT_C); Wait(YOKO);
Off(OUT_A+OUT_C);
OnRev(OUT_A+OUT_C); Wait(YOKO);//三画目
Off(OUT_A+OUT_C);
OnRev(OUT_B); Wait(10);
Off(OUT_B);
OnFwd(OUT_A+OUT_C); Wait(AMARI);
Fwd(OUT_A+OUT_C); Wait(34);
turn_right();
OnFwd(OUT_A+OUT_C); Wait(100);
Off(OUT_A+OUT_C);
OnFwd(OUT_B); Wait(20);
Off(OUT_B);
OnRev(OUT_A+OUT_C); Wait(200);//四画目
Off(OUT_A+OUT_C); //停止
}
*反省点 [#z9a093d5]