目次(ー。ー)v
今回のロボットはスピードを出さいないで、正確にライントレースするように ギアによる4駆のマシンにしたよ♪ マシン自体の重さも軽くしてみた。若干重心が前のめりになっちゃったけど(;´口`) ライントレースするマークは今回W杯のデザインにした。 そうしたら、ライントレース自体はプログラミングで簡単に成功した!! しかぁし!!タッチセンサーのプログラミングが上手く起動しなかったのである _ ガックシ... ○||_
task main () { SetSensor(SENSOR_1,SENSOR_LIGHT); SetSensor(SENSOR_2,SENSOR_TOUCH); SetSensor(SENSOR_3,SENSOR_LIGHT); while(true) { if (SENSOR_1<50) //もし光センサ−1の感度 { が50以下ならAが動いてC止まる OnFwd(OUT_A); Off(OUT_C); }else { Off(OUT_A); OnFwd(OUT_C); } if (SENSOR_3<45) //もし光センサー3の感度 { が45以下ならCが動いてA止まる OnFwd(OUT_C); Off(OUT_A); }else { Off(OUT_C); OnFwd(OUT_A); } if (SENSOR_2==1) //もしタッチセンサー2が { 感知したらバックして 右斜め方向にある程度進み、 その後にライントレースに戻 るように左斜めに進んで 追い抜く OnRev(OUT_A+OUT_C); Wait(150); OnFwd(OUT_C); Wait(40); Off(OUT_C+OUT_A); OnFwd(OUT_A+OUT_C); Wait(150); Off(OUT_C);Wait(100); OnFwd(OUT_C); Wait(100); } } }
task main(){SetSensor(SENSOR_1,SENSOR_LIGHT); SetSensor(SENSOR_2,SENSOR_TOUCH); SetSensor(SENSOR_3,SENSOR_LIGHT); while(true) { if (SENSOR_1<45) //もし光センサ−1の感度 { が45以下ならAが OnFwd(OUT_A); Off(OUT_C); }else { Off(OUT_A); OnFwd(OUT_C); } if (SENSOR_3<50) //もし光センサー3の感度 { が50以下ならCが動いてA止まる OnFwd(OUT_C); Off(OUT_A); }else { Off(OUT_C); OnFwd(OUT_A); } if (SENSOR_2==1) //もしセンサー2が反応したら {OnRev(OUT_A+OUT_C); 後ろに2秒後退する Wait(200); Off(OUT_A); OnRev(OUT_C); Wait(50); OnFwd(OUT_C+OUT_A); //AとCが前進する Wait(200); Off(OUT_A); //Aが止まり、タイヤAを中心に Wait(50); 0.5秒間左回転する、そして On(OUT_A); 2秒間前進する Wait(200); } } }
task main () { SetSensor(SENSOR_1,SENSOR_LIGHT); SetSensor(SENSOR_2,SENSOR_TOUCH); SetSensor(SENSOR_3,SENSOR_LIGHT); while(true) { if (SENSOR_1<50) //その1のプログラミングと同じでふ { ↓ OnFwd(OUT_A); ↓ Off(OUT_C); ↓ }else ↓ { ↓ Off(OUT_A); ↓ OnFwd(OUT_C); ↓ } ↓ if (SENSOR_3<45) ↓ { ↓ OnFwd(OUT_C); ↓ Off(OUT_A); ↓ }else ↓ { ↓ Off(OUT_C); ↓ OnFwd(OUT_A); ↓ } if (SENSOR_2==1) //もしタッチセンサー が感知したら { AとCがそれぞれ逆回転して OnFwd(OUT_A); 方向転換する OnRev(OUT_C); Wait(180); } } }
task main () { SetSensor(SENSOR_1,SENSOR_LIGHT); SetSensor(SENSOR_3,SENSOR_LIGHT); SetSensor(SENSOR_2,SENSOR_TOUCH); while(true) { if (SENSOR_1< 45) //感度45以下を感知したら { 右回転か左回転。 OnFwd(OUT_A); Off(OUT_C); }else { Off(OUT_A); OnFwd(OUT_C); } if (SENSOR_3< 50) { OnFwd(OUT_C); Off(OUT_A); }else { Off(OUT_C); OnFwd(OUT_A); } if (SENSOR_2==1) { OnRev(OUT_A+OUT_C); //1秒間後退してその後 Wait(100); 1.8秒間右回転する。 OnFwd(OUT_A); OnRev(OUT_C); Wait(180); } } }
初め光センサーを1つだけしか使わなかったら、カーブのたびに脱線して暴走してしまった。。。 そこで、脱線しないように光センサーを2つ使ったら今度はタッチセンサーが シングルバンパーになってしまった。 結果、棒状のバンパーだと正確に感知しないことがあった。 その上プログラミングがヘタレだったので せっかく上手にライントレースしていたマシンが暴走し始めてしまった!!!
光センサーは2つ接着するようにくっ付けて、広範囲で光を感知するようにした。 またシングルバンパーの棒を1枚の板にしてワンタッチでより正確に感知するようにした♪ <(`⌒´)> エヘン!!
今回は早めに取り組んだことによって、思った以上に楽しんで課題に取り組むことができた。 しかし、プログラミングの内容がイマイチ上手くいかなくて苦労した。。。 本当はもっと急カーブのライントレースがしたかったが、スピードと光センサーの問題があって、 実現できなかったのが残念である。 (_´口`)ノあぁぁぁ。。。 これからもっとプログラミングのスキルをあげたい
おねげぇします