課題2:黒い線に沿って動くロボットを作成せよ。そして一つの周回コースを2台のロボットが走行すること想定し、以下の2種類のプログラムを作成せよ。
☆目次☆
#define THRESHOLD 47 task main() { SetSensor(SENSOR_1,SENSOR_LIGHT); //センサー1を光センサーとする SetSensor(SENSOR_2,SENSOR_TOUCH); //センサー2をタッチセンサーとする SetSensor(SENSOR_3,SENSOR_LIGHT); //センサー3を光センサーとする while(true){ if (SENSOR_1< THRESHOLD){ //センサー1が線の上にあるとき Off(OUT_A+OUT_C); OnFwd(OUT_C); //左に少し旋回 OnRev(OUT_A); Wait(4);} if (SENSOR_3< THRESHOLD){ //センサー3が線の上にあるとき Off(OUT_A+OUT_C); OnFwd(OUT_A); //少し右に旋回 OnRev(OUT_C); Wait(4);} else { //どちらのセンサーも線の上になければ OnFwd(OUT_A+OUT_C);} //直進する if(SENSOR_2==1){ //センサ−2が反応すると OnRev(OUT_C); //反転して直進 Wait(180); OnFwd(OUT_C); } } } 制作者:ガリ、メソ
#define THRESHOLD 45 task main() { SetSensor(SENSOR_1,SENSOR_LIGHT); //センサー1を光センサーとする SetSensor(SENSOR_2,SENSOR_TOUCH); //センサー2をタッチセンサーとする SetSensor(SENSOR_3,SENSOR_LIGHT); //センサー3を光センサーとする while(true){ if (SENSOR_1< THRESHOLD){ //センサ−1が線の上にあるとき Off(OUT_A+OUT_C); OnFwd(OUT_C); //左に少し旋回 OnRev(OUT_A); Wait(6);} if (SENSOR_3< THRESHOLD){ //センサー2が線の上にあるとき Off(OUT_A+OUT_C); OnFwd(OUT_A); //右に少し旋回 OnRev(OUT_C); Wait(6);} else { //センサー1,2のどちらも反応していないとき OnFwd(OUT_A+OUT_C);} //直進する if(SENSOR_2==1){ //センサー2が反応しているとき OnRev(OUT_C); //右回りに旋回し反転 Wait(185); OnFwd(OUT_C); } } } 制作者:アナクスナムゥン
#define THRESHOLD 47 task main() { SetSensor(SENSOR_1,SENSOR_LIGHT); //センサー1を光センサーとする SetSensor(SENSOR_2,SENSOR_TOUCH); //センサー2をタッチセンサーとする SetSensor(SENSOR_3,SENSOR_LIGHT); //センサー3を光センサーとする while(true){ if (SENSOR_1< THRESHOLD){ //センサ−1が線の上にあるとき Off(OUT_A+OUT_C); OnFwd(OUT_C); //左に少し旋回 OnRev(OUT_A); Wait(4);} if (SENSOR_3< THRESHOLD){ //センサ−3が線の上にあるとき Off(OUT_A+OUT_C); OnFwd(OUT_A); //右に少し旋回 OnRev(OUT_C); Wait(4);} else { //センサー1,2のどちらも反応していないとき OnFwd(OUT_A+OUT_C);} //直進する if(SENSOR_2==1){ //センサー2が反応しているとき OnRev(OUT_C); //右に0.9秒旋回 Wait(90); OnFwd(OUT_C); //1.2秒直進 Wait(120); OnRev(OUT_A); //左に1.3秒旋回 Wait(130); OnFwd(OUT_A); } //直進しコースに戻る } } 制作者:ガリ、メソ
#define THRESHOLD 47 task main() { SetSensor(SENSOR_1,SENSOR_LIGHT); //センサー1を光センサーとする SetSensor(SENSOR_2,SENSOR_TOUCH); //センサー2をタッチセンサーとする SetSensor(SENSOR_3,SENSOR_LIGHT); //センサー3を光センサーとする while(true){ if (SENSOR_1< THRESHOLD){ //センサ−1が線の上にあるとき Off(OUT_A+OUT_C); OnFwd(OUT_C); //左に少し旋回 OnRev(OUT_A); Wait(4);} if (SENSOR_3< THRESHOLD){ //センサ−3が線の上にあるとき Off(OUT_A+OUT_C); OnFwd(OUT_A); //右に少し旋回 OnRev(OUT_C); Wait(4);} else { //センサー1,2のどちらも反応していないとき OnFwd(OUT_A+OUT_C);} //直進 if(SENSOR_2==1){ //センサー2が反応しているとき OnRev(OUT_C); //右に0.9秒旋回 Wait(90); OnFwd(OUT_C); //1.0秒直進する Wait(100); OnRev(OUT_A); //左に1.0秒旋回 Wait(100); OnFwd(OUT_A); } //直進しコースに戻る } } 制作者:アナクスナムゥン
他の班とかぶらないようにスヌーピーにしてみました。
みんな恥ずかしがらずに書き込んでね!!