[[2004/A6/ロボコン/運ぶロボット/プログラム]]
*初号機のプログラム [#j07b816a]
#define RUN_TIME 2000
int move_time;
task main()
{
SetSensor(SENSOR_1,SENSOR_TOUCH);
SetSensor(SENSER_2,SENSOR_TOUCH);
SstSensor(SENSER_3,SENSOR_LIGHT);
ClearTimer(0);
while(Timer(0)<=RUN_TIME)//2分間以下を繰り返す
{
ClearTimer(1);
OnFwd(OUT_A);
until(SENSOR_1==1);//センサーが働くまで前進
Off(OUT_A); Wait(50);//止まる
if(SENSOR_3>=40)//緑、白の場合
{
move_time=Timer(1);
OnFwd(OUT_C); Wait(50);//紙パックを掴む
while(SENSOR_2==1)//センサー2が押されている間
{
OnFwd(OUT_C);
OnRev(OUT_A); Wait(50);//回転
OnFwd(OUT_A); Wait(move_time);//来た分だけ戻る
Off(OUT_A+OUT_C);//止まって箱を離す
}
}
}
}
--------
一番最初に出来たものでモーター一つで箱を掴み、上げるロボットとの連結はまだプログラム化されていない。実際やってみるとタッチセンサーがうまく働かなかった...。