壁をつたうロボ
最初は、どうプログラミングすれば良いか全く見当も着きませんでした。そこで、 2つのタッチセンサーが反応した時、右だけが反応している時、両方のセンサーが反応していないときで場合分けして、 それぞれの場合でプログラムを作りました。しかし、そのプログラムをつなげることが出来ず、途方に暮れました(>_<) かなりの試行錯誤の結果、下のプログラムにたどり着きました。 また、右のセンサーを反応させながらうまく壁をつたうよう、右側にタイヤを着けました。以下はそのプログラムです
***task main () [#y1c23347] { SetSensor(SENSOR_3,SENSOR_TOUCH); //センサー1、3をタッチ センサーと定義 SetSensor(SENSOR_1,SENSOR_TOUCH); OnFwd(OUT_A+OUT_C); //前進(センサー3が触れ ているときは前進) while(true) { if((SENSOR_1 ==1)&&(SENSOR_3 == 1)) //もしセンサー1、3が反 応したら { OnRev(OUT_A+OUT_C); Wait(40); //バック OnFwd(OUT_C); Wait(130); OnFwd(OUT_A); //左90°回転 } else{if(SENSOR_3 == 0) //センサー3が反応して いないとき { Off(OUT_C); //センサー3が反応する OnFwd(OUT_A); まで右に回転 until(SENSOR_3 == 1); OnFwd(OUT_A+OUT_C); //センサー3が反応した ら直進 } } } } (作成者:B3右)