[[2014b/Member]]

コップをつかむプログラム
 /* モーターAがハサミ、モーターBが腕、モーターCが蓋 */
 #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);
 
 
 }
 
 
 
 ※ OnFwdRegでスピードをOUT_REGMODE_IDLEとしたところ、なぜかプログラム終了時にモーターが少し逆回転してハサミが勝手に開いてしまったため、この文を加えた。



コップを離すプログラム


 /* モーターAがハサミ、モーターBが腕、モーターCが蓋 */
 #define RELEASE RotateMotor(OUT_A,50,50);  //コップをはなす
 
 task main()
 {
  ResetTachoCount(OUT_AB);  //モーターABの回転角をリセット
 
  RELEASE;  //コップを放す
 
  Wait(300);
 
  PlaySound(SOUND_DOWN);
  Wait(100);
  PlaySound(SOUND_DOWN);
  Wait(100);
 
 }



持ち上げてボールを移すプログラム

 /* モーターAがハサミ、モーターBが腕、モーターCが蓋 */
 #define HOLD OnFwdReg(OUT_A,-40,OUT_REGMODE_IDLE);  //コップを挟む
 #define UP_MAX RotateMotor(OUT_B,-80,185);OnFwdReg(OUT_B,0,OUT_REGMODE_IDLE);   //コップを持ち上げてそのままキープ
 #define CLOSE RotateMotor(OUT_C,50,-120);  //蓋を閉める
 
 
 task main()
 {
 ResetTachoCount(OUT_ABC);  //モーターABCの回転角をリセット
 
 
 /*コップを掴んで蓋をする*/
 
  HOLD;  //掴む
 
  Wait(1000);
 
  CLOSE;  //蓋をする
 
  Wait(1000);
 
 
 /*180度持ち上げて静止*/
 
  UP_MAX;  //もちあげる
  Wait(500);
 
 
 /*音で作業の終了を伝える*/
  PlaySound(SOUND_FAST_UP);
  Wait(300);
  PlaySound(SOUND_FAST_UP);
  Wait(300);
 
  Off(OUT_A);  //モーターAを切る(※)
 
 }
 






フタを開き、玉を落とすプログラム


 /* モーターAがハサミ、モーターBが腕、モーターCが蓋 */
 #define OPEN RotateMotor(OUT_C,50,120);  //蓋を開ける
 
 
 task main()
 {
  ResetTachoCount(OUT_ABC);  //モーターABCの回転角をリセット
 
 /*玉を移す*/
  OPEN;  //蓋を開ける
 
  PlaySound(SOUND_FAST_UP);
  Wait(100);
  PlaySound(SOUND_FAST_UP);
  Wait(100);
 
 }




コップを下ろすプログラム

 /* モーターAがハサミ、モーターBが腕、モーターCが蓋 */
 #define DOWN RotateMotor(OUT_B,45,185);  //腕を下げる
 
 
 task main()
 {
  ResetTachoCount(OUT_ABC);  //モーターABCの回転角をリセット
 /*コップをおろす*/
  DOWN;
 
  Wait(300);
 
 /*音で作業の終了を伝える*/
  PlaySound(SOUND_UP);
  Wait(100);
  PlaySound(SOUND_UP);
  Wait(100);
 
 }

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS