ペン先が走行中にブレないようにした結果部品を多く使ってしまい見た目も少々ごつくなってしまった。 (画像は下の添付ファイル)
以前のプログラムを参考にプログラミングをしてみたが、プログラムに間違いがありNXTに送信できなかった。NXT送信時のページから間違いを探そうとしたが、書いてあることがよくわからなかったため時間内に完成させることができなかった
#define FORWARD RotateMotor(OUT_B,25,30); Off(OUT_B);
RotateMotor(OUT_BC,25,30); Off(OUT_BC);
#define FORWARD2 RotateMotor(OUT_B,-25,30);
Off(OUT_B); RotateMotor(OUT_BC,25,150); Off(OUT_BC);
#define FORWARD3 RotateMotor(OUT_BC,25,200);
Off(OUT_BC);
#define FORWARD4 RotateMotor(OUT_BC,25,20);
Off(OUT_BC); RotateMotor(OUT_B,25,30); Off(OUT_B); RotateMotor(OUT_BC,25,60); Off(OUT_BC); RotateMotor(OUT_B,-25,30); Off(OUT_B); RotateMotor(OUT_BC,25,40); Off(OUT_BC); RotateMotor(OUT_B,25,30); Off(OUT_B); RotateMotor(OUT_BC,25,60); Off(OUT_BC); RotateMotor(OUT_B,-25,30); Off(OUT_B); RotateMotor(OUT_BC,25,50); Off(OUT_BC);
#define FORWARD5 RotateMotor(OUT_BC,25,20);
Off(OUT_BC); RotateMotor(OUT_B,25,30); Off(OUT_B); RotateMotor(OUT_BC,25,66); Off(OUT_BC); RotateMotor(OUT_B,-25,30); Off(OUT_B); RotateMotor(OUT_BC,25,150); Off(OUT_BC);
#define FORWARD6 RotateMotor(OUT_BC,25,20);
Off(OUT_BC); RotateMotor(OUT_B,25,30); Off(OUT_B); RotateMotor(OUT_BC,25,60); Off(OUT_BC); RotateMotor(OUT_B,-25,30); Off(OUT_B);
#define TURN RotateMotor(OUT_C,25,360);
Off(OUT_C); RotateMotor(OUT_BC,-25,360); Off(OUT_BC);
#define TURN2 RotateMotor(OUT_B,25,30);
Off(OUT_B); RotateMotor(OUT_BC,-25,360); Off(OUT_BC);
task main () {
for (int i=0; i<4; i++) { FORWARD; FORWARD2; TURN; }
FORWARD3; TURN; FORWARD4; TURN2; FORWARD5; TURN2; FORWARD6;
}
考えたことをプログラムにしてみても実際は思うように動いてくれずプログラミングの難しさがわかった。