¹õÀþ¤ÎÉý¤Ï20mm¤Ç¤Ê¤ë¤Ù¤¯¶ÑÅù¤ÊÇ»¤µ¤Ë¤¹¤ë¤³¤È¡£¥´¡¼¥ë¤Ï1x16¤Î¥Ó¡¼¥à1ËÜ¡¢1x8¤Î¥Ó¡¼¥à2ËÜ¡¢¤ª¤è¤Ó¤½¤ì¤é¤òÀܳ¤¹¤ë¤¿¤á¤Î¥×¥ì¡¼¥È¤ò»ÈÍѤ·¡¢¥³¤Î»ú¤ËÁȤ߹ç¤ï¤»¤Æºî¤ë¡£
¥¢¡¼¥à¤Ï¥Ô¥ó¥Ý¥ó¶Ì¤ò¤·¤Ã¤«¤ê¤ÈÄϤá¤ë¤è¤¦¤ËÆó½Å¤Ë¤·¤Æ¤½¤ì¤ò¥â¡¼¥¿¡¼¤Î²óž¤òÍøÍѤ·¤Æ³«ÊĤǤ¤ë¡£ ¥·¥å¡¼¥È¤Ï¡¢°ìÅÙ¥¢¡¼¥à¤ò³«¤¤¤Æ¤«¤é¥í¥Ü¥Ã¥ÈËÜÂΤ¬¤Ö¤Ä¤«¤ë¤³¤È¤Ç¥·¥å¡¼¥È¤¹¤ë»ÅÁȤߤȤʤäƤ¤¤ë¡£ ¤Þ¤¿¥¢¡¼¥àÁ´ÂΤò¾å¤È²¼¤Ç¸ÇÄꤷ¤Æ¤¢¤ë¡£
¼Ì¿¿¤ÎÀÖÀþ¤Ç°Ï¤Þ¤ì¤¿Éôʬ¤¬¤«¤Ê¤á¤Ç¤¢¤ê¡¢¥â¡¼¥¿¡¼¤¬²óž¤¹¤ë¤³¤È¤Ç¡¢¥®¥¢¤¬Æó¤Ä³¤±¤Æ¤Ä¤±¤Æ¤¢¤ë¥®¥¢¤Î¾å¤Î¥®¥¢¤¬²óž¤¹¤ë¤¿¤á¤Ë¡¢¥·¥ã¥Õ¥È¼«ÂΤ¬²óž¤¹¤ë¤³¤È¤Ç¡¢²¼¤Î¥®¥¢¤âƱ»þ¤Ë²óž¤¹¤ë¤Î¤Ç¡¢¤½¤Î¥®¥¢¤È¤«¤ß¹ç¤Ã¤Æ¤¤¤ë¤â¤¦ÊÒÊý¤Î¥·¥ã¥Õ¥È¤â²óž¤¹¤ë¤Î¤Ç¡¢²¼¤Ë¤Ä¤¤¤Æ¤¤¤ë¥Ó¡¼¥à¤Ë¶´¤Þ¤ì¤¿¥¢¡¼¥àÉôʬ¤ò³«ÊĤ¹¤ë¤³¤È¤¬½ÐÍè¤ë¡£
´ðËܤÎʪ¤ò¥Ù¡¼¥¹¤Ë¿¿¤óÃæ¤Î¥Ó¡¼¥à¤Ç¤Ç¤¤Æ¤¤¤ëÉôʬ¤ò¤Ê¤¯¤·¡¢½ÐÍè¤ë¤À¤±¾®¤µ¤¯¤Þ¤È¤Þ¤ë¤è¤¦¤ËÁȤ߾夲¤¿¤³¤È¤Ç¥¿¥¤¥ä¤È¥»¥ó¥µ¡¼¤Îµ÷Î¥¤ò½ÐÍè¤ë¤À¤±¶á¤Å¤±¤ë¤è¤¦¤Ë¤·¤¿¤¦¤¨¤Ç¥í¥Ü¥Ã¥È¤ÎÁ°Êý¤ËL»ú¥Ö¥í¥Ã¥¯¤òÁȤ߹þ¤á¤ë¤è¤¦¤Ë¤·¤¿¡£
¸÷¥»¥ó¥µ¡¼¤Ï¤Ê¤ë¤Ù¤¯¥¿¥¤¥ä¤Ë¶á¤¤°ÌÃ֤˸ÇÄꤷ¤¿¡£ ¥»¥ó¥µ¡¼£±¤ò»È¤Ã¤Æ¤¤¤ë¡£
¥â¡¼¥¿¡¼ ¥Ó¡¼¥à¤Ë¤µ¤«¤µ¤Þ¤ËÉÕ¤¤¤Æ¤¤¤ë¡£
¸÷¥»¥ó¥µ¡¼¡¡L»ú¥Ö¥í¥Ã¥¯¤ÈÁȤ߹ç¤ï¤»¤ÆÆþ¤ì¤Æ¤¤¤ë¡£
¥Ó¡¼¥à¡¡¡¡¡¡ËÜÂξåÉô¤ÈÁö¹Ô¤¹¤ë²¼Éô¤ò¤Ä¤Ê¤°¤è¤¦¤ËL»ú¤Î·Á¤Ë¤Ê¤ë¤è¤¦¤ËÁȤ߾夲¤Æ¤¤¤ë¡£
´ðËܤÎʪ¤ÎÃæ±ûÉôʬ¤ò³°¤·¤Æ¤è¤ê¥³¥ó¥Ñ¥¯¥È¤Ë¡¢»È¤¤¤ä¤¹¤¤¤è¤¦¤Ëºî¤êÊѤ¨¤¿¡£ ¥¢¡¼¥à¤È¤Î·ó¤Í¹ç¤¤¤«¤é¡¢Â礤¤Êý¤Î¥¿¥¤¥ä¤òÁ°¤Ë¤·¤¿¡£
¥¢¡¼¥à¤Ï¥â¡¼¥¿¡¼¤Î³«Å¸¤Ë¤è¤ê¼è¤ì¤ä¤¹¤¯¡¢¤Þ¤¿¸÷¥»¥ó¥µ¡¼¤È¥¢¡¼¥à¤ò´Þ¤àÁ°Éôʬ¤Î¥Ñ¡¼¥Ä¤¬ËÜÂΤ«¤é¤È¤ì¤ä¤¹¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£
¤Ç¤Ï¤³¤ì¤«¤é¥×¥í¥°¥é¥à¤ÎÀâÌÀ¤ËÆþ¤ë¡£
¾å¤Î¿Þ¤«¤é¤âʬ¤«¤ëÄ̤ꡢº£²ó¡¢¥í¥Ü¥Ã¥È¤òÁö¤é¤»¤ë¥³¡¼¥¹¤Ï¡¢ÃÏÅÀA¤«¤éÃÏÅÀB¤Þ¤Ç¤Î¤ß¤Á¤Î¤ê¤Ç¤¢¤ë¡£¤³¤Î¥³¡¼¥¹¤ÏP»°ºµÏ©¤ò²á¤®¤¿¤È¤³¤í¤Ë¥Ü¡¼¥ë¤¬¤¢¤ê¡¢¤¹¤°¤ËµÞ¥«¡¼¥Ö¤¬¤¢¤ë¡£Q¸òº¹ÅÀ¤òÅϤ俤¢¤È¤âľ³Ñ¥«¡¼¥Ö¤¬¤¢¤ê¶Ê¤¬¤ê¤Ë¤¯¤¤ÅÀ¤¬¥Ý¥¤¥ó¥È¤Ç¤¢¤ë¡£
¤Þ¤º¥×¥í¥°¥é¥à¤ÇÄêµÁ¤·¤¿Êª¤òµó¤²¤Æ¤¤¤¯¡£
#define THRESHOLD 47 /*¤·¤¤¤ÃͤÎÀßÄê*/ #define LOWPOWER 3 /*¥Ñ¥ï¡¼¤ÎÃÍ*/ #define set_power_l SetPower(OUT_AC,LOWPOWER); /*¥Ñ¥ï¡¼¤ÎÀßÄê*/ #define straight set_power_l; OnFwd(OUT_AC); /*Á°¿Ê*/ #define back set_power_l; OnRev(OUT_AC); Wait(60); /*¸åÂà*/ #define LEFT set_power_l; OnFwd(OUT_C); Off(OUT_A); /*º¸¤Ë¶Ê¤¬¤ë*/ #define RIGHT set_power_l; OnFwd(OUT_A); Off(OUT_C); /*±¦¤Ë¶Ê¤¬¤ë*/ #define LEFT_L set_power_l; OnFwd(OUT_C); OnRev(OUT_A); /*º¸¤ËÀû²ó*/ #define RIGHT_L set_power_l; OnFwd(OUT_A); OnRev(OUT_C);/*±¦¤ËÀû²ó*/ #define STOP1 Off(OUT_AC); Wait(200); /*2ÉôÖÄä»ß*/ #define STOP2 Off(OUT_AC); Wait(20); /*0.2ÉôÖÄä»ß*/ #define STEP 1 /*ȽÃǤËÍפ¹¤ë»þ´Ö*/ #define arm_on OnRev(OUT_B); Wait(11); Off(OUT_B); /*¥¢¡¼¥à¤ò³«¤¯*/ #define arm_close OnFwd(OUT_B); Wait(8); Off(OUT_B); /*¥¢¡¼¥à¤òÊĤ¸¤ë*/ #define music PlayTone(523,25); /*¥É¤Î²»¤ò½Ð¤¹*/ #define MOVE_TIME 30 /*¤³¤Î´Ö¤ËÆ°¤¯*/ #define judge_time 33 /*¸òº¹ÅÀ¤Þ¤¿¤Ï»°ºµÏ©¤Ç¤¢¤ë¤«È½ÃǤ¹¤ëºÝ¤ÎÃÍ*/
Ä̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹
sub line1(){ if(SENSOR_1 <= THRESHOLD-10) { LEFT; /*¸÷¥»¥ó¥µ¡¼¤¬£³£·°Ê²¼¤Î¿ôÃͤò¸¡ÃΤ·¤¿»þ¤Ïº¸¤Ë¶Ê¤¬¤ë*/ }else{ if (SENSOR_1 <= THRESHOLD-12) { straight; }else{ RIGHT; ¡¡ } ClearTimer(0); }¡¡/*¸÷¥»¥ó¥µ¡¼¤¬£³£µ°Ê²¼¤ÎÃͤò¼¨¤·¤¿»þ¤Ïľ¿Ê¡¢£³£·¤è¤ê¾å¤ÎÃͤò¼¨¤·¤¿»þ¤Ï¡¢±¦¤Ë¶Ê¤¬¤ê¡¢¤½¤Î¤É¤Á¤é¤Î¾ì¹ç¤Ç¤â¡¢¥¿¥¤¥Þ¡¼¤Ï¥ê¥»¥Ã¥È¤¹¤ë¡£ }
µÞ¥«¡¼¥Ö¤Ë»ÈÍѤ¹¤ë¥é¥¤¥ó¥È¥ì¡¼¥¹
sub line2(){ if(SENSOR_1 <= THRESHOLD-10) { LEFT_L; /*¸÷¥»¥ó¥µ¡¼¤¬£³£·°Ê²¼¤Î¿ôÃͤò¸¡ÃΤ·¤¿»þ¤Ïº¸Àû²ó¤ò¤¹¤ë¡£*/ }else{ if (SENSOR_1 <=THRESHOLD-12) { straight;} /*¸÷¥»¥ó¥µ¡¼¤¬£³£µ°Ê²¼¤Î¿ôÃͤò¸¡ÃΤ·¤¿»þ¤Ïľ¿Ê¤¹¤ë¡£*/ }else if (SENSOR_1<= THRESHOLD-3){ RIGHT_L;} /*¸÷¥»¥ó¥µ¡¼¤¬£´£´°Ê²¼¤Î¿ôÃͤò¸¡ÃΤ·¤¿»þ¤Ï±¦Àû²ó¤¹¤ë¡£*/ }else{ RIGHT; } /*¾åµ°Ê³°¤Î¾õ¶·¤Î¾ì¹ç¡¢±¦¤Ë¶Ê¤¬¤ë¡£*/ } }
»°ºµÏ©¡¢¸òº¹ÅÀ¤òÄ̲᤹¤ë»þ
sub cross() { STOP1; /* ÆóÉôÖÄä»ß¤¹¤ë*/ RIGHT_L; Wait(30);¡¡/*¥í¥Ü¥Ã¥È¤Î¸þ¤¤òÄ´À°¤¹¤ë¤¿¤á¤Ë±¦¤ËÀû²ó¤¹¤ë¡£*/ music; /*¸òº¹ÅÀ¡¢»°ºµÏ©¤Ë¤Ä¤¤¤¿¤³¤È¤ò¼¨¤¹¤¿¤á¤ËÌĤ餹¡£*/ straight; Wait(MOVE_TIME); /* ¸òº¹ÅÀ¡¢»°ºµÏ©¤ò²£ÃǤ¹¤ë¡£*/ }
º£²ó¤Î²ÝÂê¤Ç¤Ï¡¢¸òº¹ÅÀ¤ä»°ºµÏ©¤òȽÃǤ·ÆóÉôÖÄä»ß¤¹¤ëɬÍפ¬¤¢¤Ã¤¿¡£¤½¤³¤Ç¥¿¥¤¥Þ¡¼¤ò»ÈÍѤ·¤¿¸òº¹ÅÀ¤Î¼±ÊÌÊýË¡¤ò»È¤¦¤³¤È¤Ë¤·¤¿¡£
¥µ¥Ö¥ë¡¼¥Á¥ó¤Îline1¤Ï¡¢¥¿¥¤¥Þ¡¼£°¤¬ÀßÄꤷ¤Æ¤¢¤ë»þ¡¢¸÷¥»¥ó¥µ¡¼¤¬¹õ¤¤Àþ¤ò¸¡ÃΤ·¤Æ¤¤¤ë´Ö¤À¤±¡¢¥¿¥¤¥Þ¡¼£°¤ò¿Ê¤Þ¤»¤Æ¡¢¤½¤ì°Ê³°¤Î¾õ¶·¤Î»þ¤Ï¾ï¤Ë¥¿¥¤¥Þ¡¼£°¤ò¥ê¥»¥Ã¥È¤·Â³¤±¤ë¥é¥¤¥ó¥È¥ì¡¼¥¹¤Ç¤¢¤ë¡£¸òº¹ÅÀ¤ä»°ºµÏ©¤Ç¤Ï¡¢¹õ¤¤Àþ¤¬Â³¤±¤ÆȽÃǤµ¤ì¤ë¤³¤È¤òÍøÍѤ·¡¢¹õ¤¤Àþ¤¬Â³¤¤¤Æ¤¤¤ë¤³¤È¤Ç¥¿¥¤¥Þ¡¼£°¤òwhile¤òÍѤ¤¤Æ¤¢¤ëÃ͡ʺ£²ó¤Ç¤Ïjudge_time¤ÈÄêµÁ¤Ä¤±¤¿Ã͡ˤޤÇÆ°¤¯¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ç¡¢¤½¤ì°Ê³°¤Î¾ì½ê¤Ç¤Ï¡¢¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤·Â³¤±¡¢¸òº¹ÅÀ¤ä»°ºµÏ©¤Ç¤Ï¼¡¤ÎÆ°ºî¤Ë°Ü¤ë¤³¤È¤¬¤Ç¤¤ë¡£
¤·¤«¤·¡¢µÞ¥«¡¼¥Ö¤Ëº¹¤·³Ý¤«¤ë¤È¸òº¹ÅÀ¤ÎȽÃǤò¤·¤Æ¤·¤Þ¤¦Â¾¡¢¶Ê¤¬¤êÀÚ¤ì¤Ê¤¤¤Î¤Ç¡¢µÞ¥«¡¼¥Ö¤ò¶Ê¤¬¤ë¤¿¤á¤Ë¡¢line2¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤òºî¤Ã¤¿¡£
line2¤Ï¶Ê¤¬¤ëºÝ¤ÏÀû²ó¤ò»È¤¦¤³¤È¤ÇµÞ¥«¡¼¥Ö¤ò¶Ê¤¬¤êÀڤꡢÀßÄꤷ¤¿¥¿¥¤¥Þ¡¼¤ò»È¤¦¤³¤È¤Ç¡¢µÞ¥«¡¼¥Ö¤ò¶Ê¤¬¤ë»þ´Ö¤ò»ØÄꤹ¤ë¤³¤È¤Ç¡¢µÞ¥«¡¼¥Ö¤ò¶Ê¤¬¤ë¤Þ¤ÇÆ°¤Â³¤±¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£
¤Þ¤¿¡¢»°ºµÏ©¤ä¸òº¹ÅÀ¤òÄ̲᤹¤ë¤È¤¤Ë¡¢¤É¤¦¤·¤Æ¤â¤Þ¤Ã¤¹¤°¤Ë¹Ô¤«¤Ê¤¤¤¿¤á¡¢»ÅÊý¤Ê¤¯Àû²ó¤ò»È¤¤°ÌÃÖ¤òÄ´À°¤·¤Æ¤¤¤ë¡£
¥Ü¡¼¥ë¤ÏµÞ¥«¡¼¥Ö¤Î°ÌÃÖ¤ËÃÖ¤¯¤³¤È¤Çline1¤ò»ÈÍѤ·¤ÆȽÃǤ¹¤ë¡£
¡¡Á¢
task main() { SetSensor(SENSOR_1, SENSOR_LIGHT); ClearTimer(0); while( FastTimer(0) <= judge_time) { line1(); Wait(STEP); /*¸òº¹ÅÀ¤Ëº¹¤·³Ý¤«¤ë¤Þ¤ÇÄ̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤¹¤ë¡£*/ }cross(); ClearTimer(0);
¢¡Á£
while( FastTimer(0) <= judge_time) { line1(); Wait(STEP); }STOP2; arm_close; /*¥Ü¡¼¥ë¤Î¤¢¤ë¤È¤³¤í¤Ç¡¢È½ÃǤ·¤Æ»ß¤Þ¤ê¥Ü¡¼¥ë¤òÄϤà*/
£¡Á¤
while( FastTimer(0) <= judge_time) { line1(); Wait(STEP); /*µÞ¥«¡¼¥Ö¤Ëº¹¤·³Ý¤«¤ë¤Þ¤Ç¡¢Ä̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¹Ô¤¦¡£*/ }ClearTimer(0); /*¥¿¥¤¥Þ¡¼£°¤ò¥ê¥»¥Ã¥È¤¹¤ë¡£*/
¤¡Á¥
while( Timer(0) <= 200) { line2(); Wait(STEP); /*¥¿¥¤¥Þ¡¼¤Ç£²£°£°¤ÎÃͤޤǵޥ«¡¼¥ÖÍѤΥ饤¥ó¥È¥ì¡¼¥¹¤ÇµÞ¥«¡¼¥Ö¤òÁö¤êÀڤ롣*/ }ClearTimer(0); /*¥¿¥¤¥Þ¡¼£°¤ò¥ê¥»¥Ã¥È¤¹¤ë*/ while( FastTimer(0) <= judge_time){ line1(); }cross(); /*¸òº¹ÅÀ¤Î°ÌÃÖ¤Þ¤ÇÄ̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¹Ô¤¤¡¢¸òº¹ÅÀ¤Ëº¹¤·³Ý¤«¤Ã¤¿¤éÅϤ롣*/ ClearTimer(1); ClearTimer(0); /*¥¿¥¤¥Þ¡¼£°¤È¥¿¥¤¥Þ¡¼£±¤ò¥ê¥»¥Ã¥È¤¹¤ë¡£*/
¥¡Á¦
while( Timer(1) <= 180){ line2(); Wait(STEP); /*ľ³Ñ¥«¡¼¥Ö¤ÎÉôʬ¤òÅϤ뤿¤á¤Ë¥¿¥¤¥Þ¡¼£±¤Î£±£¸£°¤ÎÃͤˤʤë¤Þ¤Ç¤ËµÞ¥«¡¼¥ÖÍѤΥ饤¥ó¥È¥ì¡¼¥¹¤ò¹Ô¤¦¡£*/ }
¦¡Á§
while(FastTimer(0) <= judge_time){ line1(); Wait(STEP); /*¥·¥å¡¼¥È¤¹¤ëBÃÏÅÀ¤ÎÁ°¤Ç»ß¤Þ¤ë¤¿¤á¤Ë¡¢Ä̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¹Ô¤¦¡£*/ }STOP2; /*BÃÏÅÀ¤ËÍ褿¤éÄä»ß¤¹¤ë¡£*/ arm_on; music;back; straight; Wait(80); STOP2;/*¥·¥å¡¼¥È¤ÎÆ°ºî*/ }
°ì¡¡¦¡Á§¤Î´Ö¤Ç¡¢¸íºîÆ°¤ÇÀè¤ËÆ°¤¤¤Æ¤·¤Þ¤¦¤¿¤á¤ËTimer(0)¤À¤±¤Ç¤Ê¤¯¡¢Timer(1)¤ò»È¤ï¤¶¤ë¤òÆÀ¤Ê¤«¤Ã¤¿ÅÀ¡£
Æ󡡤ޤ¿µÞ¥«¡¼¥Ö¤ò¶Ê¤¬¤êÀڤ줺¤Ë²¿²ó¤«¡¢¤ä¤êľ¤µ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤«¤Ã¤¿ÅÀ¡£
»°¡¡Àû²ó¤Ç¤Ï¤É¤¦¤·¤Æ¤â»þ´Ö»ØÄê¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ì¤º¡¢»þ´Ö¤ò¬¤é¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤«¤Ã¤¿ÅÀ¡£
º£²ó¤Î²ÝÂê¤â½é¤á¤Ï¤Ç¤¤ë¤«É԰¤Ǥ¢¤Ã¤¿¤¬¡¢²¿¤È¤«¤ä¤ê½ª¤¨¤ë¤³¤È¤¬½ÐÍ褿¡£°ìÅÙ¥×¥í¥°¥é¥à¤òÁ´Éô½ñ¤Ä¾¤¹¤·¤¿¤³¤È¤â¤¢¤ê¡¢´°À®¤·¤Æ¤è¤«¤Ã¤¿¡£