[[ロボティクス入門ゼミ]] *はじめてのプログラム [#wb70df6a] 四角に走るプログラム task main() { repeat(4){ OnFwd(OUT_A); OnFwd(OUT_C); Wait(300); OnRev(OUT_C); Wait(83); } Off(OUT_A+OUT_C); } *『木』を書くプログラム [#b0e29fc3] まだ本体を使って調整していないので試作段階です。 task main() { OnFwd(OUT_B); Wait(100); OnFwd(OUT_A+OUT_C); Wait(300); OnRev(OUT_B); Wait(100); OnRev(OUT_A); Wait(125); OnFwd(OUT_A+OUT_C); Wait(214); OnRev(OUT_A); Wait(125); OnFwd(OUT_B); Wait(100); OnFwd(OUT_A+OUT_C); Wait(500); OnRev(OUT_B); Wait(100); OnRev(OUT_A+OUT_C); Wait(250); OnRev(OUT_A); Wait(125); OnFwd(OUT_B); Wait(100); OnFwd(OUT_A+OUT_C); Wait(300); OnRev(OUT_B); Wait(100); OnRev(OUT_A+OUT_C); Wait(300); OnRev(OUT_C); Wait(83); OnFwd(OUT_B); Wait(100); OnFwd(OUT_A+OUT_C); Wait(300); OnRev(OUT_B); Wait(100); Off(OUT_A+OUT_B+OUT_C); } 前回のものを実際に本体を使って試運転した結果、しっかりと動けてなかったので改良したものです。数値の調整は必要。 #define pen_down OnFwd(OUT_B);Wait(100); //ペンを下げる #define pen_up OnRev(OUT_B);Wait(100); //ペンを上げる #define turn1 OnFwd(OUT_A);OnRev(OUT_C);Wait(85); //右旋回1 #define turn2 OnFwd(OUT_A);OnRev(OUT_C);Wait(40); //右旋回2 #define turn3 OnRev(OUT_A);OnFwd(OUT_C);Wait(70); //左旋回 #define OUT1 Off(OUT_A+OUT_C); Wait(10); //タイヤのモーターを止める #define OUT2 Off(OUT_B);Wait(10); //ペンのモーターを止める task main() { pen_down; OUT2; OnFwd(OUT_A+OUT_C); Wait(150); OUT1; pen_up; OUT2; //一画目 OnRev(OUT_A+OUT_C); Wait(140); OUT1; turn1; OnRev(OUT_A+OUT_C); Wait(50); OUT1; //二画目の始まりまで移動 pen_down; OUT2; OnFwd(OUT_A+OUT_C); Wait(150); OUT1; pen_up; OUT2; //二画目 OnRev(OUT_A+OUT_C); Wait(150); OUT1; turn2; OUT1; OnFwd(OUT_A+OUT_C); Wait(50); OUT1; //三画目の始まりまで移動(後退・旋回) pen_down; OUT2; OnFwd(OUT_A+OUT_C); Wait(200); OUT1; pen_up; OUT2; //三画目 OnRev(OUT_A+OUT_C); Wait(200); OUT1; turn3; OUT1; OnFwd(OUT_A+OUT_C); Wait(50); OUT1; //四画目の始まりまで移動(後退・旋回) pen_down; OUT2; OnFwd(OUT_A+OUT_C); Wait(200); OUT1; pen_up; //四画目 Off(OUT_A+OUT_B+OUT_C); }