- 追加された行はこの色です。
- 削除された行はこの色です。
*モータ2つとセンサー2つを使用し、ラインとレースをするロボット program editer Hideshi [#e57c873a]
**機体概要 [#y23c54cd]
-[[機体概要>2005/A3/課題3右/機体]]
***メリット センサーが1つの時よりは早くなった(? 多分)[#u1ad5c9e]
***デメリット 曲線の角度が高くなると曲がりきれない場合がたまにある[#hcf0ce39]
**基本プログラム [#a7c25c60]
sub Go()
{OnFwd(OUT_A+OUT_C);}
sub Back()
{OnRev(OUT_A+OUT_C);}
sub Go()
{OnFwd(OUT_A+OUT_C);}
sub Back()
{OnRev(OUT_A+OUT_C);}
-実際に直進する動きはしないが、センサーが感知した時に一方のセンサーをオフにするだけで向きを変えることができる。つまり、センサーが感知した時にいちいち、一方をオフに、他方をオンに変える必要がない。
**実際に動かす [#jde8b22b]
task main ()
{
SetSensor(SENSOR_1, SENSOR_LIGHT);
SetSensor(SENSOR_2, SENSOR_LIGHT);
SetSensor(SENSOR_3, SENSOR_LIGHT);
{SetSensor(SENSOR_1, SENSOR_LIGHT); //機体前部の左側のセンサー
SetSensor(SENSOR_2, SENSOR_LIGHT); //機体前部の右側のセンサー
while(true)
{
Go();
Go(); //基本プログラムを参照
if(SENSOR_1<40)
{OnRev(OUT_A);OnFwd(OUT_C);until(SENSOR_2<40);};
if(SENSOR_3<40)
{OnRev(OUT_C);OnFwd(OUT_A);until(SENSOR_2<40);};
{Off(OUT_A);until(SENSOR_2<40);Go();}; //機体は左へと向きを変える
if(SENSOR_2<40)
{Off(OUT_B);until(SENSOR_1<40);Go};} //機体は右へと向きを変える
}
*** 感想 [#v3734673]
-それほど難しいものではなかった。[#tf2befeb]
**コメントをお願いします [#j0e2fba1]
#comment
}}