task main() { SetSensor(SENSOR_1,SENSOR_TOUCH); //センサー1はタッチセンサー SetSensor(SENSOR_2,SENSOR_LIGHT); SetSensor(SENSOR_3,SENSOR_LIGHT); //センサー2・3は光センサー while(true) { OnFwd(OUT_A+OUT_C); if(SENSOR_1==1) //何かに当ったら・・・ { OnRev(OUT_A+OUT_C); Wait(50); OnFwd(OUT_A); Wait(150); OnFwd(OUT_C); //後退して旋回する { //ライントレース部 if(SENSOR_2<40) //右にずれたとき { OnFwd(OUT_C);Off(OUT_A);} else{OnFwd(OUT_A+OUT_C);} if(SENSOR_3<40) //左にずれたとき { OnFwd(OUT_C);Off(OUT_A);} else{OnFwd(OUT_A+OUT_C); } } }
#define THRESHOLD 48
task main () { SetSensor(SENSOR_1,SENSOR_LIGHT);//センサー1は光センサー SetSensor(SENSOR_2,SENSOR_TOUCH);//センサー2はタッチセンサー while(true){ if(SENSOR_1<THRESHOLD) { //光センサー1個で進む Off(OUT_A); OnFwd(OUT_C); } if(SENSOR_2==1){ //ぶつかると反転 OnFwd(OUT_A); OnRev(OUT_C); Wait(150); }else{ OnFwd(OUT_A); Off(OUT_C); }. } }
task main() { SetSensor(SENSOR_1,SENSOR_TOUCH); //センサー1はタッチセンサー SetSensor(SENSOR_2,SENSOR_LIGHT); SetSensor(SENSOR_3,SENSOR_LIGHT); //センサー2・3は光センサー OnFwd(OUT_A+OUT_C); while(true){ if(SENSOR_1==1){ OnRev(OUT_A+OUT_C);Wait(50); //後退 OnFwd(OUT_A);Wait(40); OnFwd(OUT_A+OUT_C);Wait(50); OnFwd(OUT_C);Wait(40); OnFwd(OUT_A+OUT_C);Wait(250); //前のロボットを追い越す OnFwd(OUT_C);Wait(40); OnFwd(OUT_A+OUT_C);Wait(50); //コースに戻る OnFwd(OUT_A);Wait(40); } else{ if(SENSOR_2<40) {OnFwd(OUT_C);} if(SENSOR_3<40) {OnFwd(OUT_A);} } } } //ライントレース部
#difine THRESHOLD 45 task main () {
SetSensor(SENSOR_1,SENSOR_LIGHT); SetSensor(SENSOR_2,SENSOR_LIGHT);//センサー1、2は光センサー SetSensor(SENSOR_3,SENSOR_TOUCH);//センサー3はタッチセンサー while(true){ if(SENSOR_1<THRESHOLD){ //左にずれたら右に修正 OnFwd(OUT_A); Off(OUT_C); } if(SENSOR_2<THRESHOLD){ //右にずれたら左に修正 OnFwd(OUT_C); Off(OUT_A); } if((SENSOR_1>THRESHOLD)&&(SENSOR_2>THRESHOLD)){ OnFwd(OUT_A+OUT_C); //直進 } if(SENSOR_3==1){ OnRev(OUT_A+OUT_C);//後退 Wait(90); OnFwd(OUT_A);//追い越し Off(OUT_C); Wait(120); OnFwd(OUT_A+OUT_C); Wait(90); Off(OUT_A); OnFwd(OUT_C); Wait(120); OnFwd(OUT_A+OUT_C); Wait(150); Off(OUT_A); OnFwd(OUT_C); Wait(120); OnFwd(OUT_A+OUT_C); Wait(90); OnFwd(OUT_A);//コースに戻る Off(OUT_C); Wait(120); OnFwd(OUT_A+OUT_C); Wait(20); } } }
タッチセンサーと光センサー2個をロボに取り付けなくてはいけなかったところ。前にタッチセンサーを付けるので光センサーをつけるのが苦労した。 タッチセンサーの付け方に苦労しました。最初に作った物は前のロボットにぶつかってもうまくセンサーが押されなかったので、どうしたら押されるかを工夫したのと同時に苦労しました。 追い越すときのモーターの回転時間をどのぐらいにすればいいのかがいまいちわからなかったので、何回も実際に動かしてちょうどいい時間を探すのに苦労しました。
タッチセンサーのバンパーを少し短くして反転するときや曲がるときに邪魔にならないようにした。 前のロボットを追い越すときに、少し大きく動くことによってだいたいの物はよけられるようにしました。
今回はメンバー同士の連携がとれて、計画的に作業ができた。 メンバーの結束も強まってきたので、次回から更に良いものができそうだ。
#coment