左を書くプログラム
task main(){ OnRev(OUT_B);//ペンを上げる OnFwd(OUT_B);//ペンを下げる Wait(30); Off(OUT_B); Wait(30); OnFwd(OUT_A+OUT_C);//直線を進む Wait(250); Off(OUT_A+OUT_C); OnRev(OUT_B);//ペンを上げる Wait(30); Off(OUT_B); Wait(30); OnRev(OUT_A+OUT_C);//直線を戻る Wait(100);//三分の一ぐらいまで OnFwd(OUT_A);//直角に曲がる Wait(90); OnRev(OUT_A+OUT_C);//曲線の始めの点にいく Wait(90); Off(OUT_A+OUT_C); OnFwd(OUT_B);//ペンを下げる Wait(30); Off(OUT_B); Wait(30); repeat(18){//曲線部分を書く OnFwd(OUT_A+OUT_C); Wait(20); Off(OUT_C); Wait(3); } OnRev(OUT_B);//ペンを上げる Wait(30); Off(OUT_B); repeat(7){//曲線部分を途中まで戻る OnRev(OUT_A+OUT_C); Wait(20); Off(OUT_A); Wait(3); } Off(OUT_A+OUT_C); OnFwd(OUT_A);OnRev(OUT_C);//直角に曲がる Wait(90); Off(OUT_A+OUT_C); //ここから工の部分 OnFwd(OUT_B);//ペンを下げる Wait(30); Off(OUT_B); OnFwd(OUT_A+OUT_C);//直線を進む Wait(100); Off(OUT_A+OUT_C); OnRev(OUT_B);//ペンを上げる Wait(30); Off(OUT_A); OnRev(OUT_A+OUT_C);//直線を戻る Wait(50);//半分ぐらいまで OnFwd(OUT_C);//直角に曲がる Wait(90); Off(OUT_A+OUT_C); OnFwd(OUT_B);//ペンを下げる Wait(30); Off(OUT_B); OnFwd(OUT_A+OUT_C);//直線を進む Wait(30); Off(OUT_A+OUT_C); OnRev(OUT_B);//ペンを上げる Wait(30); Off(OUT_B); OnRev(OUT_C);OnFwd(OUT_A);//直角に曲がる Wait(90); OnRev(OUT_A+OUT_C);//最後の直線の始まりの部分に行く Wait(70); Off(OUT_A+OUT_C); OnFwd(OUT_B);//ペンを下げる Wait(30); Off(OUT_B); OnFwd(OUT_A+OUT_C);//直線を進む Wait(140); Off(OUT_A+OUT_C); }
机の壁に沿って進むプログラム
task main() { SetSensor(SENSOR_1,SENSOR_TOUCH); //タッチセンサーだと宣言 SetSensor(SENSOR_2,SENSOR_TOUCH); while(true) { while(SENSOR_1 == 1){ //センサー1がONならば以下の行動を繰り返す OnRev(OUT_A); OnRev(OUT_C); Wait(1); Off(OUT_A); Wait(1); } if(SENSOR_1==0){ //もしセンサー1がOFFならば以下の行動をする Off(OUT_C); OnRev(OUT_A); } if(SENSOR_2==1){ //もしセンサー2がONならば以下の行動をする OnFwd(OUT_A); OnRev(OUT_C); Wait(150); Off(OUT_C); OnRev(OUT_A); } } }
ライントレースするプログラム(センサー*1モーター*2
#define THRESHOLD 40 //明るさ task main () { SetSensor(SENSOR_2, SENSOR_LIGHT); while (true) { if (SENSOR_2 < THRESHOLD) { // 黒線上にいるとき OnRev(OUT_A); Off(OUT_C); } else { // 黒線から外れたとき Off(OUT_A); OnRev(OUT_C); } } }
ライントレースするプログラム(センサー*2モーター*2
#define light 42 //明るさ task main () { SetSensor(SENSOR_1,SENSOR_LIGHT); SetSensor(SENSOR_3,SENSOR_LIGHT); while (true){ if(SENSOR_1 > light){ OnRev(OUT_A); } else{ OnFwd(OUT_A); } if(SENSOR_3 > light){ OnRev(OUT_C); } else{ OnFwd(OUT_C); } } }