- 追加された行はこの色です。
- 削除された行はこの色です。
[[2008a/MemberOnly/進行状況A]]
*目次 [#t05cd1c9]
#contents
*課題 [#i53ee740]
**似顔絵ロボット [#o84a368d]
・A3用紙に似顔絵を書くロボットの製作
*ロボットについて [#z625e0ae]
**課題を行うために [#g69c57f1]
・前進、後退、方向転換、回転を行える
・ペンを装着し、ペンを上下できる
以上の点を満たすロボットを制作した
*プログラム [#rca9ce37]
**プログラム1 [#d089407d]
#define B_POWER SetPower(OUT_B,0);//Bの回転速度を調整 &br;
#define OFF_B Off(OUT_B);//Bの回転を停止 &br;
#define GO_STRAIGHT OnFwd(OUT_A+OUT_C);//前進する &br;
#define GO_BACK OnRev(OUT_A+OUT_C);//後退する &br;
#define OFF Off(OUT_A+OUT_C);//AとCの回転を停止する &br;
sub P_DOWN()//ペンをおろす
{
B_POWER; OnFwd(OUT_B); Wait(50); OFF_B;
}
sub P_RAISE()//ペンをあげる
{
B_POWER; OnRev(OUT_B); Wait(50); OFF_B;
}
task main()
{
P_DOWN();
OnRev(OUT_C); OnFwd(OUT_A); Wait(745); OFF;//輪郭を書く
P_RAISE();
OnRev(OUT_C); Wait(100); OFF;
GO_STRAIGHT; Wait(60); OFF;
P_DOWN();//前髪を書く1
GO_STRAIGHT; Wait(30); OFF;
P_RAISE();
GO_BACK; Wait(30); OFF;//前髪を書く2
OnRev(OUT_A); Wait(186); OFF;
GO_STRAIGHT; Wait(98); OFF;
P_DOWN();
GO_STRAIGHT; Wait(40); OFF;
P_RAISE();
GO_BACK; Wait(30); OFF;//前髪を書く3
OnRev(OUT_C); Wait(186); OFF;
GO_STRAIGHT; Wait(120); OFF;
P_DOWN();
GO_STRAIGHT; Wait(40); OFF;
P_RAISE();
GO_BACK; Wait(30); OFF;//前髪を書く4
OnRev(OUT_A); Wait(186); OFF;
GO_STRAIGHT; Wait(98); OFF;
P_DOWN();
GO_STRAIGHT; Wait(40); OFF;
P_RAISE();
GO_BACK; Wait(150); OFF;
OnRev(OUT_A); OnFwd(OUT_C); Wait(267); OFF;
GO_BACK; Wait(50); OFF;
GO_STRAIGHT; Wait(60); OFF;
P_DOWN();//目を描く 左
GO_STRAIGHT; Wait(40); OFF;
P_RAISE();
GO_STRAIGHT; Wait(30); OFF;
P_DOWN();//目を描く 右
GO_STRAIGHT; Wait(40); OFF;
P_RAISE();
}
**プログラム2 [#o05c8a35]
#define B_POWER SetPower(OUT_B,0);
#define OFF_B Off(OUT_B);
#define GO_STRAIGHT OnFwd(OUT_A+OUT_C);
#define GO_BACK OnRev(OUT_A+OUT_C);
#define OFF Off(OUT_A+OUT_C);
sub P_DOWN()
{
B_POWER; OnFwd(OUT_B); Wait(50); OFF_B;
}
sub P_RAISE()
{
B_POWER; OnRev(OUT_B); Wait(50); OFF_B;
}
task main()
{
P_DOWN();
OnRev(OUT_C); OnFwd(OUT_A); Wait(750); OFF;
P_RAISE();
OnRev(OUT_C); Wait(100); OFF;
GO_STRAIGHT; Wait(45); OFF;
P_DOWN();
GO_STRAIGHT; Wait(45); OFF;
P_RAISE();
GO_BACK; Wait(30); OFF;
OnRev(OUT_A); Wait(186); OFF;
GO_STRAIGHT; Wait(98); OFF;
P_DOWN();
GO_STRAIGHT; Wait(40); OFF;
P_RAISE();
GO_BACK; Wait(30); OFF;
OnRev(OUT_C); Wait(186); OFF;
GO_STRAIGHT; Wait(120); OFF;
P_DOWN();
GO_STRAIGHT; Wait(40); OFF;
P_RAISE();
GO_BACK; Wait(30); OFF;
OnRev(OUT_A); Wait(186); OFF;
GO_STRAIGHT; Wait(98); OFF;
P_DOWN();
GO_STRAIGHT; Wait(40); OFF;
P_RAISE();
GO_BACK; Wait(120); OFF;
OnRev(OUT_A); OnFwd(OUT_C); Wait(267); OFF;
GO_BACK; Wait(50); OFF;
GO_STRAIGHT; Wait(100); OFF;
P_DOWN();
GO_STRAIGHT; Wait(40); OFF;
P_RAISE();
GO_STRAIGHT; Wait(30); OFF;
P_DOWN();
GO_STRAIGHT; Wait(40); OFF;
P_RAISE();
GO_BACK; Wait(250); OFF;
OnFwd(OUT_A); OnRev(OUT_C); Wait(200); OFF;
GO_STRAIGHT; Wait(80); OFF;
OnFwd(OUT_A); OnRev(OUT_C); Wait(200); OFF;
GO_BACK; Wait(65); OFF;
P_DOWN();
GO_STRAIGHT; Wait(40); OFF;
P_RAISE();
}
*苦労した点 [#p1f77384]
**問題点 [#decec091]
1:ペンをあげるとき、下げるときの速度が速すぎてペンが外れてしまう
2:両方を完成できなかった
3:片方も中途半端になってしまった
**解決策 [#sb085f9f]
1:モーターの回転速度を落とした
*コメントをどうぞ [#y90f4f96]
#comment