池尻、宇佐美
#define T 40 task main () { SetSensor(SENSOR_2,SENSOR_LIGHT); while (true) { if (SENSOR_2 < T) { //センサーが線の上にある条件 OnFwd(OUT_A); //左に曲がる Off(OUT_C); } else { //それ以外の条件 OnFwd(OUT_C); //右に曲がる Off(OUT_A); } } }
キャタピラ(説明書通り)に光センサーを下向きに設置(写真はありません・・・。
うまくライントレースしてくれた。あっさり出来て、ちょっと嬉しかった。
#define T 40 task main() { SetSensor(SENSOR_2, SENSOR_LIGHT); while(true) { if (SENSOR_2 > T) { //センサーが線の上にないとき OnFwd(OUT_B); } if (SENSOR_2 < T)) { //センサーが線の上にあるとき OnRev(OUT_B); } } }
タッチセンサーに引き続き、めちゃくちゃ時間をかけた。 説明書通りにロボットを作ると、前進と(ブレーキを使って)左後進or右後進しかできなくて、 どうやれば右前進と左前進になるのか、すごく考えた。 ギアの組み合わせを変えなければならないのは分かったけど、 ブレーキの使いどころやギアの組み合わせ方に迷った。 出来た!っておもっても、その場で回転することしか出来ひんロボットとか、そもそも動力を打ち消しあって動かないやつとか・・・。 で、左右でギアの個数を変えればいい!!って思い立って作ろうとしても 大小のギアが上手くかみ合わなかったりした。 何回もギアを変えに変えて、写真のような組み合わせで成功。
モーター1個に苦戦した。作れた!と思ったら、 ギアの構造が先生のヒントと同じような感じだったので、 ちょっと残念だった。
#define T 40 task main () { SetSensor(SENSOR_1,SENSOR_LIGHT); SetSensor(SENSOR_3,SENSOR_LIGHT); while (true) { if ((SENSOR_1 < T) &&(SENSOR_3 < T)){ //前後のセンサーが線の上にある条件 OnFwd(OUT_A); OnFwd(OUT_C); } if (SENSOR_1 < T){ //前のセンサーのみ線の上にある条件 OnFwd(OUT_A); Off(OUT_C); } if (SENSER_1 < T){ //後のセンサーのみ線の上にある条件 Off(OUT_A); OnFwd(OUT_C); } } }
うまくライントレースしなかった。 両方のセンサーが線から離れないと曲がらないようにしたため、 車体の長さの分、線からはみ出すまで進んだ。 結果、ズルをしたり、線から離れるロボットとなった。
#define T 40 task main() { SetSensor(SENSOR_1, SENSOR_LIGHT); SetSensor(SENSOR_3, SENSOR_LIGHT); while(true) { if ((SENSOR_1 > T)&&(SENSOR_3 > T)){ //センサーが両方線の上にないとき OnFwd(OUT_A+OUT_C); Off(OUT_A+OUT_C); } if (SENSOR_1 < T) { //センサー1が線の上にあるとき OnFwd(OUT_A); Off(OUT_A); } else { //センサー3が線の上にあるとき OnFwd(OUT_C); Off(OUT_C); } } }
ちゃんとライントレースした。 モーター1個に挑戦したあとだったので、モーターを2つ使えるのが嬉しかった。