- 追加された行はこの色です。
- 削除された行はこの色です。
[[2014b/Member]]
コップをつかむ
コップをつかむプログラム
/* モーターAがハサミ、モーターBが腕 */
#define HOLD OnFwdReg(OUT_A,-40,OUT_REGMODE_IDLE); //コップを挟む
task main()
{
HOLD; //掴む
Wait(500); //ちょっと待つ
Off(OUT_A); //モーターAを切る
Wait(500);
PlaySound(SOUND_UP);
Wait(100);
PlaySound(SOUND_UP);
Wait(100);
}
コップを離す
コップを離すプログラム
/* モーターAがハサミ、モーターBが腕 */
#define RELEASE RotateMotor(OUT_A,50,50); //コップをはなす
task main()
{
ResetTachoCount(OUT_AB); //モーターABの回転角をリセット
RELEASE; //コップを放す
Wait(300);
PlaySound(SOUND_UP);
PlaySound(SOUND_DOWN);
Wait(100);
PlaySound(SOUND_UP);
PlaySound(SOUND_DOWN);
Wait(100);
Wait(1000);
}
持ち上げてボールを移し、下ろすプログラム
持ち上げてボールを移し、下ろす
/* モーターAがハサミ、モーターBが腕 */
#define UP RotateMotor(OUT_B,-45,120); //持ち上げてたまを移す
#define DOWN RotateMotor(OUT_B,45,120); //腕を下げる
#define UP_HALF RotateMotor(OUT_B,-45,80); //途中まで持ち上げる
#define UP_MAX RotateMotor(OUT_B,-45,20); //たまを移す
#define DOWN RotateMotor(OUT_B,45,100); //腕を下げる
#define HOLD OnFwdReg(OUT_A,-40,OUT_REGMODE_IDLE); //コップを挟む
task main()
{
ResetTachoCount(OUT_AB); //モーターABの回転角をリセット
ResetTachoCount(OUT_AB); //モーターABの回転角をリセット
/*コップを持ち上げて玉を移す*/
HOLD;
Wait(300);
HOLD; //掴む
SOUND_UP;
Wait(300);
UP;
/*ちょっと待つ*/
UP_HALF; //半分持ち上げる
PlaySound(SOUND_FAST_UP);
/*3秒待つ(この間に位置調整)*/
Wait(3000);
/*完全に持ち上げて玉を移す*/
UP_MAX;
/*ちょっと待つ*/
Wait(1000);
/*コップをおろす*/
SOUND_DOWN;
Wait(300);
/*コップをおろす*/
DOWN;
Wait(300);
/*音で作業の終了を伝える*/
PlaySound(SOUND_UP);
Wait(100);
PlaySound(SOUND_UP);
Wait(100);
Wait(1000);
}