²ÝÂꣳ¤Ï¥³¡¼¥¹¾å¤Ë¤¢¤ë¥«¥ó¤òGOAL¤ÎÎΰè¤ËÀѤ߾夲¤ë¤È¤¤¤¦¤â¤Î¤Ç¤¢¤ë¡£
¿Þ¤Î¥Ô¥ó¥¯¤Î´Ý¤Ë¥«¥ó¤¬ÃÖ¤«¤ì¤Æ¤ª¤ê¡¢¤½¤ì¤òGOAL¤Þ¤Ç±¿¤ó¤ÇÀѤó¤Ç¤¤¤¯¡£ ¾Ü¤·¤¯¤Ï²ÝÂê3¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
Ëͤ¿¤Á¤ÎÈɤϥ«¥ó¤òÀѤতȥ«¥ó¤ò½¸¤á¤ÆGOAL¤Þ¤Ç±¿¤Ö¦¤Î£²ÂΤËʬ¤±¤Æ¤ä¤ë¤³¤È¤Ë¤·¤¿¡£
¡-ÀѤতϺǽé¤Ë¥í¡¼¥¿¥ê¡¼¤«¤é¥¹¥¿¡¼¥È¤·¤Æ¡¢TÃÏÅÀ¤Î¥«¥ó¤òÄϤó¤ÇÂÔµ¡¤·¤Æ¤ª¤¯¡£ ¢-bluetooth¤Î¿®¹æ¤¬Í褿¤é¡¢¥«¥ó¤òÀѤࡣ £-ÀѤޤ줿¥«¥ó¤Î°ìÈÖ²¼¤òÄϤó¤Ç»ý¤Á¾å¤²¤ÆÂÔµ¡ °Ê²¼¢¡¢£¤ò·«¤êÊÖ¤·¡£
¡-¥«¥ó¤ò½¸¤á¤ÆGOALÃÏÅÀ¤ËÆϤ±¤ë¡£ ¢-ÀѤত˿®¹æ¤òÁ÷¤ë¡£ °Ê²¼¡¡¢¢¤ò·«¤êÊÖ¤·¡£
»ä¤¿¤Á¤Ï´Ì¤ò±¿¤Ö¥í¥Ü¥Ã¥È¤È¡¢´Ì¤òÀѤ߾夲¤ë¥í¥Ü¥Ã¥È¤òÀ½ºî¤·¤Þ¤·¤¿¡£
¥é¥¤¥ó¥È¥ì¡¼¥¹¤·¤Æ´Ì¤ò½¸¤á¤ë¤¿¤áÁ°Êý¤Ë¸÷¥»¥ó¥µ¡¼¤ò¼è¤êÉÕ¤±¤¿¡£¹©ÉפȤ·¤Æ¤Ï´Ì¤¬Åݤì¤Ê¤¯¤¹¤ë¤è¤¦¤Ë¡¢º¸±¦¤Î¥¢¡¼¥à¤Î¹â¤µ¤ò¹â¤¯¤·¤¿¡£
¥â¡¼¥¿¡¼¤ò»°¤Ä»È¤¤¤Þ¤·¤¿¡£°ì¤ÄÌܤϡ¢¥¿¥¤¥ä¤Ë¤Ä¤±¤Æ¾å²¼¤Ë¤·¤«Æ°¤±¤Ê¤¤¤â¤Î¤Î¤³¤ì¤Ç»ý¤Á¾å¤²¤¿´Ì¤Î¾ì½ê¤«¤é¤½¤ì¤òÃÖ¤¯¾ì½ê¤Þ¤Ç¤òÆ°¤¯¤³¤È¤ò²Äǽ¤Ë¤·¤Þ¤·¤¿¡£ Æó¤ÄÌܤϥ¢¡¼¥à¤ò¾å²¼¤ËÆ°¤«¤¹¤¿¤á¤Î¤â¤Î¤ÇÊ¿¹Ô»ÍÊÕ·Á¤Î·Á¤Î³Ñ¤ÎÉôʬ¤Ë¥â¡¼¥¿¡¼¤ò¼è¤êÉÕ¤±¤¿¡£¤À¤¬¡¢¥â¡¼¥¿¡¼¤ÎÎϤÀ¤±¤Ç¤Ï¥¢¡¼¥à¤¬¤¢¤¬¤é¤Ê¤«¤Ã¤¿¤Î¤Ç¥®¥¢¤ò¤Ä¤±¤Æ¥â¡¼¥¿¡¼¤ÎÎϤò¤¢¤²¤ë¹©Éפò¤·¤Þ¤·¤¿¡£ »°¤ÄÌܤϥ¢¡¼¥à¤òÄù¤áÉÕ¤±¤ë¤¿¤á¤Î¥â¡¼¥¿¡¼¤Ç¤¹¡£´Ì¤ò¤Ç¤¤ë¤À¤±²¼¤«¤é»ý¤Æ¤ë¤è¤¦¤Ë¥¢¡¼¥à¤ÎºÇ²¼ÅÀ¤ò²¼¤²¤ë¹©Éפò¤·¤Þ¤·¤¿¡£¤½¤·¤Æ´Ì¤ò¤Ä¤«¤ó¤À¤Þ¤Þ¥¢¡¼¥à¤¬¾å¤¬¤ë¤è¤¦¤Ë¥×¥í¥°¥é¥ß¥ó¥°¤Ç¤Ï¤º¤Ã¤È¥â¡¼¥¿¡¼¤¬²ó¤ê¤Ä¤º¤±¤ë¤è¤¦¹©Éפ·¤Þ¤·¤¿¡£
´Ì¤ò±¿¤Ö¥í¥Ü¥Ã¥È¤Ïmattu¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
´Ì¤òÀѤà¥í¥Ü¥Ã¥È
//A¡¦¡¦¡¦Â²ó¤ê B¡¦¡¦¡¦¥¢¡¼¥à¾å²¼ C¡¦¡¦¡¦¥¢¡¼¥à #define CONN 0 #define INBOX MAILBOX3 #define ang_up 340 //»ý¤Á¾å¤²ÍѳÑÅÙ #define ang_put 80 //¥«¥óÃÖ¤¯³ÑÅÙ #define ANGLE 50 //ÄϤàÍѳÑÅÙ #define POWER 30 //ÀµÅ¾ #define POWER_LEGS 40 //²ó¤êÍÑ #define POWER_RE -30 //µÕž
°ìÈÖ¾å¤Ë¤É¤ÎÆ°ºî¤Ë¤É¤Î¥â¡¼¥¿¤ò³ä¤êÅö¤Æ¤ë¤«¤ò½ñ¤¤¤Æ¤¤¤Þ¤¹¡£ ¥³¥á¥ó¥Èʸ¤ÇÀâÌÀ¤Ç¤¤Æ¤¤¤ë¤È»×¤¦¤Î¤ÇÀâÌÀ¤Ï¾Êά¤¹¤ë¡£
sub go_f(int l){ //»ØÄêµ÷Î¥Á°¿Ê float Ang=l*2.0463; //²óž³ÑÅÙ·×»» RotateMotor(OUT_A,POWER_LEGS,Ang); //Á°¿Ê Off(OUT_A); } ¤³¤ì¤Ë¤Ä¤¤¤Æ¤Ï²ÝÂ꣱¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
sub hold(){ //¥«¥ó¤òÄϤà go_f(100); //Á°¿Ê¤·¤Æ¥«¥ó¤Î°ÌÃÖ¤ò¹ç¤ï¤»¤ë RotateMotor(OUT_C,POWER_RE,ANGLE); ¡¡¡¡¡¡¡¡//¥«¥óÄϤà }
sub stack(){ //¥«¥ó¤òÀѤà go_f(170); //Á°¿Ê¤·¤Æ¥«¥ó¤Î°ÌÃÖ¤ò¹ç¤ï¤»¤ë go_f(-10); //¥«¥ó¤«¤éÎ¥¤ì¤Æ°ÌÃÖÄ´À° RotateMotor(OUT_B,POWER_RE,ang_put); //¥«¥ó¤òÃÖ¤¯(ÀѤà) } ¤³¤ì¤é¤Ï¥³¥á¥ó¥Èʸ¤ÇÀâÌÀ¤Ç¤¤Æ¤¤¤ë¤È»×¤¦¤Î¤Ç¾Êά
sub down_arm(){ //¥¢¡¼¥à¤ò²¼¤²¤ë OnFwd(OUT_B,POWER_RE); Wait(1100); Off(OUT_B); } ¥¢¡¼¥à¤ò²¼¤²¤ë´Ø¿ô¡£ ¥¢¡¼¥à¤ò²¼¤Ë1100¥ß¥êÉò¼¤²¤ë¡£¤³¤³¤Ï³ÑÅÙ¤è¤ê¤â»þ´Ö¤ÇÀ©¸æ¤·¤¿¤Û¤¦¤¬³Î¼Â¤Ë²¼¤¬¤ë¤¿¤á¡¢»þ´Ö¤Ç À©¸æ¤·¤Æ¤¤¤ë¡£
task main(){ int msg=0; until(BluetoothStatus(CONN)==NO_ERR);¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ //bluetooth¤¬³ÎΩ¤¹ ¤ë¤Þ¤ÇÂÔµ¡ go_f(-50); //¥¢¡¼¥à¤ò²¼¤²¤ë¤¿ ¤á¤Î°ÌÃÖÄ´À° down_arm(); //¥¢¡¼¥à¤ò²¼¤²¤Æ¥« ¥ó¤òÄϤà½àÈ÷ while(1){ hold(); //¥«¥óÄϤà OnFwd(OUT_C,POWER_RE); ¡¡¡¡¡¡¡¡//ÊÝ»ý¤·Â³¤±¤ë RotateMotor(OUT_B,50,ang_up); ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//»ý¤Á¾å¤²¤ë go_f(-150); //°ÌÃÖÄ´À°
ReceiveRemoteNumber(MAILBOX3,true,msg); //½¸¤á¤ë¦¤«¤é¤Î¿® ¹æ¤¬Íè¤ë¤Þ¤ÇÂÔµ¡ while(msg!=2){ ReceiveRemoteNumber(MAILBOX3,true,msg); Wait(10); }
stack(); //£²¤Î¿®¹æ¤¬Í褿¤é ÀѤà Off(OUT_C); //¥«¥ó¤òÊÝ»ý¤¹¤ëÎÏ ¤òÈ´¤¯ RotateMotor(OUT_C,POWER,ANGLE); //¥«¥óÎ¥¤¹ go_f(-100); //°ÌÃÖÄ´À° down_arm(); //¥¢¡¼¥à¤ò²¼¤²¤Æ¼¡ ¤Î½àÈ÷ } }
ºÇ¸å¤Þ¤ÇÇ´¤Ã¤¿¤¬·ë¶É´Ì¤òÀѤ߾夲¤ë¥í¥Ü¥Ã¥È¤Î¥×¥í¥°¥é¥ß¥ó¥°¤¬´°À®¤»¤ºËÜÈ֤ˤʤäƤ·¤Þ¤¤¡¢ËÜÈ֤ϴ̤ò½¸¤á¤ë¤À¤±¤Î¥í¥Ü¥Ã¥È¤À¤±¤È¤Ê¤ê¡¢6ÅÀ¤È¤Ê¤ê¤Þ¤·¤¿¡£
¼«Ê¬¤â´Þ¤á¤Æ4¿ÍÁ´°÷¤¬¥Ð¥¤¥È¤ä¥µ¡¼¥¯¥ë³èÆ°¤Ç»þ´Ö¤¬Á´Á³¹ç¤ï¤Ê¤«¤Ã¤¿¤Î¤¬ËÜÈ֤ޤǤ˴֤˹ç¤ï¤Ê¤«¤Ã¤¿¸¶°ø¤Î°ì¤Ä¤È¹Í¤¨¤Æ¤¤¤Þ¤¹¤¬¡¢°ìÈ֤θ¶°ø¤Ï¤É¤¦¤¤¤Ã¤¿¥í¥Ü¥Ã¥È¤Ë¤¹¤ë¤«¤È¤¤¤¦Á´ÂΤγµÍפ¬ËÜÈ֤λ°ÆüÁ°¤Þ¤ÇÊѤï¤ê³¤±¤Æ¤¤¤¿»ö¤À¤È»×¤¤¤Þ¤¹¡£ ¤½¤·¤Æ¤³¤Î¥¼¥ß¤òÄ̤·¤ÆÉÔÈ÷¤Î¤Ê¤¤¥í¥Ü¥Ã¥È¤òºî¤ëÆñ¤·¤µ¤ä¡¢¼«Ê¬¤Î»×¤Ã¤¿¤È¤ª¤ê¤Î¥×¥í¥°¥é¥ß¥ó¥°¤ÇËè²óÆ°¤¤¤Æ¤¯¤ì¤Ê¤¤¤È¤¤¤¦¤³¤È¤ò³Ø¤Ó¤Þ¤·¤¿¡£ »ä¤Ïµ¡³£¥·¥¹¥Æ¥à¹©³Ø²Ê¤Ê¤Î¤Ç¤³¤ì¤«¤é¤â¥í¥Ü¥Ã¥È¤Ë·È¤ï¤ë¤³¤È¤â¿¡¹¤¢¤ë¤È»×¤¦¤Î¤Ç¤³¤Î¥¼¥ß¤ÇÆÀ¤¿·Ð¸³¤ò¸µ¤Ë¤µ¤é¤Ëµ¡³£¤Î¥×¥í¤Ë¶á¤Å¤¤¤Æ¹Ô¤¤¿¤¤¤È»×¤¤¤Þ¤¹¡£