2017b/Member/yuitom/Mission2
¤ò¥Æ¥ó¥×¥ì¡¼¥È¤Ë¤·¤ÆºîÀ®
[
¥È¥Ã¥×
] [
¿·µ¬
|
°ìÍ÷
|
¸¡º÷
|
ºÇ½ª¹¹¿·
|
¥Ø¥ë¥×
|
¥í¥°¥¤¥ó
]
³«»Ï¹Ô:
Ìܼ¡
#contents
*²ÝÂê¤Î³Îǧ [#rcb738e9]
&ref(2017b/Member/yuitom/Mission2/rob_mission2.png,70%,¥³¡¼¥¹¤ÎÁ´ÂοÞ);
¡¡º£²ó»ä¤¬Ã´Åö¤¹¤ë¥³¡¼¥¹¤ÏÂè3¥³¡¼¥¹¤Ç¤¢¤ë¡£¾°¡¢Âè3¥³¡¼¥¹¤Î¶ñÂÎŪ¤ÊÆâÍƤϰʲ¼¤ÎÄ̤ê¤Ç¤¢¤ë¡£
¡Ê1¡ËA¤ò¥¹¥¿¡¼¥È¡Ê2¡ËB¤òľ¿Ê¡Ê3¡ËC¤òľ¿Ê
¡Ê4¡ËDÃÏÅÀ¤Î»æ¥³¥Ã¥×¤ò¼èÆÀ¤·¤ÆÍ褿¥³¡¼¥¹Ìá¤êC¤Ø¸þ¤«¤¦
¡Ê5¡ËC¤òº¸ÀÞ¡Ê6¡ËF¤òľ¿Ê¡Ê7¡ËR¤òº¸ÀÞ(°ì»þÄä»ß)¡Ê8¡ËP¤òľ¿Ê
¡Ê9¡ËXÃÏÅÀ¤Ë»æ¥³¥Ã¥×¤òÃÖ¤¤¤Æ¥³¡¼¥¹¤ËÌá¤ë
¡Ê10¡ËQ¤òº¸ÀÞ¡Ê11¡ËS¤ò±¦ÀÞ(°ì»þÄä»ß)¡Ê12¡ËF¤òº¸ÀÞ(°ì»þÄä»ß)¡Ê13¡ËC¤ò±¦ÀÞ(°ì»þÄä»ß)¡Ê14¡ËDÃÏÅÀ¤Ø(¥´¡¼¥ë)
*¥í¥Ü¥Ã¥È¤ÎÀâÌÀ [#k049917e]
**¥í¥Ü¥Ã¥ÈºîÀ®¤Ë¸þ¤±¤Æ [#m59a7d6d]
Àµ³Î¤Ë¥ß¥Ã¥·¥ç¥ó¤ò¥¯¥ê¥¢¤¹¤ë¤¿¤á¤ËɬÍפˤʤë6¤Ä¤Î²ÝÂê
µ¡¡¥é¥¤¥ó¤Îü¤òÀµ³Î¤Ë¤¿¤É¤ë
¢ª¡¡¡¤è¤ê¾®²ó¤ê¤¬¤¤¯¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë¡¢¥»¥ó¥µ¤ÈÆ°ÎϤΰÌÃÖ¤ò¤Ç¤¤ë¤À¤±¶á¤Å¤±¤ë¡£¡Ê¥í¡¼¥Ð¡¼¡Ë
¡¡¢¡¡»æ¤Î±úÆÌ¡¢¥é¥¤¥ó¤ÎÅɤê¤ÎÁƤµ¤Ê¤É¤ÇÆ°ºî¤Ë»Ù¾ã¤ò¤¤¿¤µ¤Ê¤¤¤è¤¦¤Ë¡¢¥»¥ó¥µ¤ÈÃÏÌ̤ΰÌÃÖ¤ÎÄ´À᤹¤ë¡£¡Ê¥í¡¼¥Ð¡¼¡Ë
¶¡¡¥³¥Ã¥×¤ÎÆþ¼ê¤È¥ê¥ê¡¼¥¹
¢ª£¡¡¥³¥Ã¥×¤Î°ÌÃÖ¤¬Â¿¾¯¤º¤ì¤Æ¤¤¤Æ¤âÆþ¼ê¤Ç¤¤ë¥¢¡¼¥à¤òºîÀ®¤¹¤ë¡£¡Ê¥í¡¼¥Ð¡¼¡Ë
¡¡¤¡¡¥³¥Ã¥×¤ÎÆþ¼ê¤È¥ê¥ê¡¼¥¹¤ÎÆ°ºî¤òÅÅÃÓ»ÄÎ̤˺¸±¦¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¡£¡Ê¥×¥í¥°¥é¥à¡Ë
·¡¡Àµ³Î¤Ë¸òº¹ÅÀ¤ò¸«¶Ë¤á¤ë¡Ê¸òº¹ÅÀ°Ê³°¤Ç¤Î¸íǧ¤ò̵¤¯¤¹¡Ë
¢ª¥¡¡¸òº¹ÅÀ°Ê³°¤Ç¡Ö¤³¤³¤Ï¸òº¹ÅÀ¤À¡×¤È¸íǧ¤·¤Ê¤¤¤è¤¦¤Ê¥×¥í¥°¥é¥à¤òºîÀ®¤¹¤ë¡£¡Ê¥×¥í¥°¥é¥à¡Ë
¡¡¦¡¡¸òº¹ÅÀ¸å¤ÎÆ°ºî¤òÅÅÃÓ»ÄÎ̤ˤè¤Ã¤ÆÊѲ½¤·¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¡£¡Ê¥×¥í¥°¥é¥à¡Ë
»äã¤Î¥°¥ë¡¼¥×¤Ç¤Ï¡¢°Ê¾å¤Î6ÅÀ¤Î²ÝÂê¤ò²ò·è¤¹¤ë¤³¤È¤Çº£²ó¤Î¥ß¥Ã¥·¥ç¥ó¤ò¥¯¥ê¥¢¤Ç¤¤ë¤È¹Í¤¨¤¿¡£
**¥í¥Ü¥Ã¥È¤ÎºîÀ® [#y629d004]
&ref(2017b/Member/yuitom/Mission2/robo1.jpg,70%,¥í¡¼¥Ð¡¼¤ÎÀâÌÀ);
º£²ó¤Ï¡Ö¥í¥Ü¥Ã¥È¤ÎºîÀ®¤Ë¸þ¤±¤Æ¡×¤Ç¤¢¤²¤¿6¤Ä¤Î²ÝÂê¤ÎÃæ¤Î¥í¡¼¥Ð¡¼¤Î²ÝÂê¡¡Á£¤ËÃåÌܤ·¤Æ¡¢¥í¡¼¥Ð¡¼¤òºîÀ®¤·¤Æ¤¤¤¯¡£
²ÝÂê¡¡¡¥»¥ó¥µ¤ÈÆ°ÎϤΰÌÃÖ¤ò¤Ç¤¤ë¤À¤±¶á¤Å¤±¤ë¡£
²ÝÂꢡ¡¥»¥ó¥µ¤ÈÃÏÌ̤ΰÌÃÖ¤ÎÄ´À᤹¤ë¡£
-»îºî1¡¡¡Ê¥»¥ó¥µ¤òÃÏÌ̤ËÂФ·¼Ð¤á¤ËÇÛÃÖ¤¹¤ë¡£¡Ë
Ä´ÅÙÎɤ¤°ÌÃÖ¤À¤Ã¤¿¤é¤·¤¯¡¢¥é¥¤¥ó¥È¥ì¡¼¥¹¤Ï¥¹¥à¡¼¥º¤Ë½ÐÍ褿¡£¤·¤«¤·¡¢¤³¤ÎÊý¼°¤Ç¤Ï²ÝÂꡤǤ¢¤ë¡Ö¥»¥ó¥µ¤ÈÆ°ÎϤΰÌÃÖ¤ò¤Ç¤¤ë¤À¤±¶á¤Å¤±¤ë¡£¡×¤³¤È¤¬Æñ¤·¤¤¤È¤¤¤¦¤³¤È¤¬¤ï¤«¤Ã¤¿¡£
¤³¤Î¤³¤È¤«¤é¡¢¥»¥ó¥µ¤ÏÃÏÌ̤ȿâľ¤Ë¤Ê¤ë¤è¤¦¤ËÀßÃÖ¤¹¤ë¤³¤È¤Ç¡¢¤è¤ê¥»¥ó¥µ¤òÆ°ÎϤ˶á¤Å¤±¤ë¤³¤È¤¬¤Ç¤¤ë¤È¤¤¤¦¤³¤È¤¬¤ï¤«¤Ã¤¿¡£
-»îºî2¡¡¡Ê¥»¥ó¥µ¤òÃÏÌ̤ËÂФ·¿âľ¤Ë¤Ê¤ë¤è¤¦¤ËÀßÃÖ¤¹¤ë¡Ë
ÆÍÁ³¥«¡¼¥Ö¤·¤Æ¤·¤Þ¤¦¤È¸À¤Ã¤¿¤ª¤«¤·¤ÊÆ°¤¤ò¤¹¤ë¤³¤È¤¬Áý¤¨¤Æ¤·¤Þ¤Ã¤¿¡£¤ª¤«¤·¤ÊµóÆ°¤ò¤¹¤ëÅÀ¤ò¸å¤ÇÄ´¤Ù¤Æ¤ß¤¿¤È¤³¤í¡¢»æ¤Ë¼ã´³¤Î±úÆ̤¬¤¢¤Ã¤¿¤È¤¤¤¦¤³¤È¤¬¤ï¤«¤Ã¤¿¡£¤³¤Î¤³¤È¤«¤é¡¢¥»¥ó¥µ¤Î°ÌÃÖ¤¬ÃÏÌ̤˶᤹¤®¤¿¤¿¤á¤Ç¤Ï¤Ê¤¤¤«¤È¤¤¤¦¤³¤È¤¬¤ï¤«¤Ã¤¿¡£
ÃÏÌ̤ȡ¢¤¢¤ëÄøÅÙÎ¥¤ì¤¿°ÌÃ֤˥»¥ó¥µ¤òÇÛÃÖ¤·¤Ê¤¤¤È¡¢Àµ³Î¤Ê¥é¥¤¥ó¥È¥ì¡¼¥¹¤ÏÆñ¤·¤¤¤Î¤À¤È¤¤¤¦¤³¤È¤¬¤ï¤«¤Ã¤¿¡£
-»îºî3¡ÊËÜÈ֤ǻÈÍÑ¡Ë
&ref(2017b/Member/yuitom/Mission2/robo1_sisaku2.jpg,50%,»îºî3¹æµ¡¤Ç¤Î¸÷¥»¥ó¥µ¤Î°ÌÃÖ);
»îºî2¤è¤ê¤â¥»¥ó¥µ¤Î°ÌÃÖ¤òÃÏÌ̤«¤éÎ¥¤¹¤³¤È¤Ç¡¢»îºî1¤Î¤è¤¦¤Ê°ÂÄꤷ¤¿¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¹Ô¤¦¤³¤È¤ËÀ®¸ù¤·¤¿¡£¤Þ¤¿¡¢²ÝÂꡤǤ¢¤ë¡Ö¥»¥ó¥µ¤ÈÆ°ÎϤΰÌÃÖ¤ò¤Ç¤¤ë¤À¤±¶á¤Å¤±¤ë¡£¡×¤³¤È¤Ë¤âÀ®¸ù¤·¤¿¡£
²ÝÂ꣡¡¥³¥Ã¥×¤Î°ÌÃÖ¤¬Â¿¾¯¤º¤ì¤Æ¤¤¤Æ¤âÆþ¼ê¤Ç¤¤ë¥¢¡¼¥à¤ÎºîÀ®¡£
&ref(2017b/Member/yuitom/Mission2/robo1_sisaku1.1.jpg,50%,¥¢¡¼¥à¤ÎÀâÌÀ¡¢¥³¥Ã¥×Æþ¼êÁ°);¡¡¢ª¡¡
&ref(2017b/Member/yuitom/Mission2/robo1_sisaku1.2.jpg,50%,¥¢¡¼¥à¤ÎÀâÌÀ¡¢¥³¥Ã¥×Æþ¼ê¸å);
º£²ó»äã¤Î¥°¥ë¡¼¥×¤Ç¤Ï¡¢¥³¥Ã¥×¤ÎÆþ¼ê¤È¥ê¥ê¡¼¥¹¤¬ÍưפˤǤ¤ë¡¢¡Ö¥¢¡¼¥à¤ò¾å¤«¤é¤«¤Ö¤»¤ë¡×Êý¼°¤Î¥í¥Ü¥Ã¥È¤òºîÀ®¤·¤¿¡£
¤³¤ì¤Ë¤è¤ê¡¢²èÁü¤Î¤è¤¦¤Ë¿¾¯¥³¥Ã¥×¤Ë°ÌÃÖ¤¬¤º¤ì¤Æ¤¤¤Æ¤â¡¢¡Ö4ËܤÎÄޤǰú¤´ó¤»¤Æ¾å¤«¤é¥¢¡¼¥à¤ò¤«¤Ö¤»¤ë¡×¤³¤È¤Ç³Î¼Â¤Ë¥³¥Ã¥×¤ò¼èÆÀ¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£
*¥×¥í¥°¥é¥ß¥ó¥°¤ÎÀâÌÀ [#n5896b66]
**ÄêµÁ [#vc306296]
»äã¤Î¥°¥ë¡¼¥×¤Ç¤Ï¡¢¤è¤ê³ê¤é¤«¤Ê¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¹Ô¤¦¤¿¤á¤Ë5Ãʳ¬¤ÎÈæÎãÀ©¸æ¤ò¹Ô¤Ã¤Æ¤¤¤ë¡£¤½¤Î¤¿¤á¡¢¥×¥í¥°¥é¥à¤¬ËÄÂç¤Ê¤â¤Î¤È¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤Æ¤¤¤ë¡£¤³¤Î¤³¤È¤Ë¤è¤ê¡¢ÅÅÃӤξÃÌפʤɤÇ®ÅÙ¤¬ÊѲ½¤·¤Æ¤·¤Þ¤Ã¤¿ºÝ¡¢³ÆÃͤò½¤Àµ¤¹¤ë¤Î¤Ë¿Âç¤Ê»þ´Ö¤ò»ÈÍѤ·¤Æ¤·¤Þ¤¦¤È¤È¤â¤Ë¡¢¥ß¥¹¤ò¤·¤Æ¤·¤Þ¤¦²ÄǽÀ¤âÈó¾ï¤Ë¹â¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£
¤³¤ì¤é¤ÎÌäÂêÅÀ¤ò²ò·è¤¹¤ë¤¿¤á¤Ë¡¢»ä¤¿¤Á¤Î¥°¥ë¡¼¥×¤Ç¤Ï¥×¥í¥°¥é¥à¾å¤Î¤½¤ì¤¾¤ì¤ÎÃͤËÄêµÁ¤Å¤±¤ò¹Ô¤¤¡¢¥×¥í¥°¥é¥à¤Î½¤Àµ¤È³Îǧ¤ò¤è¤êÍưפʤâ¤Î¤È¤·¤¿¡£
-¥é¥¤¥ó¤Î´ð½à
¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¹Ô¤¦ºÝ¤ËÈó¾ï¤ËÂçÀÚ¤ÊÃͤȤʤë¤â¤Î¤¬¡¢¥é¥¤¥ó¤Îü¤ÎÃͤǤ¢¤ë¡£º£²ó¤Ï¡¢¥é¥¤¥ó¤Î¤â¤Ã¤È¤â¹õ¤¤Éôʬ¤ÎÃͤȡ¢ÍÑ»æ¤Î¤â¤Ã¤È¤âÇò¤¤Éôʬ¤ÎÃͤòÆþÎϤ¹¤ë¤³¤È¤ÇÃæ´Ö¤ÎÃͤ¬¼«Æ°¤Ç½Ð¤ë¤è¤¦¤ÊÄêµÁÉÕ¤±¤ò¹Ô¤Ã¤¿¡£
#define black 30 // ¹õ´ð½à
#define white 58 // Çò´ð½à
#define threshold (black+white)/2 // ´ð½àÀþ¤ÎÌÀ¤ë¤µ
-®Å٤δð½à
#define speed_standardA 35 // ¥â¡¼¥¿A´ð½à®ÅÙ
#define speed_standardB 35 // ¥â¡¼¥¿B´ð½à®ÅÙ
#define corner_standardA 27 // ¥â¡¼¥¿A¸òº¹ÅÀ´ð½à®ÅÙ
#define corner_standardB 27 // ¥â¡¼¥¿B¸òº¹ÅÀ´ð½à®ÅÙ
-ÈæÎãÀ©¸æ¤ËɬÍפÊÄêµÁ
»äã¤Î¥°¥ë¡¼¥×¤Ç¤ÏÈæÎã5Ãʳ¬À©¸æ¤ò¹Ô¤Ã¤Æ¤¤¤ë¡£¤½¤ÎºÝ¡Ö´ð½àÀþ¤ÎÃͤȸ½ºß¤ÎÃͤκ¹¡×¤òÍøÍѤ·ÈæÎãÀ©¸æ¤ò¹Ô¤Ã¤Æ¤¤¤ë¤Î¤À¤¬¡¢º£²ó¤ÏÈæÎã5Ãʳ¬À©¸æ¤È¤¤¤¦¤³¤È¤Ç³Æ¥â¡¼¥¿Ëè¤Ë3¤Ä¤ÎÈæÎãÀ©¸æÍѤÎÃͤ¬É¬ÍפȤʤäƤ¯¤ë¡£
¤Þ¤¿¡¡¡_speed¢¡¡¤È¤·¤¿¤È¤¡¢¡¤Ïf¢ªforward¡ÊÁ°¿ÊÍÑ¡Ë¡¢c¢ªcorner¡Ê¥«¡¼¥ÖÍÑ¡Ë¡¢t¢ªturning(µÞ¥«¡¼¥ÖÍÑ)¤òɽ¤·¡¢¢¤ÏÆ°¤«¤·¤Æ¤¤¤ë¥â¡¼¥¿¤òɽ¤·¤Æ¤¤¤ë¡£
#define sensor2 SENSOR_2
#define f_speedA (sensor2-threshold)*1 // ľ¿Ê ¥â¡¼¥¿A
#define c_speedA (sensor2-threshold)*1.5 // corner¡¡¥â¡¼¥¿A
#define t_speedA (sensor2-threshold)*2 // turning¡¡¥â¡¼¥¿A
#define f_speedB (sensor2-threshold)*1 // ľ¿Ê ¥â¡¼¥¿B
#define c_speedB (sensor2-threshold)*1.5 // corner ¥â¡¼¥¿B¡¡
#define t_speedB (sensor2-threshold)*2 // turning¡¡¥â¡¼¥¿B
-¸òº¹ÅÀ¤Î¼±ÊÌ
»äã¤Î¥°¥ë¡¼¥×¤Ç¤Ï¡¢¸òº¹ÅÀ¤Î¼±Ê̤ò¡Ö¤É¤ì¤Û¤É¤Î»þ´Ö¶Ê¤¬¤ê³¤±¤Æ¤â¹õ¤Î¥é¥¤¥ó¤«¤éÇò¤¤Éôʬ¤Ë¥»¥ó¥µ¤¬Æþ¤é¤Ê¤¤¡×¤È¤¤¤¦»þ´Ö¤òÍѤ¤¤Æ¹Ô¤Ã¤Æ¤¤¤ë¡£¤½¤Î¤¿¤á¤Ë¡¢¸òº¹ÅÀ¼±ÊÌ»þ´Ö¤¬É¬ÍפȤʤä¿¡£
¤Þ¤¿¡¢¸òº¹ÅÀ¤Î¼±ÊÌ»þ´Ö¤¬110¤ÈÈó¾ï¤Ëû¤¯ÀßÄꤵ¤ì¤Æ¤¤¤ëÍýͳ¤Ï¡¢¤³¤ì°Ê¾å¤ÎÃͤˤ·¤¿¾ì¹ç¤Ë¸òº¹ÅÀ¤ÈȽÊ̤·¤Æ¤¯¤ì¤Ê¤¤Éôʬ¤¬¤¢¤ë¤È¤È¤â¤Ë¡¢¤³¤ì°Ê²¼¤Ë²¼¤²¤ë¤ÈÄ̾ï¤Î¥«¡¼¥Ö¤Ç¤â¸òº¹ÅÀ¤È¸íǧ¤·¤Æ¤·¤Þ¤¦²ÄǽÀ¤¬¹â¤Þ¤ë¤«¤é¤Ç¤¢¤ë¡£
#define corner_time 110 // ¸òº¹ÅÀȽÊÌ»þ´Ö
#define corner_wait 1000 // ¸òº¹ÅÀÂÔµ¡»þ´Ö
#define afterselect_time 750 // ¸òº¹ÅÀÄ̲á¸åº¸±¦¥é¥¤¥óÁªÂò»þ´Ö
-¥³¥Ã¥×¤ÎÆþ¼ê¤È¥ê¥ê¡¼¥¹
»äã¤Î¥°¥ë¡¼¥×¤Ç¤Ï¡¢¥³¥Ã¥×¤ÎÆþ¼ê¤È¥ê¥ê¡¼¥¹¤¬ÅÅÃÓ»ÄÎ̤ˤè¤Ã¤Æº¸±¦¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¡¢¥â¡¼¥¿¡¼¤ò²¿Éò󤹤«¤Ç¤Ï¤Ê¤¯¡¢¥â¡¼¥¿¡¼¤ò²¿Åٲ󤹤«¤È¤¤¤Ã¤¿³ÑÅÙ¤òÍøÍѤ·¤Æ¤¤¤ë¡£
#define catch RotateMotor(OUT_C,50,-400);Wait(1000); // ¥³¥Ã¥×¤Î¼èÆÀ
#define release RotateMotor(OUT_C,50,400);Wait(1000); // ¥³¥Ã¥×¤Î¥ê¥ê¡¼¥¹
#define finish OnFwd(OUT_AB,30);Wait(2500);Off(OUT_AB); // Á´¹ÔÄø½ªÎ»¡ÊD¤ØÆþ¤ë¡Ë
**ÈæÎãÀ©¸æ¤È5Ãʳ¬À©¸æ¤òÁȤ߹ç¤ï¤»¤ë¤¿¤á¤Ë¡Ä [#n52315c7]
¡¡
¡¡»äã¤Î¥°¥ë¡¼¥×¤Ç¤Ï¡¢¤è¤ê³ê¤é¤«¤Ê¡¢¤è¤ê°ÂÄê´¶¤Î¤¢¤ë¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¹Ô¤¦¤¿¤á¤Ë¡ÖÈæÎãÀ©¸æ¡×¤ò»ÈÍѤ·¤¿¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¹Ô¤Ã¤Æ¤¤¤ë¡£¤³¤ì¤Ë¤è¤ê¡¢³ê¤é¤«¤ÊÁö¹Ô¤ò²Äǽ¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤¤¿¤¬¡¢¿·¤¿¤Ê²ÝÂê¤âÀ¸¤Þ¤ì¤¿¡£
¡¡¤½¤ì¤Ï¡Ö¤¢¤ëÄøÅ٤Υ«¡¼¥Ö¤Ç¤¢¤ì¤ÐÂбþ¤Ç¤¤ë¤¬¡¢µÞ¥«¡¼¥Ö¤Ç¤ÏÂбþ¤¹¤ë¤³¤È¤¬¤Ç¤¤Ê¤¤¡×¤È¤¤¤¦²ÝÂê¤Ç¤¢¤ë¡£
¡¡¤³¤Î²ÝÂê¤ò¡¢²ò·è¤¹¤ë¤¿¤á¤Ë»ä㤬¹Í¤¨¤¿²ò·èºö¤¬¡ÖÈæÎã5Ãʳ¬À©¸æ¡×¤Ç¤¢¤ë¡£
-3¤Ä¤ÎÈæÎãÀ©¸æ¥×¥í¥°¥é¥à
¡¡¡ÖÈæÎã5Ãʳ¬À©¸æ¡×¤ò¹Ô¤¦¤¿¤á¤Ë¤Ï¡¢3Ãʳ¬¤Ëʬ¤±¤¿ÈæÎãÀ©¸æ¤¬É¬Íפˤʤ롣
¡¡¤Þ¤¿¡¢¡_proportion(int ¢)¤È¤·¤¿¤È¤¡¢¡¤Ïf¢ªforward¡ÊÁ°¿ÊÍÑÈæÎãÀ©¸æ¡Ë¡¢c¢ªcorner¡Ê¥«¡¼¥ÖÍÑÈæÎãÀ©¸æ¡Ë¡¢t¢ªturning(µÞ¥«¡¼¥ÖÍÑÈæÎãÀ©¸æ)¤òɽ¤·¡¢¢¤Ï¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë¥é¥¤¥ó¤ò±¦Â¦¤Ë¤¹¤ë¤«º¸Â¦¤Ë¤¹¤ë¤«¤òÁªÂò¡Ê±¦Â¦¢ª1¡¢º¸Â¦¢ª-1¡Ë¤Ç¤¤ë¤³¤È¤òɽ¤·¤Æ¤¤¤ë¡£
¡¡Îã¡Ë±¦Â¦¤Î¥é¥¤¥ó¤òÁö¹ÔÃæ¤Ç¥«¡¼¥Ö¤·¤Æ¤¤¤ë¾ì¹ç¡¡ forward_proportion(1);
¡¡ÈæÎãÀ©¸æ¤ÎÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¼¡¤Î¤è¤¦¤Ê·×»»Ë¡¤Ç¹Ô¤Ã¤Æ¤¤¤ë¡£
¡¡¥â¡¼¥¿A¡Ê´ð½à®Å١ˡܡʸ½ºß¤ÎÌÀ¤ë¤µ¡Ý´ð½à¤ÎÌÀ¤ë¤µ¡Ë¡ß¶Ê¤¬¤êÊý¤Ë¤è¤Ã¤Æ°Û¤Ê¤ëÃÍ¡ß1¤«¡¾1
¡¡¥â¡¼¥¿B¡Ê´ð½à®Å١ˡݡʸ½ºß¤ÎÌÀ¤ë¤µ¡Ý´ð½à¤ÎÌÀ¤ë¤µ¡Ë¡ß¶Ê¤¬¤êÊý¤Ë¤è¤Ã¤Æ°Û¤Ê¤ëÃÍ¡ß1¤«¡¾1
sub forward_proportion(int lineselect) // Á°¿Ê¤ÎÈæÎãÀ©¸æ
{
OnFwd(OUT_A,(speed_standardA)+f_speedA*lineselect);
OnFwd(OUT_B,(speed_standardB)-f_speedB*lineselect);
}
sub corner_proportion(int lineselect) // ¶Ê¤¬¤êÆ»¤ÎÈæÎãÀ©¸æ
{
OnFwd(OUT_A,(speed_standardA-12)+c_speedA*lineselect);
OnFwd(OUT_B,(speed_standardB-12)-c_speedB*lineselect);
}
sub turnning_proportion(int lineselect) // µÞ¥«¡¼¥Ö¤ÎÈæÎãÀ©¸æ
{
OnFwd(OUT_A,(speed_standardA-30)+t_speedA*lineselect);
OnFwd(OUT_B,(speed_standardB-30)-t_speedB*lineselect);
}
-5Ãʳ¬¤ÎÈæÎãÀ©¸æ¥×¥í¥°¥é¥à¤È¥é¥¤¥óÁªÂò
¡¡¡Ö3¤Ä¤ÎÈæÎãÀ©¸æ¥×¥í¥°¥é¥à¡×¤òÍѤ¤¤Æ¼ÂºÝ¤Ë5Ãʳ¬¤ÎÈæÎãÀ©¸æ¥×¥í¥°¥é¥à¤òºîÀ®¤·¤¿¡£
&ref(2017b/Member/yuitom/Mission2/robo_line1.png,70%,5Ãʳ¬À©¸æ¤ÎÀâÌÀ);
¡¡¤³¤Î»þ¡¢´ð½àÀþ¤«¤é¡Þ10°Ê¾åÃͤ¬Î¥¤ì¤Æ¤¤¤¿¾ì¹ç¡Ê²èÁü¤Î¡¤È¥¡Ë¡ÖµÞ¥«¡¼¥Ö¤ÎÈæÎãÀ©¸æ¡×¤ò»ÈÍÑ¡¢´ð½àÀþ¤«¤é¡Þ7°Ê¾åÃͤ¬Î¥¤ì¤Æ¤¤¤¿¾ì¹ç¡Ê²èÁü¤Î¢¤È¤¡Ë¡Ö¶Ê¤¬¤êÆ»¤ÎÈæÎãÀ©¸æ¡×¤ò»ÈÍÑ¡¢¤½¤ì°Ê²¼¤Î¾ì¹ç¡Ê²èÁü¤Î£¡Ë¤ÏÁ°¿Ê¤ÎÈæÎãÀ©¸æ¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë¤·¤¿¡£
¡¡
¡¡¤Þ¤¿¡¢linetrace_restriction(int ¡)¤È¤·¤¿¤È¤¡¢¡¤Ï¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë¥é¥¤¥ó¤ò±¦Â¦¤Ë¤¹¤ë¤«º¸Â¦¤Ë¤¹¤ë¤«¤òÁªÂò¡Ê±¦Â¦¢ª1¡¢º¸Â¦¢ª-1¡Ë¤Ç¤¤ë¤³¤È¤òɽ¤·¤Æ¤¤¤ë¡£
¡¡¤³¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤Ï¸òº¹ÅÀ¤Ë¤¢¤¿¤ë¤ÈÄä»ß¤¹¤ë¤è¤¦¤ËÀ©¸Â¤µ¤ì¤Æ¤ª¤ê¡¢¤³¤ÎÀ¼Á¤«¤é¤³¤Î¥µ¥Ö¥ë¡¼¥Á¥ó̾¤Ï¡ÖÀ©¸Â¡×¤òɽ¤¹¡Örestriction¡×¤òÍѤ¤¤¿¡Ölinetrace_restriction¡×¤È¤Ê¤Ã¤Æ¤¤¤ë¡£
¡¡Îã¡Ëº¸Â¦¤ò¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë¡£¡¡ linetrace_restriction(-1);
sub linetrace_restriction(int lineselect) // ¥é¥¤¥ó¥È¥ì¡¼¥¹¸òº¹ÅÀ¼±Ê̡ʥ饤¥óÁªÂò¡Ë
{
long t0=CurrentTick();
while(CurrentTick()-t0<=corner_time){
if(sensor2<threshold-10){
turnning_proportion(lineselect);
}else if(sensor2<threshold-7){
corner_proportion(lineselect);
t0=CurrentTick();
}else if(sensor2<threshold+7){
forward_proportion(lineselect);
t0=CurrentTick();
}else if(sensor2<threshold+10){
corner_proportion(lineselect);
t0=CurrentTick();
}else{
turnning_proportion(lineselect);
t0=CurrentTick();
}
Wait(10);
}
Off(OUT_AB);
PlaySound(SOUND_DOUBLE_BEEP);
}
¡¡¤·¤«¤·¡¢¸òº¹ÅÀ¤Ë¤¢¤¿¤ë¤ÈÄä»ß¤¹¤ë¾å¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¡Ölinetrace_restriction¡×¤Ç¤ÏÁö¹Ô¤¹¤ë¤³¤È¤Î¤Ç¤¤Ê¤¤¥³¡¼¥¹¤¬¤Ç¤¤Æ¤·¤Þ¤Ã¤¿¡£¤½¤ì¤Ï¡Ö¡×¤Îs»ú¥«¡¼¥Ö¤Ç¤¢¤ë¡£¤³¤ì¤Ï¡¢¸òº¹ÅÀ¼±ÊÌ»þ´Ö¤¬110¤ÈÈó¾ï¤Ëû¤¯ÀßÄꤵ¤ì¤Æ¤¤¤ë¤³¤È¤«¤é¤âÍưפËÁÛÄê¤Ç¤¤ë·ë²Ì¤Ç¤¢¤ê¡¢¤³¤ì¤ËÂбþ¤¹¤ë¤¿¤á¤Ë¿·¤¿¤Ê¥µ¥Ö¥ë¡¼¥Á¥ó¤¬É¬ÍפȤʤä¿¡£
-s»ú¥«¡¼¥Ö¤ËÂбþ¤¹¤ë¤¿¤á¤Ë¡Ä
¡¡¿·¤·¤¯s»ú¥«¡¼¥ÖÍѤ˺îÀ®¤·¤¿¥µ¥Ö¥ë¡¼¥Á¥ó¤Ï¡¢»ØÄꤷ¤¿»þ´Ö¤Î´Ö¸òº¹ÅÀǧ¼±¤Îµ¡Ç½¤òÄä»ß¤¹¤ë¤È¤¤¤Ã¤¿Èó¾ï¤Ë´Êñ¤Ê¤â¤Î¤Ç¤¢¤ë¡£¤·¤«¤·¤³¤ì¤Ë¤è¤ê¡¢s»ú¥«¡¼¥Ö¤Ç¤â°ÂÄꤷ¤ÆÁö¹Ô¤¹¤ë¤³¤È¤ËÀ®¸ù¤·¤¿¡£¤Þ¤¿¡¢¸òº¹ÅÀ»þ¤Ë¼¡¤ÎÆ°ºî¤Ø°Ü¤ëºÝ¤ÎÆ°ºî¤ò¤è¤ê³Î¼Â¤Ê¤â¤Î¤Ë¤¹¤ë¤³¤È¤Ë¤âÀ®¸ù¤·¤¿¡Ê¸òº¹ÅÀ¼±Ê̤ˤƾܤ·¤¯ÀâÌÀ¡Ë¡£
¡¡¤³¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤Ï¡¢»ØÄꤷ¤¿»þ´Ö¤Î´Ö¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³¤±¤ë¤È¤¤¤¦Éôʬ°Ê³°¤Ï¾å¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¡Ölinetrace_restriction¡×¤ÈÁ´¤¯Æ±¤¸¤â¤Î¤Ç¤¢¤ë¡£
¡¡¤Þ¤¿¡¢linetrace_release(int ¡,int ¢)¤È¤·¤¿¤È¤¡¢¡¤Ï¸òº¹ÅÀ¼±Ê̤ò²ò½ü¤¹¤ë»þ´Ö¡Ê¸òº¹ÅÀ¼±Ê̤ò¤·¤Ê¤¤¥×¥í¥°¥é¥à¤òÆ°ºî¤µ¤»¤ë»þ´Ö¡Ë¤òɽ¤·¡¢¢¤Ï¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë¥é¥¤¥ó¤ò±¦Â¦¤Ë¤¹¤ë¤«º¸Â¦¤Ë¤¹¤ë¤«¤òÁªÂò¡Ê±¦Â¦¢ª1¡¢º¸Â¦¢ª-1¡Ë¤Ç¤¤ë¤³¤È¤òɽ¤·¤Æ¤¤¤ë¡£
¡¡¤³¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤Ï¡¢»ØÄꤷ¤¿»þ´Ö¤Î´Ö¸òº¹ÅÀ¤Î¼±Ê̤«¤é²òÊü¤¹¤ë¤È¤¤¤Ã¤¿¤â¤Î¤Ç¤¢¤ê¡¢¤³¤ÎÀ¼Á¤«¤é¤³¤Î¥µ¥Ö¥ë¡¼¥Á¥ó̾¤Ï¡Ö²òÊü¡×¤òɽ¤¹¡Örelease¡×¤òÍѤ¤¤¿¡Ölinetrace_release¡×¤È¤Ê¤Ã¤Æ¤¤¤ë¡£
¡¡Îã¡Ëº¸Â¦¤ò10Éô֥饤¥ó¥È¥ì¡¼¥¹¡Ê¤¿¤À¤·¸òº¹ÅÀ¼±Ê̤Ï̵¤·¡Ë¡¡linetrace_release(10000,-1);
¡¡
sub linetrace_release(int timelimit,int lineselect) // ¥é¥¤¥ó¥È¥ì¡¼¥¹¼±Ê̲ò½ü¡Ê»þ´ÖÀ©¸Â,
¥é¥¤¥óÁªÂò¡Ë
{
long t0=CurrentTick();
while(CurrentTick()-t0<=timelimit){
if(sensor2<threshold-10){
turnning_proportion(lineselect);
}else if(sensor2<threshold-7){
corner_proportion(lineselect);
}else if(sensor2<threshold+7){
forward_proportion(lineselect);
}else if(sensor2<threshold+10){
corner_proportion(lineselect);
}else{
turnning_proportion(lineselect);
}
Wait(10);
}
}
**ÅÅÃÓ»ÄÎ̤˺¸±¦¤µ¤ì¤Ê¤¤¸òº¹ÅÀ¤ÎÄ̲á [#x03dbd0d]
¡¡¤³¤³¤Ç¤Ï¡Ö²ÝÂꦡ¡¸òº¹ÅÀ¸å¤ÎÆ°ºî¤òÅÅÃÓ»ÄÎ̤ˤè¤Ã¤ÆÊѲ½¤·¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¡£¡×¤È¡Ö²ÝÂꥡ¡¸òº¹ÅÀ°Ê³°¤Ç¡Ö¤³¤³¤Ï¸òº¹ÅÀ¤À¡×¤È¸íǧ¤·¤Ê¤¤¤è¤¦¤Ê¥×¥í¥°¥é¥à¤òºîÀ®¤¹¤ë¡£¡×¤Î²ò·è¤òÌܻؤ¹¡£
¡¡º£²ó¤Ï¡¢¸òº¹ÅÀ¼±Ê̸å¤Ë°Ê²¼¤Î3¤Ä¤Î¹ÔÆ°¤¬É¬ÍפȤʤ롣
¡¡¡¡¡¸òº¹ÅÀ¼±Ê̸塢Á°¿Ê¤·¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³«»Ï¤¹¤ë¡£
¡¡¢¡¡¸òº¹ÅÀ¼±Ê̸塢±¦ÀÞ¤·¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³«»Ï¤¹¤ë¡£
¡¡£¡¡¸òº¹ÅÀ¼±Ê̸塢º¸ÀÞ¤·¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³«»Ï¤¹¤ë¡£
¡¡¤³¤Î»þ¡¢¡Ö»ØÄꤵ¤ì¤¿Â®Å٤ǻØÄꤵ¤ì¤¿»þ´ÖÁ°¿Ê¤¹¤ë¡×¤È¤¤¤¦¤è¤¦¤Ê¥×¥í¥°¥é¥à¤ò»ÈÍѤ¹¤ë¤È¡¢ÅÅÃӤλÄÎ̤ˤè¤ê°ÜÆ°µ÷Î¥¤¬ÊѲ½¤·¤Æ¤·¤Þ¤¤¡¢°ÂÄꤷ¤¿Æ°ºî¤¬¤Ç¤¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£
¡¡¤Þ¤¿¡¢¤½¤ì¤Ë¤è¤ê¹õÀþ¤ÎÃæ¤Ë¥»¥ó¥µ¤¬¤¢¤ë¾õÂ֤ǥ饤¥ó¥È¥ì¡¼¥¹¤ò³«»Ï¤·¤Æ¤·¤Þ¤Ã¤¿¾ì¹ç¡¢¸òº¹ÅÀ¼±ÊÌ»þ´Ö¤¬Èó¾ï¤Ëû¤¯ÀßÄꤵ¤ì¤Æ¤¤¤ë¤³¤È¤«¤é¡¢¤½¤Î¾ì½ê¤ò¸òº¹ÅÀ¤È¸íǧ¤·¤Æ¤·¤Þ¤¦´í¸±À¤¬¤¢¤ë¡£
¡¡¤³¤ÎÌäÂê¤ò²ò·è¤¹¤ë¤¿¤á¤Ë»ä¤¿¤Á¤Î¥°¥ë¡¼¥×¤Ç¤Ï¡¢¸÷¥»¥ó¥µ¤ò»ÈÍѤ·¸òº¹ÅÀ¤ÎÄ̲á¤ò¹Ô¤¦¤è¤¦¤Ê¥×¥í¥°¥é¥à¤òºîÀ®¤·¡¢ÅÅÃÓ»ÄÎ̤ˤè¤é¤º°ÂÄꤷ¸òº¹ÅÀ¤òÄ̲᤹¤ë¤³¤È¤ËÀ®¸ù¤·¤¿¡£
¡¡¡¸òº¹ÅÀ¼±Ê̸塢Á°¿Ê¤·¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³«»Ï¤¹¤ë¡£
&ref(2017b/Member/yuitom/Mission2/robo_map2.png,50%,¸òº¹ÅÀ¤òÁ°¿ÊÄ̲᤹¤ëºÝ¤Î¥»¥ó¥µ¤ÎÆ°¤);
¸òº¹ÅÀ¤ò¼±ÊÌ¢ª¸òº¹ÅÀ¤ÇÄä»ß¤¹¤ë¤«¤·¤Ê¤¤¤«¢ªÇò¤¤Éôʬ¤Ë½Ð¤ë¤Þ¤ÇÁ°¿Ê¡Ê²èÁü¤Ç¤Î¡¡Ë¢ª´ð½àÀþ¤Ë¾è¤ë¤Þ¤Ç²óž¡Ê²èÁü¤Ç¤Î¢¡Ë
¡¡°Ê¾å¤Î¤è¤¦¤Êή¤ì¤Ç¸òº¹ÅÀ¤òÄ̲᤹¤ë¡£
¡¡¤Þ¤¿¡¢go_corner(int ¡)¤È¤·¤¿¤È¤¡¢¡¤Ï¸òº¹ÅÀǧ¼±»þ¤Ë1ÉôÖÄä»ß¤¹¤ë¤«¤·¤Ê¤¤¤«¤òÁªÂò¤Ç¤¤ë¡ÊÄä»ß¤¹¤ë¢ª1¡¢Ää»ß¤·¤Ê¤¤¢ª0¡Ë¤³¤È¤òɽ¤·¤Æ¤¤¤ë¡£
¡¡Îã¡Ë¸òº¹ÅÀ¼±Ê̸塢1ÉôÖÄä»ß¸å¡¢Á°¿Ê¤·¸òº¹ÅÀ¤òÄ̲᤹¤ë¡£¡¡go_corner(1);
sub go_corner(int cornerselect) // wait¢ª¡Ö1¡× through¢ª¡Ö0¡×
{
Wait(corner_wait*cornerselect);¡¡¡¡//¡¡¸òº¹ÅÀ¤ÇÄä»ß¤¹¤ë¤«¤·¤Ê¤¤¤«
while(sensor2<white-3){¡¡¡¡¡¡¡¡¡¡¡¡//¡¡Çò¤¤Éôʬ¤Ë½Ð¤ë¤Þ¤ÇÁ°¿Ê
OnFwd(OUT_A,corner_standardA);
OnFwd(OUT_B,corner_standardB);
}
Off(OUT_AB);
Wait(500);¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ //¡¡´ð½àÀþ¤Ë¾è¤ë¤Þ¤Ç²óž
while(sensor2>threshold){
OnFwd(OUT_A,corner_standardA);
OnRev(OUT_B,corner_standardB*0.5);
}
Off(OUT_AB);
Wait(500);
}
¢¡¡¸òº¹ÅÀ¼±Ê̸塢±¦ÀÞ¤·¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³«»Ï¤¹¤ë¡£
&ref(2017b/Member/yuitom/Mission2/robo_map3.png,50%,¸òº¹ÅÀ¤ò±¦ÀÞÄ̲᤹¤ëºÝ¤Î¥»¥ó¥µ¤ÎÆ°¤);
¸òº¹ÅÀ¤ò¼±ÊÌ¢ª¸òº¹ÅÀ¤ÇÄä»ß¤¹¤ë¤«¤·¤Ê¤¤¤«¢ªÇò¤¤Éôʬ¤Ë½Ð¤ë¤Þ¤Ç±¦Àû²ó¡Ê²èÁü¤Ç¤Î¡¡Ë¢ª´ð½àÀþ¤Ë¾è¤ë¤Þ¤Çº¸Àû²ó¡Ê²èÁü¤Ç¤Î¢¡Ë¢ª±¦º¸¥é¥¤¥óÁªÂò
¡¡°Ê¾å¤Î¤è¤¦¤Êή¤ì¤Ç¸òº¹ÅÀ¤ò±¦ÀÞ¤¹¤ë¡£
¡¡¤Þ¤¿¡¢turn_right(int ¡,int ¢)¤È¤·¤¿¤È¤¡¢¡¤Ï¸òº¹ÅÀǧ¼±»þ¤Ë1ÉôÖÄä»ß¤¹¤ë¤«¤·¤Ê¤¤¤«¤òÁªÂò¤Ç¤¤ë¡ÊÄä»ß¤¹¤ë¢ª1¡¢Ää»ß¤·¤Ê¤¤¢ª0¡Ë¤³¤È¤òɽ¤·¡¢¢¤Ï¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë¥é¥¤¥ó¤ò±¦Â¦¤Ë¤¹¤ë¤«º¸Â¦¤Ë¤¹¤ë¤«¤òÁªÂò¡Ê±¦Â¦¢ª1¡¢º¸Â¦¢ª-1¡Ë¤Ç¤¤ë¤³¤È¤òɽ¤·¤Æ¤¤¤ë¡£
¡¡Îã¡Ë¸òº¹ÅÀ¼±Ê̸塢Ää»ß¤»¤º¤Ë¸òº¹ÅÀ¤ò±¦ÀÞ¤·±¦Â¦¤Î¥é¥¤¥ó¤Îü¤Ë¾è¤ë¡£
¡¡¡¡¡¡turn_right(0,1);
sub turn_right(int cornerselect,int after_lineselect) // ¡Ê¸òº¹ÅÀÂÔµ¡ÁªÂò,Ä̲á¸å¥é¥¤¥óÁªÂò¡Ë
{
Wait(corner_wait*cornerselect);
while(sensor2<white-3){
OnRev(OUT_A,corner_standardA);
OnFwd(OUT_B,corner_standardB);
}
Off(OUT_AB);
Wait(500);
while(sensor2>threshold){
OnFwd(OUT_A,corner_standardA);
OnRev(OUT_B,corner_standardB);
}
Off(OUT_AB);
Wait(500);
linetrace_release(afterselect_time,after_lineselect);
}
£¡¡¸òº¹ÅÀ¼±Ê̸塢º¸ÀÞ¤·¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³«»Ï¤¹¤ë¡£
¡¡Î®¤ì¡¢Æ°ºî¤È¤â¤Ë¡¢¡Ö¢¡¡¸òº¹ÅÀ¼±Ê̸塢±¦ÀÞ¤·¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³«»Ï¤¹¤ë¡£¡×¤ÎÃæ¤Î±¦ÀÞ¤òº¸ÀÞ¤ËÆþ¤ìÊѤ¨¤¿¤À¤±¤Î¤â¤Î¤Ç¤¢¤ë¤¿¤á¡¢ÀâÌÀ¤Ï¾Êά¤¹¤ë¡£
sub turn_left(int cornerselect, int after_lineselect) // ¡Ê¸òº¹ÅÀÂÔµ¡ÁªÂò,Ä̲á¸å¥é¥¤¥óÁªÂò¡Ë
{
Wait(corner_wait*cornerselect);
while(sensor2<white-3){
OnFwd(OUT_A,corner_standardA);
OnRev(OUT_B,corner_standardB);
}
Off(OUT_AB);
Wait(500);
while(sensor2>threshold){
OnRev(OUT_A,corner_standardA);
OnFwd(OUT_B,corner_standardB);
}
Off(OUT_AB);
Wait(500);
linetrace_release(afterselect_time,after_lineselect);
}
¡ü¸òº¹ÅÀÄ̲á¸å¥é¥¤¥óÁªÂò¤Ë¤Ä¤¤¤Æ¡Ê²ÝÂꥤβò·è¡Ë
¡¡²¿ÅÙ¤â½Ò¤Ù¤Æ¤¤¤ë¤è¤¦¤Ë¡¢¤³¤Î¥×¥í¥°¥é¥à¾å¤Ç¤Ï¸òº¹ÅÀ¼±ÊÌ»þ´Ö¤¬Èó¾ï¤Ëû¤¯¡¢¹õÀþ¤ËÂФ·¤Æ¤Îµ¡ÂΤοÊÆþ³ÑÅÙ¤¬Â礤¤¤È¡¢¤½¤³¤ò¸òº¹ÅÀ¤Ç¤¢¤ë¤È¸íǧ¤·¤Æ¤·¤Þ¤¦´í¸±À¤¬¹â¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£¤³¤Î¤³¤È¤«¤é¡¢¸òº¹ÅÀ¤òÄ̲ᤷ¤¿¸å¤Ë¡¢¹õÀþ¤ËÂФ¹¤ëµ¡ÂΤοÊÆþ³ÑÅÙ¤ò³ê¤é¤«¤Ë¤¹¤ë¤¿¤á¤Î»ÅÁȤߤ¬É¬ÍפˤʤäƤ¤¿¡£¤½¤Î¤¿¤á¤Ë¡¢»ä¤¬¹Í¤¨¤¿¤â¤Î¤¬¤³¤Î¡Ö¸òº¹ÅÀÄ̲á¸å¥é¥¤¥óÁªÂò¡×¤Ç¤¢¤ë¡£
¡¡¸òº¹ÅÀÄ̲á¸å¥é¥¤¥óÁªÂò¤È¤Ï¡¢¸òº¹ÅÀ¤òÄ̲ᤷ¤¿¸å¤Ëº¸±¦¤É¤Á¤é¤Î¥é¥¤¥ó¤Îü¤ò¥é¥¤¥ó¥È¥ì¡¼¥¹¤·¤Æ¤¤¤¯¤«¤ò·è¤á¤ë¤â¤Î¤Ç¤¢¤ê¡¢¤³¤Î¥×¥í¥°¥é¥à¤òÆþ¤ì¤ë¤³¤È¤Ç¡¢¸òº¹ÅÀ¤ÎÄ̲á¸å¤Îµ¡ÂΤγÑÅ٤˴ط¸¤Ê¤¯¡¢Àµ³Î¤Ë¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³«»Ï¤¹¤ë¤³¤È¤ËÀ®¸ù¤·¤¿¡£
-¸òº¹ÅÀÄ̲á¸å¥é¥¤¥óÁªÂò¤Î»ÅÊý
¡¡¸òº¹ÅÀÄ̲á¸å¥é¥¤¥óÁªÂò¤Ç¤Ï¡¢¡ÖÈæÎãÀ©¸æ¤È5Ãʳ¬À©¸æ¤òÁȤ߹ç¤ï¤»¤ë¤¿¤á¤Ë¡Ä¡×¤Î¡Ö¡¦s»ú¥«¡¼¥Ö¤ËÂбþ¤¹¤ë¤¿¤á¤Ë¡Ä¡×¤ÇÀâÌÀ¤·¤¿¡Ölinetrace_release¡×¤ò»ÈÍѤ·¤Æ¤¤¤ë¡£
¡¡¡Ölinetrace_release¡×¤Ç¤Ï»ØÄꤷ¤¿»þ´Ö¤Î´Ö¡¢¸òº¹ÅÀǧ¼±¤Îµ¡Ç½¤ò²ò½ü¤·¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¹Ô¤¦¤È¤¤¤¦¤â¤Î¤Ç¤¢¤ë¡£¤³¤Îµ¡Ç½¤ÏÄ̾ï¤Î¡Ö¸òº¹ÅÀ¼±Ê̥饤¥ó¥È¥ì¡¼¥¹¡×¤Î¥×¥í¥°¥é¥à¤«¤é¡¢¸òº¹ÅÀ¼±Ê̤ε¡Ç½¤òÈ´¤¤¤¿¤À¤±¤Î¤â¤Î¤Ç¤¢¤ë¤¿¤á¡¢¤³¤Î¥×¥í¥°¥é¥à¤òû»þ´Öµ¡Ç½¤µ¤»¤ë¤³¤È¤Ç¡¢¹õÀþ¤ËÂФ¹¤ëµ¡ÂΤοÊÆþ³ÑÅÙ¤ò¶¯À©Åª¤Ë³ê¤é¤«¤Ë¤Ç¤¤ë¤Î¤Ç¤Ï¤Ê¤¤¤«¤È¹Í¤¨¤¿¡£
-·ë²Ì
¡¡·ë²Ì¤Ï¡¢¤½¤ì¤Þ¤Ç¸òº¹ÅÀ¤òÄ̲ᤷ¤¿¸å¤Ë¸òº¹ÅÀ¤À¤È¸íǧ¤¹¤ë¤³¤È¤¬¤Û¤È¤ó¤É¤À¤Ã¤¿¤Î¤ËÂФ·¡¢¤³¤Î¥×¥í¥°¥é¥à¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¸òº¹ÅÀÄ̲á¸å¤Ë¸òº¹ÅÀ¤À¤È¸íǧ¤¹¤ë¤³¤È¤¬Ìµ¤¯¤Ê¤Ã¤¿¡£
**¥³¥Ã¥×¤òÆþ¼ê¤¹¤ë [#ofaf6564]
¡¡Âè3¥³¡¼¥¹¤Ç¤Ï¥³¥Ã¥×¤òÆþ¼ê¤·¥é¥¤¥ó¥È¥ì¡¼¥¹¤ËÉüµ¢¤¹¤ë¤¿¤á¤Ë¡¢U¥¿¡¼¥ó¤¬É¬ÍפȤʤ롣
¡¡º£²ó¡¢U¥¿¡¼¥ó¤Ë¤ª¤¤¤Æ¤â¡ÖÅÅÃÓ»ÄÎ̤˺¸±¦¤µ¤ì¤Ê¤¤¸òº¹ÅÀ¤ÎÄ̲á¡×ƱÍͤËÅÅÃӤˤè¤Ã¤ÆÆ°ºî¤¬ÊѲ½¤·¤Ê¤¤¤è¤¦¤Ë¡¢¤Ç¤¤ë¸Â¤ê¸÷¥»¥ó¥µ¤òÍѤ¤¤¿Æ°ºî¤ò´ðËܤȤ·¤Æ¼è¤êÆþ¤ì¤¿¥×¥í¥°¥é¥à¤òºîÀ®¤·¤¿¡£¡Ê¡Ö²ÝÂꤡ¡¥³¥Ã¥×¤ÎÆþ¼ê¤È¥ê¥ê¡¼¥¹¤ÎÆ°ºî¤òÅÅÃÓ»ÄÎ̤˺¸±¦¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¡£¡×¤Î²ò·è¡Ë
-Æ°ºî¤Îή¤ì
&ref(2017b/Member/yuitom/Mission2/robo_map5.jpg,80%,¥³¥Ã¥×Æþ¼ê¸å¤Îή¤ì);
¥³¥Ã¥×¤òÆþ¼ê¡Ê²èÁü¤Ç¤Î¡¡Ë¢ª´ð½àÀþ¤Î¾è¤ë¤Þ¤Çº¸¤Ø¶Ê¤¬¤ë¡Ê²èÁü¤Ç¤Î¢¡Ë¢ª¾¯¤·Á°¤Ø¿Ê¤à¡Ê²èÁü¤Ç¤Î£¡Ë¢ªÇò¤¤Éôʬ¤Ë½Ð¤ë¤Þ¤Çº¸Àû²ó¡Ê²èÁü¤Ç¤Î¤¡Ë¢ª´ð½àÀþ¤Ë¾è¤ë¤Þ¤Çº¸Àû²ó¡Ê²èÁü¤Ç¤Î¥¡Ë
¡¡°Ê¾å¤Î¤è¤¦¤Ê¡¢º¸²ó¤ê¤Îή¤ì¤ÇU¥¿¡¼¥ó¤·¤Æ¤¤¤¯¡£¤Þ¤¿¡¢¤³¤Î»þ¡Ö¾¯¤·Á°¤Ø¿Ê¤à¡×¤È¤¤¤¦Æ°ºî¤¬Æþ¤ëÍýͳ¤È¤·¤Æ¤Ï¡¢¤³¤ÎÆ°ºî¤¬¤Ê¤¤¤ÈËÜÍèDC¶è´Ö¤Ç¥»¥ó¥µ¤ò¥é¥¤¥ó¤Ë¾è¤»¤ëɬÍפ¬¤¢¤ë¤Î¤À¤¬¡¢²ó¤êÀڤ줺¤ËCF¶è´Ö¤Î¥é¥¤¥ó¤Ë¥»¥ó¥µ¤¬¾è¤Ã¤Æ¤·¤Þ¤¦¤¿¤á¤Ç¤¢¤ë¡£
sub get_cup() // ¥³¥Ã¥×¤Î³ÍÆÀ
{
OnRev(OUT_A,corner_standardA); // µ¡¼ó¤ò¥³¥Ã¥×¤Ë¸þ¤±¤ë
OnFwd(OUT_B,corner_standardB);
Wait(corner_time+120);
Off(OUT_AB);
Wait(1000);
catch // ¥³¥Ã¥×¤Î³ÍÆÀ
PlaySound(SOUND_UP);
U_turn(); // U¥¿¡¼¥ó
}
sub U_turn() // U¥¿¡¼¥ó
{
while(sensor2<threshold){ // ´ð½àÀþ¤Î¾è¤ë¤Þ¤Çº¸¤Ø¶Ê¤¬¤ë
OnRev(OUT_A,corner_standardA);
OnFwd(OUT_B,20);
}
Off(OUT_AB);
Wait(500);
linetrace_release(500,1); // ¾¯¤·Á°¤Ø¿Ê¤à
while(sensor2<white-2){ // Çò¤¤Éôʬ¤Ë½Ð¤ë¤Þ¤Çº¸Àû²ó
OnRev(OUT_A,corner_standardA);
OnFwd(OUT_B,corner_standardB);
}
Off(OUT_AB);
Wait(500);
while(sensor2>threshold){ // ´ð½àÀþ¤Ë¾è¤ë¤Þ¤Çº¸Àû²ó
OnRev(OUT_A,corner_standardA);
OnFwd(OUT_B,corner_standardB);
}
Off(OUT_AB);
Wait(500);
}
**¥³¥Ã¥×¤Î¥ê¥ê¡¼¥¹ [#nba6760a]
¡¡Âè»°¥³¡¼¥¹¤Ç¤ÏXÃÏÅÀ¤Ë¥³¥Ã¥×¤ò±¿È¤·±ß¤ÎÃæ¤Ë¥³¥Ã¥×¤òÇÛÃÖ¤¹¤ë¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£¤½¤Î¤¿¤á¤ËɬÍפˤʤë¥×¥í¥°¥é¥à¤Ï¡Ö¤¤¤«¤Ë¤·¤Æ¥³¥Ã¥×¤ò±ß¤ÎÃæ¤ËÃÖ¤¡¢¥é¥¤¥ó¥È¥ì¡¼¥¹¤ËÉüµ¢¤¹¤ë¤«¡×¤Ç¤¢¤ë¡£
¤Þ¤¿¡¢¤³¤ÎºÝ¤â¾¤Î¥×¥í¥°¥é¥à¤ÈƱÍͤˡÖÅÅÃÓ»ÄÎ̤˺¸±¦¤µ¤ì¤Ê¤¤¸òº¹ÅÀ¤ÎÄ̲á¡×ƱÍͤËÅÅÃӤˤè¤Ã¤ÆÆ°ºî¤¬ÊѲ½¤·¤Ê¤¤¤è¤¦¤Ë¡¢¤Ç¤¤ë¸Â¤ê¸÷¥»¥ó¥µ¤òÍѤ¤¤¿Æ°ºî¤ò´ðËܤȤ·¤Æ¼è¤êÆþ¤ì¤¿¥×¥í¥°¥é¥à¤òºîÀ®¤¹¤ë¤è¤¦¤ËÃí°Õ¤·¤¿¡£¡Ê¡Ö²ÝÂꤡ¡¥³¥Ã¥×¤ÎÆþ¼ê¤È¥ê¥ê¡¼¥¹¤ÎÆ°ºî¤òÅÅÃÓ»ÄÎ̤˺¸±¦¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¡£¡×¤Î²ò·è¡Ë
-Æ°ºî¤Îή¤ì
&ref(2017b/Member/yuitom/Mission2/robo_map4.jpg,80%,¥³¥Ã¥×¥ê¥ê¡¼¥¹¤Îή¤ì¤Î´Êά¿Þ);
±ß¤ÎÆ⦤ò¤¿¤É¤ê¥é¥¤¥ó¥È¥ì¡¼¥¹¡Ê»þ´ÖÀ©¸Â¡Ë¢ªÇò¤ÎÉôʬ¤Ë½Ð¤ë¤Þ¤Ç¸å¤í¤Ø²¼¤¬¤ê¤Ä¤Ä±¦²óž¡Ê²èÁü¤Ç¤Î¡¡Ë
¢ª¹õ¤Î¥é¥¤¥ó¤Ë´°Á´¤Ë¾è¤ë¤Þ¤Ç¸å¤í¤Ø²¼¤¬¤ê¤Ä¤Ä±¦²óž¡Ê²èÁü¤Ç¤Î¢¡Ë¢ª»ØÄê»þ´ÖÁ°¿Ê¢ª¥³¥Ã¥×¤Î¥ê¥ê¡¼¥¹¡Ê²èÁü¤Ç¤Î£¤¡Ë
¢ª¹õ¤Î¥é¥¤¥ó¤Ë´°Á´¤Ë¾è¤ë¤Þ¤Ç¸åÂà¡Ê²èÁü¤Ç¤Î¥¡Ë¢ªÇò¤ÎÉôʬ¤Ë½Ð¤ë¤Þ¤Ç±¦²óž¢ª´ð½àÀþ¤Ë¾è¤ë¤Þ¤Ç±¦²óž¡Ê²èÁü¤Ç¤Î¦¡Ë¢ª±¦º¸¥é¥¤¥óÁªÂò
¤È¤¤¤¦Î®¤ì¤Ç¥³¥Ã¥×¤òÃÖ¤¤¤Æ¤¤¤ë¡£
sub put_cup(int after_lineselect) // ¥³¥Ã¥×¥ê¥ê¡¼¥¹¡Ê¹ÔÆ°½ªÎ»¸å¥é¥¤¥óÁªÂò¡Ë
{
while(sensor2<white-2){ // Çò¤ÎÉôʬ¤Ë½Ð¤ë¤Þ¤Ç¸å¤í¤Ø²¼¤¬¤ê¤Ä¤Ä±¦²óž
OnRev(OUT_A,corner_standardA);
}
Off(OUT_B);
Wait(250);
while(sensor2>threshold-10){ // ¹õ¤Î¥é¥¤¥ó¤Ë´°Á´¤Ë¾è¤ë¤Þ¤Ç¸å¤í¤Ø²¼¤¬¤ê¤Ä¤Ä±¦²óž
OnRev(OUT_A,corner_standardA);
}
Off(OUT_AB);
Wait(250);
OnFwd(OUT_A,30); // »ØÄê»þ´ÖÁ°¿Ê
OnFwd(OUT_B,30);
Wait(500);
Off(OUT_AB);
Wait(500);
release // ¥³¥Ã¥×¤Î¥ê¥ê¡¼¥¹
PlaySound(SOUND_DOWN);
while(sensor2>threshold-10){ // ¹õ¤Î¥é¥¤¥ó¤Ë´°Á´¤Ë¾è¤ë¤Þ¤Ç¸åÂà
OnRev(OUT_A,30);
OnRev(OUT_B,30);
}
Off(OUT_AB);
while(sensor2<white-2){ // Çò¤ÎÉôʬ¤Ë½Ð¤ë¤Þ¤Ç±¦²óž
OnFwd(OUT_A,corner_standardA);
}
Off(OUT_B);
Wait(250);
while(sensor2>threshold){ // ´ð½àÀþ¤Ë¾è¤ë¤Þ¤Ç±¦²óž
OnFwd(OUT_A,corner_standardA);
}
Off(OUT_AB);
linetrace_release(afterselect_time,after_lineselect); // ±¦º¸¥é¥¤¥óÁªÂò
}
*Âè»°¥³¡¼¥¹¹¶Î¬ [#z909bd72]
**¥³¡¼¥¹¤Î¶è²èʬ¤± [#af3f5718]
&ref(2017b/Member/yuitom/Mission2/robo_map6.jpg,80%,¥³¡¼¥¹5ʬ³ä¤Î¿§Ê¬¤±);
¡¡º£²ó¡¢¥×¥í¥°¥é¥ß¥ó¥°¤ò¤è¤êÄûÀµ¤Î¤·¤ä¤¹¤¯¡¢¤è¤ê¸«¤ä¤¹¤¯¤¹¤ë¤¿¤á¤Ë°Ê²¼¤Î¤è¤¦¤ËÂè»°¥³¡¼¥¹¤ò5ʬ³ä¤·¤Æ¹Í¤¨¤¿¡£
¡¡¡Âè1¥¹¥Æ¡¼¥¸¡ÊA¢ªD¢ªC¢ªD¡Ë¡¡¥Ý¥¤¥ó¥È¡Ö¥³¥Ã¥×¤Î¼èÆÀ¤ÈU¥¿¡¼¥ó¡×
¢¡¡Âè2¥¹¥Æ¡¼¥¸¡ÊD¢ªC¢ªF¡Ë¡¡¥Ý¥¤¥ó¥È¡ÖF¸òº¹ÅÀ¤Îľ¿Ê¡×
£¡¡Âè3¥¹¥Æ¡¼¥¸¡ÊF¢ªE¢ªR¡Ë¡¡¥Ý¥¤¥ó¥È¡ÖFE¶è´Ö¤Îs»ú¥«¡¼¥Ö¡×
¤¡¡Âè4¥¹¥Æ¡¼¥¸¡ÊR¢ªP¢ªQ¡Ë¡¡¥Ý¥¤¥ó¥È¡Ö¥³¥Ã¥×¤Î¥ê¥ê¡¼¥¹¡×
¥¡¡ºÇ½ª¥¹¥Æ¡¼¥¸¡ÊQ¢ªS¢ªF¢ªC¢ªD¡Ë¡¡¥Ý¥¤¥ó¥È¡Ö4Ϣ³¤Îľ³Ñ¥«¡¼¥Ö¡×
¡¡¤½¤ì¤¾¤ì¤Î¥¹¥Æ¡¼¥¸¤Ç¤ÎÆñÅÀ¤È¤½¤ì¤ËÂФ¹¤ë²ò·èºö¤ò¸«¤Æ¤¤¤³¤¦¤È»×¤¦¡£
¡¡¡Âè1¥¹¥Æ¡¼¥¸¡ÊA¢ªD¢ªC¢ªD¡Ë
-A¢ªD¡¡ÆñÅÀ¡§A¢ªB¢ªC¢ªD¤Î¤è¤¦¤Ë¤¿¤É¤ë¤È¡¢¹ç·×2¤Ä¤â¤Î¸òº¹ÅÀ¤¬¤¢¤ê¥×¥í¥°¥é¥ß¥ó¥°¤¬Èó¾ï¤ËŤ¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£
¡¡²ò·èºö¡§¥é¥¤¥ó¤Î±¦Â¦¤Ç¤Ê¤¯º¸Â¦¤ò¤¿¤É¤ë¤³¤È¤Ç¡¢A¢ªD¤Þ¤Ç°ìÅ٤Ǥ¿¤É¤êÃ夯¤³¤È¤¬¤Ç¤¡¢¥×¥í¥°¥é¥ß¥ó¥°¤ÎÎ̤âÍÞ¤¨¤ë¤³¤È¤¬¤Ç¤¤ë¡£
-D¡¡ÆñÅÀ¡§¥³¥Ã¥×¤Î¼èÆÀ¤ÈU¥¿¡¼¥ó
¡¡²ò·èºö¡§ÅÅÃÓ»ÄÎ̤ÇÆ°ºî¤Ë±Æ¶Á¤òµÚ¤Ü¤µ¤Ê¤¤¤è¤¦¤Ê¥×¥í¥°¥é¥ß¥ó¥°¤òºîÀ®¡£¤Þ¤¿¡¢¥¢¡¼¥à¤Î²þÎɤˤè¤ê¥³¥Ã¥×¤Î¼èÆÀÀ®¸ùΨ¤ò¾å¾º¤µ¤»¤¿¡£
sub the_first() // Âè1¥¹¥Æ¡¼¥¸¡¡¥³¥Ã¥×¤Î¼èÆÀ¡ÖA¢ªD¢ªC¢ªD¡×
{
linetrace_restriction(-1); // A¢ªD
get_cup(); // ¥³¥Ã¥×¤Î³ÍÆÀ
}
¢¡¡Âè2¥¹¥Æ¡¼¥¸¡ÊD¢ªC¢ªF¡Ë
-C¡¡ÆñÅÀ¡§DC¶è´Ö¤Îû¤µ¤Ë¤è¤ëU¥¿¡¼¥ó¤Î¼ºÇÔ
¡¡²ò·èºö¡§U¥¿¡¼¥ó¥×¥í¥°¥é¥à¤Î²þÎÉ¡Ê¡Ö¾¯¤·¤ÎÁ°¿Ê¡×¤ò²Ã¤¨¤ë¡Ë
-F¡¡ÆñÅÀ¡§¸òº¹ÅÀľ¿Ê¸å¤ÎÆ°ºî¤ÎÄä»ß
¡¡²ò·èºö¡§¸¶°ø¤Ï¤ï¤«¤é¤Ê¤«¤Ã¤¿¤¬¡¢¤ª¤½¤é¤¯ÅÅÃӤξÃÌפˤè¤ê20¤È¤¤¤Ã¤¿Â®Å٤Ǥϥ⡼¥¿¡¼¤¬²óž¤¹¤ë¤³¤È¤¬¤Ç¤¤Ê¤«¤Ã¤¿¤¿¤á¤È¹Í¤¨¤é¤ì¤ë¡£¤½¤Î¤¿¤á¡¢¸òº¹ÅÀÄ̲á»þ¤Î®ÅÙ¤òÂ礤¯¤¹¤ë¤³¤È¤Ç¡¢Æ°ºî¤ÎÄä»ß¤òÍÞ¤¨¤¿¡£
sub the_second() // Âè2¥¹¥Æ¡¼¥¸ ¥³¥Ã¥×¤Î±¿È¡ÖD¢ªC¢ªF¡×
{
linetrace_restriction(-1);
turn_left(0,1); // C
linetrace_restriction(1);
go_corner(1); // F
}
£¡¡Âè3¥¹¥Æ¡¼¥¸¡ÊF¢ªE¢ªR¡Ë
-F¢ªE¡¡ÆñÅÀ¡§s»ú¥«¡¼¥Ö¤Ç¤Î¸òº¹ÅÀ¸íǧ¼±
¡¡²ò·èºö¡§¡Ölinetrace_release¡×¤òºîÀ®¤¹¤ë¤³¤È¤Ç¡¢»ØÄꤷ¤¿»þ´Öʬ¸òº¹ÅÀǧ¼±¤ò²ò½ü¤·¤¿¾õÂÖ¤ÇÁö¹Ô¤¹¤ë¤³¤È¤¬²Äǽ¤È¤Ê¤Ã¤¿¤¿¤á¡¢s»ú¥«¡¼¥Ö¤ò¶Ê¤¬¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤Ã¤¿¡£¤Þ¤¿¤³¤Î»þ¤Î»þ´Ö¤ò15ÉäÈÀßÄꤷ¤Æ¤¤¤ë¤¬¡¢¤³¤ì¤Ï²¿²ó¤«¥Æ¥¹¥ÈÁö¹Ô¤µ¤»·è¤á¤¿ÃͤǤ¢¤ë¡£
-E¡¡ÆñÅÀ¡§Eº¸ÀÞ¸å¤ËËè²óȯÀ¸¤¹¤ë¸òº¹ÅÀ¸íǧ¼±
¡¡²ò·èºö¡§¡Ölinetrace_release¡×¤òÍѤ¤¤¿¹ÔÆ°½ªÎ»¸å¥é¥¤¥óÁªÂòµ¡Ç½¤ÎÄɲäˤè¤ê¡¢¸òº¹ÅÀ¤Î¸íǧ¤òÍÞ¤¨¤ë¤³¤È¤ËÀ®¸ù¤·¤¿¡£
sub the_third() // Âè3¥¹¥Æ¡¼¥¸¡¡¥³¥Ã¥×¤Î±¿È¡ÖF¢ªE¢ªR¡×
{
PlaySound(SOUND_CLICK);
linetrace_release(15000,1); // F¢ªEÅÓÃæÃÏÅÀ
PlaySound(SOUND_LOW_BEEP);
linetrace_restriction(1); // EÅÓÃæÃÏÅÀ¢ªE
turn_right(0,1); // E
linetrace_restriction(1);
OnFwd(OUT_AB,-30); // F
Wait(50);
Off(OUT_AB);
turn_left(1,1);
}
¤¡¡Âè4¥¹¥Æ¡¼¥¸¡ÊR¢ªP¢ªQ¡Ë
-P¡¡ÆñÅÀ¡§P¤Î¸òº¹ÅÀ¤Ç¤Î¸òº¹ÅÀ¼±Ê̵¡Ç½¤Î̤ȿ±þ
¡¡²ò·èºö¡§R¢ªP¢ªQ¤È±ß¤Î³°¤ò²ó¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢R¢ªQ¤È±ß¤ÎÆ⦤ò¥é¥¤¥ó¥È¥ì¡¼¥¹¤µ¤»¤ë¤³¤È¤Ç¡¢PÃÏÅÀ¤ÎÄ̲á¤ËÀ®¸ù¤·¤¿¡£¤Ê¤ª¡¢PQ¶è´Ö¤Ç¤Î¥³¥Ã¥×¤Î¥ê¥ê¡¼¥¹¤Ë´Ø¤·¤Æ¤Ï¡Ölinetrace_release¡×¤Î»þ´ÖÀ©¸Â¤Îµ¡Ç½¤òÍѤ¤¡¢¤À¤¤¤¿¤¤PQ¶è´ÖÆâ¤Ë¤¤¤ë¤Ç¤¢¤í¤¦»þ´Ö¤ò»ØÄꤷ¤Æ¥³¥Ã¥×¤ò¥ê¥ê¡¼¥¹¤·¤Æ¤¤¤ë¡£
-P¢ªQ¡¡ÆñÅÀ¡§¥³¥Ã¥×¤Î¥ê¥ê¡¼¥¹
¡¡²ò·èºö¡§ÅÅÃÓ»ÄÎ̤ÇÆ°ºî¤Ë±Æ¶Á¤òµÚ¤Ü¤µ¤Ê¤¤¤è¤¦¤Ê¥×¥í¥°¥é¥ß¥ó¥°¤òºîÀ®¤¹¤ë¤³¤È¤Ç¡¢¥³¥Ã¥×¤Î¥ê¥ê¡¼¥¹¤ÎÀ®¸ùΨ¤ò¹â¤á¤ë¤³¤È¤ËÀ®¸ù¤·¤¿¡£
sub the_fourth() //¡¡Âè4¥¹¥Æ¡¼¥¸ ¥³¥Ã¥×¤ÎÇÛÃÖ¡ÖR¢ªP¢ªQ¡×
{
PlaySound(SOUND_CLICK);
linetrace_release(5000,1); // R¢ª¥³¥Ã¥×ÇÛÃÖ¾ì½ê
Off(OUT_AB);
PlaySound(SOUND_LOW_BEEP);
Wait(500);
put_cup(-1); // ¥³¥Ã¥×¤ÎÇÛÃÖ
linetrace_restriction(-1); // ¥³¥Ã¥×ÇÛÃÖ¾ì½ê¢ªQ
}
¥¡¡ºÇ½ª¥¹¥Æ¡¼¥¸¡ÊQ¢ªS¢ªF¢ªC¢ªD¡Ë
-Q,S,F,C¡¡ÆñÅÀ¡§¸òº¹ÅÀ¤Î±¦ÀÞº¸ÀÞ¸å¤ËÉÑÈˤËȯÀ¸¤¹¤ë¸òº¹ÅÀ¸íǧ¼±
¡¡²ò·èºö¡§Âè3¥¹¥Æ¡¼¥¸¤ÈƱÍͤˡ¢¡Ölinetrace_release¡×¤òÍѤ¤¤¿¹ÔÆ°½ªÎ»¸å¥é¥¤¥óÁªÂòµ¡Ç½¤ÎÄɲäˤè¤ê¡¢¸òº¹ÅÀ¤Î¸íǧ¤òÍÞ¤¨¤ë¤³¤È¤ËÀ®¸ù¤·¤¿¡£
sub the_fifth() //¡¡ºÇ½ª¥¹¥Æ¡¼¥¸ ¥´¡¼¥ëÃÏÅÀ¤Ø¤Î°ÜÆ°¡ÖQ¢ªS¢ªF¢ªC¢ªD¡×
{
turn_left(0,-1); // Q
linetrace_restriction(-1);
turn_right(1,1); // S
linetrace_restriction(1);
turn_left(1,-1); // F
linetrace_restriction(-1);
turn_right(1,1); // C
linetrace_release(500,1);
finish // D¡¡¥´¡¼¥ë
}
**task main()Âè»°¥³¡¼¥¹¹¶Î¬ [#r927da9c]
¡¡¾åµ¤Î¶è²èʬ¤±¡ÊÂè1¡ÁºÇ½ª¥¹¥Æ¡¼¥¸¡Ë¤Þ¤Ç¤ò¹ç¤ï¤»¤¿¤â¤Î¤¬¡¢º£²óËÜÈ֤ǻÈÍѤµ¤ì¤¿¥×¥í¥°¥é¥ß¥ó¥°¤È¤Ê¤ë¡£
task main()
{
SetSensorLight(S2);
the_first();
the_second();
the_third();
the_fourth();
the_fifth();
}
*¤Þ¤È¤á [#k872feae]
¡¡º£²ó¤Ï¡¢¤è¤ê°ÂÄꤷ¤¿¡¢¤è¤êÀµ³Î¤Ê¥é¥¤¥ó¥È¥ì¡¼¥¹¤òÌܻؤ·¤Æ¥í¥Ü¥Ã¥È¡¢¥×¥í¥°¥é¥ß¥ó¥°¤ÎºîÀ®¤ò¹Ô¤Ã¤¿¡£·ë²ÌËÜÈ֤Ǥϡ¢¸«»ö²ÝÂê¤ò¥¯¥ê¥¢¤¹¤ë¤³¤È¤¬¤Ç¤¤¿¤Î¤Ç¤¢¤ë¤¬¡¢¤â¤¦°ì¿Í¤ÎÂè3¥³¡¼¥¹¤òôÅö¤·¤Æ¤¤¤ëÊý¤Ë®¤µ¤ÇÉ餱¤Æ¤·¤Þ¤Ã¤¿¤È¤¤¤¦¤³¤È¤¬Èó¾ï¤Ë²ù¤·¤«¤Ã¤¿¡£
¡¡¤½¤Î¤¿¤á¡¢»ä¤Ïº£²ó¤Î²ÝÂê¤Ç¡Ö®¤¯¡¢Àµ³Î¤Ë¡×¤Î½ÅÍ×À¤òÃΤ뤳¤È¤¬¤Ç¤¤¿¡£¤¤¤¯¤éÀµ³Î¤Ë»Å»ö¤ò¤³¤Ê¤¹¤³¤È¤¬¤Ç¤¤Æ¤â¡¢Â®¤¯¤Ê¤±¤ì¤Ð°ÕÌ£¤Ï¤Ê¤¯¡¢µÕ¤âƱ¤¸¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£
¡¡º£²ó¡¢¥×¥í¥°¥é¥ß¥ó¥°¤¬´°À®¤·¤¿¤Î¤¬ËÜÈÖ¤®¤ê¤®¤ê¤Ç¤¢¤Ã¤¿¤¿¤á¡¢Â®Å٤ˤޤǼê¤ò½Ð¤¹¤³¤È¤¬¤Ç¤¤Ê¤Ã¤¿¤¬¡¢º£¸å¤ÏÀµ³Î¤µ¤È®¤µ¤ÎξÊý¤òÈ÷¤¨¤¿¥í¥Ü¥Ã¥È¤òºîÀ®¤·¤Æ¤¤¤¤¿¤¤¤È¹Í¤¨¤Æ¤¤¤ë¡£
½ªÎ»¹Ô:
Ìܼ¡
#contents
*²ÝÂê¤Î³Îǧ [#rcb738e9]
&ref(2017b/Member/yuitom/Mission2/rob_mission2.png,70%,¥³¡¼¥¹¤ÎÁ´ÂοÞ);
¡¡º£²ó»ä¤¬Ã´Åö¤¹¤ë¥³¡¼¥¹¤ÏÂè3¥³¡¼¥¹¤Ç¤¢¤ë¡£¾°¡¢Âè3¥³¡¼¥¹¤Î¶ñÂÎŪ¤ÊÆâÍƤϰʲ¼¤ÎÄ̤ê¤Ç¤¢¤ë¡£
¡Ê1¡ËA¤ò¥¹¥¿¡¼¥È¡Ê2¡ËB¤òľ¿Ê¡Ê3¡ËC¤òľ¿Ê
¡Ê4¡ËDÃÏÅÀ¤Î»æ¥³¥Ã¥×¤ò¼èÆÀ¤·¤ÆÍ褿¥³¡¼¥¹Ìá¤êC¤Ø¸þ¤«¤¦
¡Ê5¡ËC¤òº¸ÀÞ¡Ê6¡ËF¤òľ¿Ê¡Ê7¡ËR¤òº¸ÀÞ(°ì»þÄä»ß)¡Ê8¡ËP¤òľ¿Ê
¡Ê9¡ËXÃÏÅÀ¤Ë»æ¥³¥Ã¥×¤òÃÖ¤¤¤Æ¥³¡¼¥¹¤ËÌá¤ë
¡Ê10¡ËQ¤òº¸ÀÞ¡Ê11¡ËS¤ò±¦ÀÞ(°ì»þÄä»ß)¡Ê12¡ËF¤òº¸ÀÞ(°ì»þÄä»ß)¡Ê13¡ËC¤ò±¦ÀÞ(°ì»þÄä»ß)¡Ê14¡ËDÃÏÅÀ¤Ø(¥´¡¼¥ë)
*¥í¥Ü¥Ã¥È¤ÎÀâÌÀ [#k049917e]
**¥í¥Ü¥Ã¥ÈºîÀ®¤Ë¸þ¤±¤Æ [#m59a7d6d]
Àµ³Î¤Ë¥ß¥Ã¥·¥ç¥ó¤ò¥¯¥ê¥¢¤¹¤ë¤¿¤á¤ËɬÍפˤʤë6¤Ä¤Î²ÝÂê
µ¡¡¥é¥¤¥ó¤Îü¤òÀµ³Î¤Ë¤¿¤É¤ë
¢ª¡¡¡¤è¤ê¾®²ó¤ê¤¬¤¤¯¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë¡¢¥»¥ó¥µ¤ÈÆ°ÎϤΰÌÃÖ¤ò¤Ç¤¤ë¤À¤±¶á¤Å¤±¤ë¡£¡Ê¥í¡¼¥Ð¡¼¡Ë
¡¡¢¡¡»æ¤Î±úÆÌ¡¢¥é¥¤¥ó¤ÎÅɤê¤ÎÁƤµ¤Ê¤É¤ÇÆ°ºî¤Ë»Ù¾ã¤ò¤¤¿¤µ¤Ê¤¤¤è¤¦¤Ë¡¢¥»¥ó¥µ¤ÈÃÏÌ̤ΰÌÃÖ¤ÎÄ´À᤹¤ë¡£¡Ê¥í¡¼¥Ð¡¼¡Ë
¶¡¡¥³¥Ã¥×¤ÎÆþ¼ê¤È¥ê¥ê¡¼¥¹
¢ª£¡¡¥³¥Ã¥×¤Î°ÌÃÖ¤¬Â¿¾¯¤º¤ì¤Æ¤¤¤Æ¤âÆþ¼ê¤Ç¤¤ë¥¢¡¼¥à¤òºîÀ®¤¹¤ë¡£¡Ê¥í¡¼¥Ð¡¼¡Ë
¡¡¤¡¡¥³¥Ã¥×¤ÎÆþ¼ê¤È¥ê¥ê¡¼¥¹¤ÎÆ°ºî¤òÅÅÃÓ»ÄÎ̤˺¸±¦¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¡£¡Ê¥×¥í¥°¥é¥à¡Ë
·¡¡Àµ³Î¤Ë¸òº¹ÅÀ¤ò¸«¶Ë¤á¤ë¡Ê¸òº¹ÅÀ°Ê³°¤Ç¤Î¸íǧ¤ò̵¤¯¤¹¡Ë
¢ª¥¡¡¸òº¹ÅÀ°Ê³°¤Ç¡Ö¤³¤³¤Ï¸òº¹ÅÀ¤À¡×¤È¸íǧ¤·¤Ê¤¤¤è¤¦¤Ê¥×¥í¥°¥é¥à¤òºîÀ®¤¹¤ë¡£¡Ê¥×¥í¥°¥é¥à¡Ë
¡¡¦¡¡¸òº¹ÅÀ¸å¤ÎÆ°ºî¤òÅÅÃÓ»ÄÎ̤ˤè¤Ã¤ÆÊѲ½¤·¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¡£¡Ê¥×¥í¥°¥é¥à¡Ë
»äã¤Î¥°¥ë¡¼¥×¤Ç¤Ï¡¢°Ê¾å¤Î6ÅÀ¤Î²ÝÂê¤ò²ò·è¤¹¤ë¤³¤È¤Çº£²ó¤Î¥ß¥Ã¥·¥ç¥ó¤ò¥¯¥ê¥¢¤Ç¤¤ë¤È¹Í¤¨¤¿¡£
**¥í¥Ü¥Ã¥È¤ÎºîÀ® [#y629d004]
&ref(2017b/Member/yuitom/Mission2/robo1.jpg,70%,¥í¡¼¥Ð¡¼¤ÎÀâÌÀ);
º£²ó¤Ï¡Ö¥í¥Ü¥Ã¥È¤ÎºîÀ®¤Ë¸þ¤±¤Æ¡×¤Ç¤¢¤²¤¿6¤Ä¤Î²ÝÂê¤ÎÃæ¤Î¥í¡¼¥Ð¡¼¤Î²ÝÂê¡¡Á£¤ËÃåÌܤ·¤Æ¡¢¥í¡¼¥Ð¡¼¤òºîÀ®¤·¤Æ¤¤¤¯¡£
²ÝÂê¡¡¡¥»¥ó¥µ¤ÈÆ°ÎϤΰÌÃÖ¤ò¤Ç¤¤ë¤À¤±¶á¤Å¤±¤ë¡£
²ÝÂꢡ¡¥»¥ó¥µ¤ÈÃÏÌ̤ΰÌÃÖ¤ÎÄ´À᤹¤ë¡£
-»îºî1¡¡¡Ê¥»¥ó¥µ¤òÃÏÌ̤ËÂФ·¼Ð¤á¤ËÇÛÃÖ¤¹¤ë¡£¡Ë
Ä´ÅÙÎɤ¤°ÌÃÖ¤À¤Ã¤¿¤é¤·¤¯¡¢¥é¥¤¥ó¥È¥ì¡¼¥¹¤Ï¥¹¥à¡¼¥º¤Ë½ÐÍ褿¡£¤·¤«¤·¡¢¤³¤ÎÊý¼°¤Ç¤Ï²ÝÂꡤǤ¢¤ë¡Ö¥»¥ó¥µ¤ÈÆ°ÎϤΰÌÃÖ¤ò¤Ç¤¤ë¤À¤±¶á¤Å¤±¤ë¡£¡×¤³¤È¤¬Æñ¤·¤¤¤È¤¤¤¦¤³¤È¤¬¤ï¤«¤Ã¤¿¡£
¤³¤Î¤³¤È¤«¤é¡¢¥»¥ó¥µ¤ÏÃÏÌ̤ȿâľ¤Ë¤Ê¤ë¤è¤¦¤ËÀßÃÖ¤¹¤ë¤³¤È¤Ç¡¢¤è¤ê¥»¥ó¥µ¤òÆ°ÎϤ˶á¤Å¤±¤ë¤³¤È¤¬¤Ç¤¤ë¤È¤¤¤¦¤³¤È¤¬¤ï¤«¤Ã¤¿¡£
-»îºî2¡¡¡Ê¥»¥ó¥µ¤òÃÏÌ̤ËÂФ·¿âľ¤Ë¤Ê¤ë¤è¤¦¤ËÀßÃÖ¤¹¤ë¡Ë
ÆÍÁ³¥«¡¼¥Ö¤·¤Æ¤·¤Þ¤¦¤È¸À¤Ã¤¿¤ª¤«¤·¤ÊÆ°¤¤ò¤¹¤ë¤³¤È¤¬Áý¤¨¤Æ¤·¤Þ¤Ã¤¿¡£¤ª¤«¤·¤ÊµóÆ°¤ò¤¹¤ëÅÀ¤ò¸å¤ÇÄ´¤Ù¤Æ¤ß¤¿¤È¤³¤í¡¢»æ¤Ë¼ã´³¤Î±úÆ̤¬¤¢¤Ã¤¿¤È¤¤¤¦¤³¤È¤¬¤ï¤«¤Ã¤¿¡£¤³¤Î¤³¤È¤«¤é¡¢¥»¥ó¥µ¤Î°ÌÃÖ¤¬ÃÏÌ̤˶᤹¤®¤¿¤¿¤á¤Ç¤Ï¤Ê¤¤¤«¤È¤¤¤¦¤³¤È¤¬¤ï¤«¤Ã¤¿¡£
ÃÏÌ̤ȡ¢¤¢¤ëÄøÅÙÎ¥¤ì¤¿°ÌÃ֤˥»¥ó¥µ¤òÇÛÃÖ¤·¤Ê¤¤¤È¡¢Àµ³Î¤Ê¥é¥¤¥ó¥È¥ì¡¼¥¹¤ÏÆñ¤·¤¤¤Î¤À¤È¤¤¤¦¤³¤È¤¬¤ï¤«¤Ã¤¿¡£
-»îºî3¡ÊËÜÈ֤ǻÈÍÑ¡Ë
&ref(2017b/Member/yuitom/Mission2/robo1_sisaku2.jpg,50%,»îºî3¹æµ¡¤Ç¤Î¸÷¥»¥ó¥µ¤Î°ÌÃÖ);
»îºî2¤è¤ê¤â¥»¥ó¥µ¤Î°ÌÃÖ¤òÃÏÌ̤«¤éÎ¥¤¹¤³¤È¤Ç¡¢»îºî1¤Î¤è¤¦¤Ê°ÂÄꤷ¤¿¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¹Ô¤¦¤³¤È¤ËÀ®¸ù¤·¤¿¡£¤Þ¤¿¡¢²ÝÂꡤǤ¢¤ë¡Ö¥»¥ó¥µ¤ÈÆ°ÎϤΰÌÃÖ¤ò¤Ç¤¤ë¤À¤±¶á¤Å¤±¤ë¡£¡×¤³¤È¤Ë¤âÀ®¸ù¤·¤¿¡£
²ÝÂ꣡¡¥³¥Ã¥×¤Î°ÌÃÖ¤¬Â¿¾¯¤º¤ì¤Æ¤¤¤Æ¤âÆþ¼ê¤Ç¤¤ë¥¢¡¼¥à¤ÎºîÀ®¡£
&ref(2017b/Member/yuitom/Mission2/robo1_sisaku1.1.jpg,50%,¥¢¡¼¥à¤ÎÀâÌÀ¡¢¥³¥Ã¥×Æþ¼êÁ°);¡¡¢ª¡¡
&ref(2017b/Member/yuitom/Mission2/robo1_sisaku1.2.jpg,50%,¥¢¡¼¥à¤ÎÀâÌÀ¡¢¥³¥Ã¥×Æþ¼ê¸å);
º£²ó»äã¤Î¥°¥ë¡¼¥×¤Ç¤Ï¡¢¥³¥Ã¥×¤ÎÆþ¼ê¤È¥ê¥ê¡¼¥¹¤¬ÍưפˤǤ¤ë¡¢¡Ö¥¢¡¼¥à¤ò¾å¤«¤é¤«¤Ö¤»¤ë¡×Êý¼°¤Î¥í¥Ü¥Ã¥È¤òºîÀ®¤·¤¿¡£
¤³¤ì¤Ë¤è¤ê¡¢²èÁü¤Î¤è¤¦¤Ë¿¾¯¥³¥Ã¥×¤Ë°ÌÃÖ¤¬¤º¤ì¤Æ¤¤¤Æ¤â¡¢¡Ö4ËܤÎÄޤǰú¤´ó¤»¤Æ¾å¤«¤é¥¢¡¼¥à¤ò¤«¤Ö¤»¤ë¡×¤³¤È¤Ç³Î¼Â¤Ë¥³¥Ã¥×¤ò¼èÆÀ¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£
*¥×¥í¥°¥é¥ß¥ó¥°¤ÎÀâÌÀ [#n5896b66]
**ÄêµÁ [#vc306296]
»äã¤Î¥°¥ë¡¼¥×¤Ç¤Ï¡¢¤è¤ê³ê¤é¤«¤Ê¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¹Ô¤¦¤¿¤á¤Ë5Ãʳ¬¤ÎÈæÎãÀ©¸æ¤ò¹Ô¤Ã¤Æ¤¤¤ë¡£¤½¤Î¤¿¤á¡¢¥×¥í¥°¥é¥à¤¬ËÄÂç¤Ê¤â¤Î¤È¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤Æ¤¤¤ë¡£¤³¤Î¤³¤È¤Ë¤è¤ê¡¢ÅÅÃӤξÃÌפʤɤÇ®ÅÙ¤¬ÊѲ½¤·¤Æ¤·¤Þ¤Ã¤¿ºÝ¡¢³ÆÃͤò½¤Àµ¤¹¤ë¤Î¤Ë¿Âç¤Ê»þ´Ö¤ò»ÈÍѤ·¤Æ¤·¤Þ¤¦¤È¤È¤â¤Ë¡¢¥ß¥¹¤ò¤·¤Æ¤·¤Þ¤¦²ÄǽÀ¤âÈó¾ï¤Ë¹â¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£
¤³¤ì¤é¤ÎÌäÂêÅÀ¤ò²ò·è¤¹¤ë¤¿¤á¤Ë¡¢»ä¤¿¤Á¤Î¥°¥ë¡¼¥×¤Ç¤Ï¥×¥í¥°¥é¥à¾å¤Î¤½¤ì¤¾¤ì¤ÎÃͤËÄêµÁ¤Å¤±¤ò¹Ô¤¤¡¢¥×¥í¥°¥é¥à¤Î½¤Àµ¤È³Îǧ¤ò¤è¤êÍưפʤâ¤Î¤È¤·¤¿¡£
-¥é¥¤¥ó¤Î´ð½à
¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¹Ô¤¦ºÝ¤ËÈó¾ï¤ËÂçÀÚ¤ÊÃͤȤʤë¤â¤Î¤¬¡¢¥é¥¤¥ó¤Îü¤ÎÃͤǤ¢¤ë¡£º£²ó¤Ï¡¢¥é¥¤¥ó¤Î¤â¤Ã¤È¤â¹õ¤¤Éôʬ¤ÎÃͤȡ¢ÍÑ»æ¤Î¤â¤Ã¤È¤âÇò¤¤Éôʬ¤ÎÃͤòÆþÎϤ¹¤ë¤³¤È¤ÇÃæ´Ö¤ÎÃͤ¬¼«Æ°¤Ç½Ð¤ë¤è¤¦¤ÊÄêµÁÉÕ¤±¤ò¹Ô¤Ã¤¿¡£
#define black 30 // ¹õ´ð½à
#define white 58 // Çò´ð½à
#define threshold (black+white)/2 // ´ð½àÀþ¤ÎÌÀ¤ë¤µ
-®Å٤δð½à
#define speed_standardA 35 // ¥â¡¼¥¿A´ð½à®ÅÙ
#define speed_standardB 35 // ¥â¡¼¥¿B´ð½à®ÅÙ
#define corner_standardA 27 // ¥â¡¼¥¿A¸òº¹ÅÀ´ð½à®ÅÙ
#define corner_standardB 27 // ¥â¡¼¥¿B¸òº¹ÅÀ´ð½à®ÅÙ
-ÈæÎãÀ©¸æ¤ËɬÍפÊÄêµÁ
»äã¤Î¥°¥ë¡¼¥×¤Ç¤ÏÈæÎã5Ãʳ¬À©¸æ¤ò¹Ô¤Ã¤Æ¤¤¤ë¡£¤½¤ÎºÝ¡Ö´ð½àÀþ¤ÎÃͤȸ½ºß¤ÎÃͤκ¹¡×¤òÍøÍѤ·ÈæÎãÀ©¸æ¤ò¹Ô¤Ã¤Æ¤¤¤ë¤Î¤À¤¬¡¢º£²ó¤ÏÈæÎã5Ãʳ¬À©¸æ¤È¤¤¤¦¤³¤È¤Ç³Æ¥â¡¼¥¿Ëè¤Ë3¤Ä¤ÎÈæÎãÀ©¸æÍѤÎÃͤ¬É¬ÍפȤʤäƤ¯¤ë¡£
¤Þ¤¿¡¡¡_speed¢¡¡¤È¤·¤¿¤È¤¡¢¡¤Ïf¢ªforward¡ÊÁ°¿ÊÍÑ¡Ë¡¢c¢ªcorner¡Ê¥«¡¼¥ÖÍÑ¡Ë¡¢t¢ªturning(µÞ¥«¡¼¥ÖÍÑ)¤òɽ¤·¡¢¢¤ÏÆ°¤«¤·¤Æ¤¤¤ë¥â¡¼¥¿¤òɽ¤·¤Æ¤¤¤ë¡£
#define sensor2 SENSOR_2
#define f_speedA (sensor2-threshold)*1 // ľ¿Ê ¥â¡¼¥¿A
#define c_speedA (sensor2-threshold)*1.5 // corner¡¡¥â¡¼¥¿A
#define t_speedA (sensor2-threshold)*2 // turning¡¡¥â¡¼¥¿A
#define f_speedB (sensor2-threshold)*1 // ľ¿Ê ¥â¡¼¥¿B
#define c_speedB (sensor2-threshold)*1.5 // corner ¥â¡¼¥¿B¡¡
#define t_speedB (sensor2-threshold)*2 // turning¡¡¥â¡¼¥¿B
-¸òº¹ÅÀ¤Î¼±ÊÌ
»äã¤Î¥°¥ë¡¼¥×¤Ç¤Ï¡¢¸òº¹ÅÀ¤Î¼±Ê̤ò¡Ö¤É¤ì¤Û¤É¤Î»þ´Ö¶Ê¤¬¤ê³¤±¤Æ¤â¹õ¤Î¥é¥¤¥ó¤«¤éÇò¤¤Éôʬ¤Ë¥»¥ó¥µ¤¬Æþ¤é¤Ê¤¤¡×¤È¤¤¤¦»þ´Ö¤òÍѤ¤¤Æ¹Ô¤Ã¤Æ¤¤¤ë¡£¤½¤Î¤¿¤á¤Ë¡¢¸òº¹ÅÀ¼±ÊÌ»þ´Ö¤¬É¬ÍפȤʤä¿¡£
¤Þ¤¿¡¢¸òº¹ÅÀ¤Î¼±ÊÌ»þ´Ö¤¬110¤ÈÈó¾ï¤Ëû¤¯ÀßÄꤵ¤ì¤Æ¤¤¤ëÍýͳ¤Ï¡¢¤³¤ì°Ê¾å¤ÎÃͤˤ·¤¿¾ì¹ç¤Ë¸òº¹ÅÀ¤ÈȽÊ̤·¤Æ¤¯¤ì¤Ê¤¤Éôʬ¤¬¤¢¤ë¤È¤È¤â¤Ë¡¢¤³¤ì°Ê²¼¤Ë²¼¤²¤ë¤ÈÄ̾ï¤Î¥«¡¼¥Ö¤Ç¤â¸òº¹ÅÀ¤È¸íǧ¤·¤Æ¤·¤Þ¤¦²ÄǽÀ¤¬¹â¤Þ¤ë¤«¤é¤Ç¤¢¤ë¡£
#define corner_time 110 // ¸òº¹ÅÀȽÊÌ»þ´Ö
#define corner_wait 1000 // ¸òº¹ÅÀÂÔµ¡»þ´Ö
#define afterselect_time 750 // ¸òº¹ÅÀÄ̲á¸åº¸±¦¥é¥¤¥óÁªÂò»þ´Ö
-¥³¥Ã¥×¤ÎÆþ¼ê¤È¥ê¥ê¡¼¥¹
»äã¤Î¥°¥ë¡¼¥×¤Ç¤Ï¡¢¥³¥Ã¥×¤ÎÆþ¼ê¤È¥ê¥ê¡¼¥¹¤¬ÅÅÃÓ»ÄÎ̤ˤè¤Ã¤Æº¸±¦¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¡¢¥â¡¼¥¿¡¼¤ò²¿Éò󤹤«¤Ç¤Ï¤Ê¤¯¡¢¥â¡¼¥¿¡¼¤ò²¿Åٲ󤹤«¤È¤¤¤Ã¤¿³ÑÅÙ¤òÍøÍѤ·¤Æ¤¤¤ë¡£
#define catch RotateMotor(OUT_C,50,-400);Wait(1000); // ¥³¥Ã¥×¤Î¼èÆÀ
#define release RotateMotor(OUT_C,50,400);Wait(1000); // ¥³¥Ã¥×¤Î¥ê¥ê¡¼¥¹
#define finish OnFwd(OUT_AB,30);Wait(2500);Off(OUT_AB); // Á´¹ÔÄø½ªÎ»¡ÊD¤ØÆþ¤ë¡Ë
**ÈæÎãÀ©¸æ¤È5Ãʳ¬À©¸æ¤òÁȤ߹ç¤ï¤»¤ë¤¿¤á¤Ë¡Ä [#n52315c7]
¡¡
¡¡»äã¤Î¥°¥ë¡¼¥×¤Ç¤Ï¡¢¤è¤ê³ê¤é¤«¤Ê¡¢¤è¤ê°ÂÄê´¶¤Î¤¢¤ë¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¹Ô¤¦¤¿¤á¤Ë¡ÖÈæÎãÀ©¸æ¡×¤ò»ÈÍѤ·¤¿¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¹Ô¤Ã¤Æ¤¤¤ë¡£¤³¤ì¤Ë¤è¤ê¡¢³ê¤é¤«¤ÊÁö¹Ô¤ò²Äǽ¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤¤¿¤¬¡¢¿·¤¿¤Ê²ÝÂê¤âÀ¸¤Þ¤ì¤¿¡£
¡¡¤½¤ì¤Ï¡Ö¤¢¤ëÄøÅ٤Υ«¡¼¥Ö¤Ç¤¢¤ì¤ÐÂбþ¤Ç¤¤ë¤¬¡¢µÞ¥«¡¼¥Ö¤Ç¤ÏÂбþ¤¹¤ë¤³¤È¤¬¤Ç¤¤Ê¤¤¡×¤È¤¤¤¦²ÝÂê¤Ç¤¢¤ë¡£
¡¡¤³¤Î²ÝÂê¤ò¡¢²ò·è¤¹¤ë¤¿¤á¤Ë»ä㤬¹Í¤¨¤¿²ò·èºö¤¬¡ÖÈæÎã5Ãʳ¬À©¸æ¡×¤Ç¤¢¤ë¡£
-3¤Ä¤ÎÈæÎãÀ©¸æ¥×¥í¥°¥é¥à
¡¡¡ÖÈæÎã5Ãʳ¬À©¸æ¡×¤ò¹Ô¤¦¤¿¤á¤Ë¤Ï¡¢3Ãʳ¬¤Ëʬ¤±¤¿ÈæÎãÀ©¸æ¤¬É¬Íפˤʤ롣
¡¡¤Þ¤¿¡¢¡_proportion(int ¢)¤È¤·¤¿¤È¤¡¢¡¤Ïf¢ªforward¡ÊÁ°¿ÊÍÑÈæÎãÀ©¸æ¡Ë¡¢c¢ªcorner¡Ê¥«¡¼¥ÖÍÑÈæÎãÀ©¸æ¡Ë¡¢t¢ªturning(µÞ¥«¡¼¥ÖÍÑÈæÎãÀ©¸æ)¤òɽ¤·¡¢¢¤Ï¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë¥é¥¤¥ó¤ò±¦Â¦¤Ë¤¹¤ë¤«º¸Â¦¤Ë¤¹¤ë¤«¤òÁªÂò¡Ê±¦Â¦¢ª1¡¢º¸Â¦¢ª-1¡Ë¤Ç¤¤ë¤³¤È¤òɽ¤·¤Æ¤¤¤ë¡£
¡¡Îã¡Ë±¦Â¦¤Î¥é¥¤¥ó¤òÁö¹ÔÃæ¤Ç¥«¡¼¥Ö¤·¤Æ¤¤¤ë¾ì¹ç¡¡ forward_proportion(1);
¡¡ÈæÎãÀ©¸æ¤ÎÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¼¡¤Î¤è¤¦¤Ê·×»»Ë¡¤Ç¹Ô¤Ã¤Æ¤¤¤ë¡£
¡¡¥â¡¼¥¿A¡Ê´ð½à®Å١ˡܡʸ½ºß¤ÎÌÀ¤ë¤µ¡Ý´ð½à¤ÎÌÀ¤ë¤µ¡Ë¡ß¶Ê¤¬¤êÊý¤Ë¤è¤Ã¤Æ°Û¤Ê¤ëÃÍ¡ß1¤«¡¾1
¡¡¥â¡¼¥¿B¡Ê´ð½à®Å١ˡݡʸ½ºß¤ÎÌÀ¤ë¤µ¡Ý´ð½à¤ÎÌÀ¤ë¤µ¡Ë¡ß¶Ê¤¬¤êÊý¤Ë¤è¤Ã¤Æ°Û¤Ê¤ëÃÍ¡ß1¤«¡¾1
sub forward_proportion(int lineselect) // Á°¿Ê¤ÎÈæÎãÀ©¸æ
{
OnFwd(OUT_A,(speed_standardA)+f_speedA*lineselect);
OnFwd(OUT_B,(speed_standardB)-f_speedB*lineselect);
}
sub corner_proportion(int lineselect) // ¶Ê¤¬¤êÆ»¤ÎÈæÎãÀ©¸æ
{
OnFwd(OUT_A,(speed_standardA-12)+c_speedA*lineselect);
OnFwd(OUT_B,(speed_standardB-12)-c_speedB*lineselect);
}
sub turnning_proportion(int lineselect) // µÞ¥«¡¼¥Ö¤ÎÈæÎãÀ©¸æ
{
OnFwd(OUT_A,(speed_standardA-30)+t_speedA*lineselect);
OnFwd(OUT_B,(speed_standardB-30)-t_speedB*lineselect);
}
-5Ãʳ¬¤ÎÈæÎãÀ©¸æ¥×¥í¥°¥é¥à¤È¥é¥¤¥óÁªÂò
¡¡¡Ö3¤Ä¤ÎÈæÎãÀ©¸æ¥×¥í¥°¥é¥à¡×¤òÍѤ¤¤Æ¼ÂºÝ¤Ë5Ãʳ¬¤ÎÈæÎãÀ©¸æ¥×¥í¥°¥é¥à¤òºîÀ®¤·¤¿¡£
&ref(2017b/Member/yuitom/Mission2/robo_line1.png,70%,5Ãʳ¬À©¸æ¤ÎÀâÌÀ);
¡¡¤³¤Î»þ¡¢´ð½àÀþ¤«¤é¡Þ10°Ê¾åÃͤ¬Î¥¤ì¤Æ¤¤¤¿¾ì¹ç¡Ê²èÁü¤Î¡¤È¥¡Ë¡ÖµÞ¥«¡¼¥Ö¤ÎÈæÎãÀ©¸æ¡×¤ò»ÈÍÑ¡¢´ð½àÀþ¤«¤é¡Þ7°Ê¾åÃͤ¬Î¥¤ì¤Æ¤¤¤¿¾ì¹ç¡Ê²èÁü¤Î¢¤È¤¡Ë¡Ö¶Ê¤¬¤êÆ»¤ÎÈæÎãÀ©¸æ¡×¤ò»ÈÍÑ¡¢¤½¤ì°Ê²¼¤Î¾ì¹ç¡Ê²èÁü¤Î£¡Ë¤ÏÁ°¿Ê¤ÎÈæÎãÀ©¸æ¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë¤·¤¿¡£
¡¡
¡¡¤Þ¤¿¡¢linetrace_restriction(int ¡)¤È¤·¤¿¤È¤¡¢¡¤Ï¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë¥é¥¤¥ó¤ò±¦Â¦¤Ë¤¹¤ë¤«º¸Â¦¤Ë¤¹¤ë¤«¤òÁªÂò¡Ê±¦Â¦¢ª1¡¢º¸Â¦¢ª-1¡Ë¤Ç¤¤ë¤³¤È¤òɽ¤·¤Æ¤¤¤ë¡£
¡¡¤³¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤Ï¸òº¹ÅÀ¤Ë¤¢¤¿¤ë¤ÈÄä»ß¤¹¤ë¤è¤¦¤ËÀ©¸Â¤µ¤ì¤Æ¤ª¤ê¡¢¤³¤ÎÀ¼Á¤«¤é¤³¤Î¥µ¥Ö¥ë¡¼¥Á¥ó̾¤Ï¡ÖÀ©¸Â¡×¤òɽ¤¹¡Örestriction¡×¤òÍѤ¤¤¿¡Ölinetrace_restriction¡×¤È¤Ê¤Ã¤Æ¤¤¤ë¡£
¡¡Îã¡Ëº¸Â¦¤ò¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë¡£¡¡ linetrace_restriction(-1);
sub linetrace_restriction(int lineselect) // ¥é¥¤¥ó¥È¥ì¡¼¥¹¸òº¹ÅÀ¼±Ê̡ʥ饤¥óÁªÂò¡Ë
{
long t0=CurrentTick();
while(CurrentTick()-t0<=corner_time){
if(sensor2<threshold-10){
turnning_proportion(lineselect);
}else if(sensor2<threshold-7){
corner_proportion(lineselect);
t0=CurrentTick();
}else if(sensor2<threshold+7){
forward_proportion(lineselect);
t0=CurrentTick();
}else if(sensor2<threshold+10){
corner_proportion(lineselect);
t0=CurrentTick();
}else{
turnning_proportion(lineselect);
t0=CurrentTick();
}
Wait(10);
}
Off(OUT_AB);
PlaySound(SOUND_DOUBLE_BEEP);
}
¡¡¤·¤«¤·¡¢¸òº¹ÅÀ¤Ë¤¢¤¿¤ë¤ÈÄä»ß¤¹¤ë¾å¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¡Ölinetrace_restriction¡×¤Ç¤ÏÁö¹Ô¤¹¤ë¤³¤È¤Î¤Ç¤¤Ê¤¤¥³¡¼¥¹¤¬¤Ç¤¤Æ¤·¤Þ¤Ã¤¿¡£¤½¤ì¤Ï¡Ö¡×¤Îs»ú¥«¡¼¥Ö¤Ç¤¢¤ë¡£¤³¤ì¤Ï¡¢¸òº¹ÅÀ¼±ÊÌ»þ´Ö¤¬110¤ÈÈó¾ï¤Ëû¤¯ÀßÄꤵ¤ì¤Æ¤¤¤ë¤³¤È¤«¤é¤âÍưפËÁÛÄê¤Ç¤¤ë·ë²Ì¤Ç¤¢¤ê¡¢¤³¤ì¤ËÂбþ¤¹¤ë¤¿¤á¤Ë¿·¤¿¤Ê¥µ¥Ö¥ë¡¼¥Á¥ó¤¬É¬ÍפȤʤä¿¡£
-s»ú¥«¡¼¥Ö¤ËÂбþ¤¹¤ë¤¿¤á¤Ë¡Ä
¡¡¿·¤·¤¯s»ú¥«¡¼¥ÖÍѤ˺îÀ®¤·¤¿¥µ¥Ö¥ë¡¼¥Á¥ó¤Ï¡¢»ØÄꤷ¤¿»þ´Ö¤Î´Ö¸òº¹ÅÀǧ¼±¤Îµ¡Ç½¤òÄä»ß¤¹¤ë¤È¤¤¤Ã¤¿Èó¾ï¤Ë´Êñ¤Ê¤â¤Î¤Ç¤¢¤ë¡£¤·¤«¤·¤³¤ì¤Ë¤è¤ê¡¢s»ú¥«¡¼¥Ö¤Ç¤â°ÂÄꤷ¤ÆÁö¹Ô¤¹¤ë¤³¤È¤ËÀ®¸ù¤·¤¿¡£¤Þ¤¿¡¢¸òº¹ÅÀ»þ¤Ë¼¡¤ÎÆ°ºî¤Ø°Ü¤ëºÝ¤ÎÆ°ºî¤ò¤è¤ê³Î¼Â¤Ê¤â¤Î¤Ë¤¹¤ë¤³¤È¤Ë¤âÀ®¸ù¤·¤¿¡Ê¸òº¹ÅÀ¼±Ê̤ˤƾܤ·¤¯ÀâÌÀ¡Ë¡£
¡¡¤³¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤Ï¡¢»ØÄꤷ¤¿»þ´Ö¤Î´Ö¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³¤±¤ë¤È¤¤¤¦Éôʬ°Ê³°¤Ï¾å¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¡Ölinetrace_restriction¡×¤ÈÁ´¤¯Æ±¤¸¤â¤Î¤Ç¤¢¤ë¡£
¡¡¤Þ¤¿¡¢linetrace_release(int ¡,int ¢)¤È¤·¤¿¤È¤¡¢¡¤Ï¸òº¹ÅÀ¼±Ê̤ò²ò½ü¤¹¤ë»þ´Ö¡Ê¸òº¹ÅÀ¼±Ê̤ò¤·¤Ê¤¤¥×¥í¥°¥é¥à¤òÆ°ºî¤µ¤»¤ë»þ´Ö¡Ë¤òɽ¤·¡¢¢¤Ï¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë¥é¥¤¥ó¤ò±¦Â¦¤Ë¤¹¤ë¤«º¸Â¦¤Ë¤¹¤ë¤«¤òÁªÂò¡Ê±¦Â¦¢ª1¡¢º¸Â¦¢ª-1¡Ë¤Ç¤¤ë¤³¤È¤òɽ¤·¤Æ¤¤¤ë¡£
¡¡¤³¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤Ï¡¢»ØÄꤷ¤¿»þ´Ö¤Î´Ö¸òº¹ÅÀ¤Î¼±Ê̤«¤é²òÊü¤¹¤ë¤È¤¤¤Ã¤¿¤â¤Î¤Ç¤¢¤ê¡¢¤³¤ÎÀ¼Á¤«¤é¤³¤Î¥µ¥Ö¥ë¡¼¥Á¥ó̾¤Ï¡Ö²òÊü¡×¤òɽ¤¹¡Örelease¡×¤òÍѤ¤¤¿¡Ölinetrace_release¡×¤È¤Ê¤Ã¤Æ¤¤¤ë¡£
¡¡Îã¡Ëº¸Â¦¤ò10Éô֥饤¥ó¥È¥ì¡¼¥¹¡Ê¤¿¤À¤·¸òº¹ÅÀ¼±Ê̤Ï̵¤·¡Ë¡¡linetrace_release(10000,-1);
¡¡
sub linetrace_release(int timelimit,int lineselect) // ¥é¥¤¥ó¥È¥ì¡¼¥¹¼±Ê̲ò½ü¡Ê»þ´ÖÀ©¸Â,
¥é¥¤¥óÁªÂò¡Ë
{
long t0=CurrentTick();
while(CurrentTick()-t0<=timelimit){
if(sensor2<threshold-10){
turnning_proportion(lineselect);
}else if(sensor2<threshold-7){
corner_proportion(lineselect);
}else if(sensor2<threshold+7){
forward_proportion(lineselect);
}else if(sensor2<threshold+10){
corner_proportion(lineselect);
}else{
turnning_proportion(lineselect);
}
Wait(10);
}
}
**ÅÅÃÓ»ÄÎ̤˺¸±¦¤µ¤ì¤Ê¤¤¸òº¹ÅÀ¤ÎÄ̲á [#x03dbd0d]
¡¡¤³¤³¤Ç¤Ï¡Ö²ÝÂꦡ¡¸òº¹ÅÀ¸å¤ÎÆ°ºî¤òÅÅÃÓ»ÄÎ̤ˤè¤Ã¤ÆÊѲ½¤·¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¡£¡×¤È¡Ö²ÝÂꥡ¡¸òº¹ÅÀ°Ê³°¤Ç¡Ö¤³¤³¤Ï¸òº¹ÅÀ¤À¡×¤È¸íǧ¤·¤Ê¤¤¤è¤¦¤Ê¥×¥í¥°¥é¥à¤òºîÀ®¤¹¤ë¡£¡×¤Î²ò·è¤òÌܻؤ¹¡£
¡¡º£²ó¤Ï¡¢¸òº¹ÅÀ¼±Ê̸å¤Ë°Ê²¼¤Î3¤Ä¤Î¹ÔÆ°¤¬É¬ÍפȤʤ롣
¡¡¡¡¡¸òº¹ÅÀ¼±Ê̸塢Á°¿Ê¤·¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³«»Ï¤¹¤ë¡£
¡¡¢¡¡¸òº¹ÅÀ¼±Ê̸塢±¦ÀÞ¤·¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³«»Ï¤¹¤ë¡£
¡¡£¡¡¸òº¹ÅÀ¼±Ê̸塢º¸ÀÞ¤·¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³«»Ï¤¹¤ë¡£
¡¡¤³¤Î»þ¡¢¡Ö»ØÄꤵ¤ì¤¿Â®Å٤ǻØÄꤵ¤ì¤¿»þ´ÖÁ°¿Ê¤¹¤ë¡×¤È¤¤¤¦¤è¤¦¤Ê¥×¥í¥°¥é¥à¤ò»ÈÍѤ¹¤ë¤È¡¢ÅÅÃӤλÄÎ̤ˤè¤ê°ÜÆ°µ÷Î¥¤¬ÊѲ½¤·¤Æ¤·¤Þ¤¤¡¢°ÂÄꤷ¤¿Æ°ºî¤¬¤Ç¤¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£
¡¡¤Þ¤¿¡¢¤½¤ì¤Ë¤è¤ê¹õÀþ¤ÎÃæ¤Ë¥»¥ó¥µ¤¬¤¢¤ë¾õÂ֤ǥ饤¥ó¥È¥ì¡¼¥¹¤ò³«»Ï¤·¤Æ¤·¤Þ¤Ã¤¿¾ì¹ç¡¢¸òº¹ÅÀ¼±ÊÌ»þ´Ö¤¬Èó¾ï¤Ëû¤¯ÀßÄꤵ¤ì¤Æ¤¤¤ë¤³¤È¤«¤é¡¢¤½¤Î¾ì½ê¤ò¸òº¹ÅÀ¤È¸íǧ¤·¤Æ¤·¤Þ¤¦´í¸±À¤¬¤¢¤ë¡£
¡¡¤³¤ÎÌäÂê¤ò²ò·è¤¹¤ë¤¿¤á¤Ë»ä¤¿¤Á¤Î¥°¥ë¡¼¥×¤Ç¤Ï¡¢¸÷¥»¥ó¥µ¤ò»ÈÍѤ·¸òº¹ÅÀ¤ÎÄ̲á¤ò¹Ô¤¦¤è¤¦¤Ê¥×¥í¥°¥é¥à¤òºîÀ®¤·¡¢ÅÅÃÓ»ÄÎ̤ˤè¤é¤º°ÂÄꤷ¸òº¹ÅÀ¤òÄ̲᤹¤ë¤³¤È¤ËÀ®¸ù¤·¤¿¡£
¡¡¡¸òº¹ÅÀ¼±Ê̸塢Á°¿Ê¤·¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³«»Ï¤¹¤ë¡£
&ref(2017b/Member/yuitom/Mission2/robo_map2.png,50%,¸òº¹ÅÀ¤òÁ°¿ÊÄ̲᤹¤ëºÝ¤Î¥»¥ó¥µ¤ÎÆ°¤);
¸òº¹ÅÀ¤ò¼±ÊÌ¢ª¸òº¹ÅÀ¤ÇÄä»ß¤¹¤ë¤«¤·¤Ê¤¤¤«¢ªÇò¤¤Éôʬ¤Ë½Ð¤ë¤Þ¤ÇÁ°¿Ê¡Ê²èÁü¤Ç¤Î¡¡Ë¢ª´ð½àÀþ¤Ë¾è¤ë¤Þ¤Ç²óž¡Ê²èÁü¤Ç¤Î¢¡Ë
¡¡°Ê¾å¤Î¤è¤¦¤Êή¤ì¤Ç¸òº¹ÅÀ¤òÄ̲᤹¤ë¡£
¡¡¤Þ¤¿¡¢go_corner(int ¡)¤È¤·¤¿¤È¤¡¢¡¤Ï¸òº¹ÅÀǧ¼±»þ¤Ë1ÉôÖÄä»ß¤¹¤ë¤«¤·¤Ê¤¤¤«¤òÁªÂò¤Ç¤¤ë¡ÊÄä»ß¤¹¤ë¢ª1¡¢Ää»ß¤·¤Ê¤¤¢ª0¡Ë¤³¤È¤òɽ¤·¤Æ¤¤¤ë¡£
¡¡Îã¡Ë¸òº¹ÅÀ¼±Ê̸塢1ÉôÖÄä»ß¸å¡¢Á°¿Ê¤·¸òº¹ÅÀ¤òÄ̲᤹¤ë¡£¡¡go_corner(1);
sub go_corner(int cornerselect) // wait¢ª¡Ö1¡× through¢ª¡Ö0¡×
{
Wait(corner_wait*cornerselect);¡¡¡¡//¡¡¸òº¹ÅÀ¤ÇÄä»ß¤¹¤ë¤«¤·¤Ê¤¤¤«
while(sensor2<white-3){¡¡¡¡¡¡¡¡¡¡¡¡//¡¡Çò¤¤Éôʬ¤Ë½Ð¤ë¤Þ¤ÇÁ°¿Ê
OnFwd(OUT_A,corner_standardA);
OnFwd(OUT_B,corner_standardB);
}
Off(OUT_AB);
Wait(500);¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ //¡¡´ð½àÀþ¤Ë¾è¤ë¤Þ¤Ç²óž
while(sensor2>threshold){
OnFwd(OUT_A,corner_standardA);
OnRev(OUT_B,corner_standardB*0.5);
}
Off(OUT_AB);
Wait(500);
}
¢¡¡¸òº¹ÅÀ¼±Ê̸塢±¦ÀÞ¤·¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³«»Ï¤¹¤ë¡£
&ref(2017b/Member/yuitom/Mission2/robo_map3.png,50%,¸òº¹ÅÀ¤ò±¦ÀÞÄ̲᤹¤ëºÝ¤Î¥»¥ó¥µ¤ÎÆ°¤);
¸òº¹ÅÀ¤ò¼±ÊÌ¢ª¸òº¹ÅÀ¤ÇÄä»ß¤¹¤ë¤«¤·¤Ê¤¤¤«¢ªÇò¤¤Éôʬ¤Ë½Ð¤ë¤Þ¤Ç±¦Àû²ó¡Ê²èÁü¤Ç¤Î¡¡Ë¢ª´ð½àÀþ¤Ë¾è¤ë¤Þ¤Çº¸Àû²ó¡Ê²èÁü¤Ç¤Î¢¡Ë¢ª±¦º¸¥é¥¤¥óÁªÂò
¡¡°Ê¾å¤Î¤è¤¦¤Êή¤ì¤Ç¸òº¹ÅÀ¤ò±¦ÀÞ¤¹¤ë¡£
¡¡¤Þ¤¿¡¢turn_right(int ¡,int ¢)¤È¤·¤¿¤È¤¡¢¡¤Ï¸òº¹ÅÀǧ¼±»þ¤Ë1ÉôÖÄä»ß¤¹¤ë¤«¤·¤Ê¤¤¤«¤òÁªÂò¤Ç¤¤ë¡ÊÄä»ß¤¹¤ë¢ª1¡¢Ää»ß¤·¤Ê¤¤¢ª0¡Ë¤³¤È¤òɽ¤·¡¢¢¤Ï¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë¥é¥¤¥ó¤ò±¦Â¦¤Ë¤¹¤ë¤«º¸Â¦¤Ë¤¹¤ë¤«¤òÁªÂò¡Ê±¦Â¦¢ª1¡¢º¸Â¦¢ª-1¡Ë¤Ç¤¤ë¤³¤È¤òɽ¤·¤Æ¤¤¤ë¡£
¡¡Îã¡Ë¸òº¹ÅÀ¼±Ê̸塢Ää»ß¤»¤º¤Ë¸òº¹ÅÀ¤ò±¦ÀÞ¤·±¦Â¦¤Î¥é¥¤¥ó¤Îü¤Ë¾è¤ë¡£
¡¡¡¡¡¡turn_right(0,1);
sub turn_right(int cornerselect,int after_lineselect) // ¡Ê¸òº¹ÅÀÂÔµ¡ÁªÂò,Ä̲á¸å¥é¥¤¥óÁªÂò¡Ë
{
Wait(corner_wait*cornerselect);
while(sensor2<white-3){
OnRev(OUT_A,corner_standardA);
OnFwd(OUT_B,corner_standardB);
}
Off(OUT_AB);
Wait(500);
while(sensor2>threshold){
OnFwd(OUT_A,corner_standardA);
OnRev(OUT_B,corner_standardB);
}
Off(OUT_AB);
Wait(500);
linetrace_release(afterselect_time,after_lineselect);
}
£¡¡¸òº¹ÅÀ¼±Ê̸塢º¸ÀÞ¤·¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³«»Ï¤¹¤ë¡£
¡¡Î®¤ì¡¢Æ°ºî¤È¤â¤Ë¡¢¡Ö¢¡¡¸òº¹ÅÀ¼±Ê̸塢±¦ÀÞ¤·¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³«»Ï¤¹¤ë¡£¡×¤ÎÃæ¤Î±¦ÀÞ¤òº¸ÀÞ¤ËÆþ¤ìÊѤ¨¤¿¤À¤±¤Î¤â¤Î¤Ç¤¢¤ë¤¿¤á¡¢ÀâÌÀ¤Ï¾Êά¤¹¤ë¡£
sub turn_left(int cornerselect, int after_lineselect) // ¡Ê¸òº¹ÅÀÂÔµ¡ÁªÂò,Ä̲á¸å¥é¥¤¥óÁªÂò¡Ë
{
Wait(corner_wait*cornerselect);
while(sensor2<white-3){
OnFwd(OUT_A,corner_standardA);
OnRev(OUT_B,corner_standardB);
}
Off(OUT_AB);
Wait(500);
while(sensor2>threshold){
OnRev(OUT_A,corner_standardA);
OnFwd(OUT_B,corner_standardB);
}
Off(OUT_AB);
Wait(500);
linetrace_release(afterselect_time,after_lineselect);
}
¡ü¸òº¹ÅÀÄ̲á¸å¥é¥¤¥óÁªÂò¤Ë¤Ä¤¤¤Æ¡Ê²ÝÂꥤβò·è¡Ë
¡¡²¿ÅÙ¤â½Ò¤Ù¤Æ¤¤¤ë¤è¤¦¤Ë¡¢¤³¤Î¥×¥í¥°¥é¥à¾å¤Ç¤Ï¸òº¹ÅÀ¼±ÊÌ»þ´Ö¤¬Èó¾ï¤Ëû¤¯¡¢¹õÀþ¤ËÂФ·¤Æ¤Îµ¡ÂΤοÊÆþ³ÑÅÙ¤¬Â礤¤¤È¡¢¤½¤³¤ò¸òº¹ÅÀ¤Ç¤¢¤ë¤È¸íǧ¤·¤Æ¤·¤Þ¤¦´í¸±À¤¬¹â¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£¤³¤Î¤³¤È¤«¤é¡¢¸òº¹ÅÀ¤òÄ̲ᤷ¤¿¸å¤Ë¡¢¹õÀþ¤ËÂФ¹¤ëµ¡ÂΤοÊÆþ³ÑÅÙ¤ò³ê¤é¤«¤Ë¤¹¤ë¤¿¤á¤Î»ÅÁȤߤ¬É¬ÍפˤʤäƤ¤¿¡£¤½¤Î¤¿¤á¤Ë¡¢»ä¤¬¹Í¤¨¤¿¤â¤Î¤¬¤³¤Î¡Ö¸òº¹ÅÀÄ̲á¸å¥é¥¤¥óÁªÂò¡×¤Ç¤¢¤ë¡£
¡¡¸òº¹ÅÀÄ̲á¸å¥é¥¤¥óÁªÂò¤È¤Ï¡¢¸òº¹ÅÀ¤òÄ̲ᤷ¤¿¸å¤Ëº¸±¦¤É¤Á¤é¤Î¥é¥¤¥ó¤Îü¤ò¥é¥¤¥ó¥È¥ì¡¼¥¹¤·¤Æ¤¤¤¯¤«¤ò·è¤á¤ë¤â¤Î¤Ç¤¢¤ê¡¢¤³¤Î¥×¥í¥°¥é¥à¤òÆþ¤ì¤ë¤³¤È¤Ç¡¢¸òº¹ÅÀ¤ÎÄ̲á¸å¤Îµ¡ÂΤγÑÅ٤˴ط¸¤Ê¤¯¡¢Àµ³Î¤Ë¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³«»Ï¤¹¤ë¤³¤È¤ËÀ®¸ù¤·¤¿¡£
-¸òº¹ÅÀÄ̲á¸å¥é¥¤¥óÁªÂò¤Î»ÅÊý
¡¡¸òº¹ÅÀÄ̲á¸å¥é¥¤¥óÁªÂò¤Ç¤Ï¡¢¡ÖÈæÎãÀ©¸æ¤È5Ãʳ¬À©¸æ¤òÁȤ߹ç¤ï¤»¤ë¤¿¤á¤Ë¡Ä¡×¤Î¡Ö¡¦s»ú¥«¡¼¥Ö¤ËÂбþ¤¹¤ë¤¿¤á¤Ë¡Ä¡×¤ÇÀâÌÀ¤·¤¿¡Ölinetrace_release¡×¤ò»ÈÍѤ·¤Æ¤¤¤ë¡£
¡¡¡Ölinetrace_release¡×¤Ç¤Ï»ØÄꤷ¤¿»þ´Ö¤Î´Ö¡¢¸òº¹ÅÀǧ¼±¤Îµ¡Ç½¤ò²ò½ü¤·¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¹Ô¤¦¤È¤¤¤¦¤â¤Î¤Ç¤¢¤ë¡£¤³¤Îµ¡Ç½¤ÏÄ̾ï¤Î¡Ö¸òº¹ÅÀ¼±Ê̥饤¥ó¥È¥ì¡¼¥¹¡×¤Î¥×¥í¥°¥é¥à¤«¤é¡¢¸òº¹ÅÀ¼±Ê̤ε¡Ç½¤òÈ´¤¤¤¿¤À¤±¤Î¤â¤Î¤Ç¤¢¤ë¤¿¤á¡¢¤³¤Î¥×¥í¥°¥é¥à¤òû»þ´Öµ¡Ç½¤µ¤»¤ë¤³¤È¤Ç¡¢¹õÀþ¤ËÂФ¹¤ëµ¡ÂΤοÊÆþ³ÑÅÙ¤ò¶¯À©Åª¤Ë³ê¤é¤«¤Ë¤Ç¤¤ë¤Î¤Ç¤Ï¤Ê¤¤¤«¤È¹Í¤¨¤¿¡£
-·ë²Ì
¡¡·ë²Ì¤Ï¡¢¤½¤ì¤Þ¤Ç¸òº¹ÅÀ¤òÄ̲ᤷ¤¿¸å¤Ë¸òº¹ÅÀ¤À¤È¸íǧ¤¹¤ë¤³¤È¤¬¤Û¤È¤ó¤É¤À¤Ã¤¿¤Î¤ËÂФ·¡¢¤³¤Î¥×¥í¥°¥é¥à¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¸òº¹ÅÀÄ̲á¸å¤Ë¸òº¹ÅÀ¤À¤È¸íǧ¤¹¤ë¤³¤È¤¬Ìµ¤¯¤Ê¤Ã¤¿¡£
**¥³¥Ã¥×¤òÆþ¼ê¤¹¤ë [#ofaf6564]
¡¡Âè3¥³¡¼¥¹¤Ç¤Ï¥³¥Ã¥×¤òÆþ¼ê¤·¥é¥¤¥ó¥È¥ì¡¼¥¹¤ËÉüµ¢¤¹¤ë¤¿¤á¤Ë¡¢U¥¿¡¼¥ó¤¬É¬ÍפȤʤ롣
¡¡º£²ó¡¢U¥¿¡¼¥ó¤Ë¤ª¤¤¤Æ¤â¡ÖÅÅÃÓ»ÄÎ̤˺¸±¦¤µ¤ì¤Ê¤¤¸òº¹ÅÀ¤ÎÄ̲á¡×ƱÍͤËÅÅÃӤˤè¤Ã¤ÆÆ°ºî¤¬ÊѲ½¤·¤Ê¤¤¤è¤¦¤Ë¡¢¤Ç¤¤ë¸Â¤ê¸÷¥»¥ó¥µ¤òÍѤ¤¤¿Æ°ºî¤ò´ðËܤȤ·¤Æ¼è¤êÆþ¤ì¤¿¥×¥í¥°¥é¥à¤òºîÀ®¤·¤¿¡£¡Ê¡Ö²ÝÂꤡ¡¥³¥Ã¥×¤ÎÆþ¼ê¤È¥ê¥ê¡¼¥¹¤ÎÆ°ºî¤òÅÅÃÓ»ÄÎ̤˺¸±¦¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¡£¡×¤Î²ò·è¡Ë
-Æ°ºî¤Îή¤ì
&ref(2017b/Member/yuitom/Mission2/robo_map5.jpg,80%,¥³¥Ã¥×Æþ¼ê¸å¤Îή¤ì);
¥³¥Ã¥×¤òÆþ¼ê¡Ê²èÁü¤Ç¤Î¡¡Ë¢ª´ð½àÀþ¤Î¾è¤ë¤Þ¤Çº¸¤Ø¶Ê¤¬¤ë¡Ê²èÁü¤Ç¤Î¢¡Ë¢ª¾¯¤·Á°¤Ø¿Ê¤à¡Ê²èÁü¤Ç¤Î£¡Ë¢ªÇò¤¤Éôʬ¤Ë½Ð¤ë¤Þ¤Çº¸Àû²ó¡Ê²èÁü¤Ç¤Î¤¡Ë¢ª´ð½àÀþ¤Ë¾è¤ë¤Þ¤Çº¸Àû²ó¡Ê²èÁü¤Ç¤Î¥¡Ë
¡¡°Ê¾å¤Î¤è¤¦¤Ê¡¢º¸²ó¤ê¤Îή¤ì¤ÇU¥¿¡¼¥ó¤·¤Æ¤¤¤¯¡£¤Þ¤¿¡¢¤³¤Î»þ¡Ö¾¯¤·Á°¤Ø¿Ê¤à¡×¤È¤¤¤¦Æ°ºî¤¬Æþ¤ëÍýͳ¤È¤·¤Æ¤Ï¡¢¤³¤ÎÆ°ºî¤¬¤Ê¤¤¤ÈËÜÍèDC¶è´Ö¤Ç¥»¥ó¥µ¤ò¥é¥¤¥ó¤Ë¾è¤»¤ëɬÍפ¬¤¢¤ë¤Î¤À¤¬¡¢²ó¤êÀڤ줺¤ËCF¶è´Ö¤Î¥é¥¤¥ó¤Ë¥»¥ó¥µ¤¬¾è¤Ã¤Æ¤·¤Þ¤¦¤¿¤á¤Ç¤¢¤ë¡£
sub get_cup() // ¥³¥Ã¥×¤Î³ÍÆÀ
{
OnRev(OUT_A,corner_standardA); // µ¡¼ó¤ò¥³¥Ã¥×¤Ë¸þ¤±¤ë
OnFwd(OUT_B,corner_standardB);
Wait(corner_time+120);
Off(OUT_AB);
Wait(1000);
catch // ¥³¥Ã¥×¤Î³ÍÆÀ
PlaySound(SOUND_UP);
U_turn(); // U¥¿¡¼¥ó
}
sub U_turn() // U¥¿¡¼¥ó
{
while(sensor2<threshold){ // ´ð½àÀþ¤Î¾è¤ë¤Þ¤Çº¸¤Ø¶Ê¤¬¤ë
OnRev(OUT_A,corner_standardA);
OnFwd(OUT_B,20);
}
Off(OUT_AB);
Wait(500);
linetrace_release(500,1); // ¾¯¤·Á°¤Ø¿Ê¤à
while(sensor2<white-2){ // Çò¤¤Éôʬ¤Ë½Ð¤ë¤Þ¤Çº¸Àû²ó
OnRev(OUT_A,corner_standardA);
OnFwd(OUT_B,corner_standardB);
}
Off(OUT_AB);
Wait(500);
while(sensor2>threshold){ // ´ð½àÀþ¤Ë¾è¤ë¤Þ¤Çº¸Àû²ó
OnRev(OUT_A,corner_standardA);
OnFwd(OUT_B,corner_standardB);
}
Off(OUT_AB);
Wait(500);
}
**¥³¥Ã¥×¤Î¥ê¥ê¡¼¥¹ [#nba6760a]
¡¡Âè»°¥³¡¼¥¹¤Ç¤ÏXÃÏÅÀ¤Ë¥³¥Ã¥×¤ò±¿È¤·±ß¤ÎÃæ¤Ë¥³¥Ã¥×¤òÇÛÃÖ¤¹¤ë¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£¤½¤Î¤¿¤á¤ËɬÍפˤʤë¥×¥í¥°¥é¥à¤Ï¡Ö¤¤¤«¤Ë¤·¤Æ¥³¥Ã¥×¤ò±ß¤ÎÃæ¤ËÃÖ¤¡¢¥é¥¤¥ó¥È¥ì¡¼¥¹¤ËÉüµ¢¤¹¤ë¤«¡×¤Ç¤¢¤ë¡£
¤Þ¤¿¡¢¤³¤ÎºÝ¤â¾¤Î¥×¥í¥°¥é¥à¤ÈƱÍͤˡÖÅÅÃÓ»ÄÎ̤˺¸±¦¤µ¤ì¤Ê¤¤¸òº¹ÅÀ¤ÎÄ̲á¡×ƱÍͤËÅÅÃӤˤè¤Ã¤ÆÆ°ºî¤¬ÊѲ½¤·¤Ê¤¤¤è¤¦¤Ë¡¢¤Ç¤¤ë¸Â¤ê¸÷¥»¥ó¥µ¤òÍѤ¤¤¿Æ°ºî¤ò´ðËܤȤ·¤Æ¼è¤êÆþ¤ì¤¿¥×¥í¥°¥é¥à¤òºîÀ®¤¹¤ë¤è¤¦¤ËÃí°Õ¤·¤¿¡£¡Ê¡Ö²ÝÂꤡ¡¥³¥Ã¥×¤ÎÆþ¼ê¤È¥ê¥ê¡¼¥¹¤ÎÆ°ºî¤òÅÅÃÓ»ÄÎ̤˺¸±¦¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¡£¡×¤Î²ò·è¡Ë
-Æ°ºî¤Îή¤ì
&ref(2017b/Member/yuitom/Mission2/robo_map4.jpg,80%,¥³¥Ã¥×¥ê¥ê¡¼¥¹¤Îή¤ì¤Î´Êά¿Þ);
±ß¤ÎÆ⦤ò¤¿¤É¤ê¥é¥¤¥ó¥È¥ì¡¼¥¹¡Ê»þ´ÖÀ©¸Â¡Ë¢ªÇò¤ÎÉôʬ¤Ë½Ð¤ë¤Þ¤Ç¸å¤í¤Ø²¼¤¬¤ê¤Ä¤Ä±¦²óž¡Ê²èÁü¤Ç¤Î¡¡Ë
¢ª¹õ¤Î¥é¥¤¥ó¤Ë´°Á´¤Ë¾è¤ë¤Þ¤Ç¸å¤í¤Ø²¼¤¬¤ê¤Ä¤Ä±¦²óž¡Ê²èÁü¤Ç¤Î¢¡Ë¢ª»ØÄê»þ´ÖÁ°¿Ê¢ª¥³¥Ã¥×¤Î¥ê¥ê¡¼¥¹¡Ê²èÁü¤Ç¤Î£¤¡Ë
¢ª¹õ¤Î¥é¥¤¥ó¤Ë´°Á´¤Ë¾è¤ë¤Þ¤Ç¸åÂà¡Ê²èÁü¤Ç¤Î¥¡Ë¢ªÇò¤ÎÉôʬ¤Ë½Ð¤ë¤Þ¤Ç±¦²óž¢ª´ð½àÀþ¤Ë¾è¤ë¤Þ¤Ç±¦²óž¡Ê²èÁü¤Ç¤Î¦¡Ë¢ª±¦º¸¥é¥¤¥óÁªÂò
¤È¤¤¤¦Î®¤ì¤Ç¥³¥Ã¥×¤òÃÖ¤¤¤Æ¤¤¤ë¡£
sub put_cup(int after_lineselect) // ¥³¥Ã¥×¥ê¥ê¡¼¥¹¡Ê¹ÔÆ°½ªÎ»¸å¥é¥¤¥óÁªÂò¡Ë
{
while(sensor2<white-2){ // Çò¤ÎÉôʬ¤Ë½Ð¤ë¤Þ¤Ç¸å¤í¤Ø²¼¤¬¤ê¤Ä¤Ä±¦²óž
OnRev(OUT_A,corner_standardA);
}
Off(OUT_B);
Wait(250);
while(sensor2>threshold-10){ // ¹õ¤Î¥é¥¤¥ó¤Ë´°Á´¤Ë¾è¤ë¤Þ¤Ç¸å¤í¤Ø²¼¤¬¤ê¤Ä¤Ä±¦²óž
OnRev(OUT_A,corner_standardA);
}
Off(OUT_AB);
Wait(250);
OnFwd(OUT_A,30); // »ØÄê»þ´ÖÁ°¿Ê
OnFwd(OUT_B,30);
Wait(500);
Off(OUT_AB);
Wait(500);
release // ¥³¥Ã¥×¤Î¥ê¥ê¡¼¥¹
PlaySound(SOUND_DOWN);
while(sensor2>threshold-10){ // ¹õ¤Î¥é¥¤¥ó¤Ë´°Á´¤Ë¾è¤ë¤Þ¤Ç¸åÂà
OnRev(OUT_A,30);
OnRev(OUT_B,30);
}
Off(OUT_AB);
while(sensor2<white-2){ // Çò¤ÎÉôʬ¤Ë½Ð¤ë¤Þ¤Ç±¦²óž
OnFwd(OUT_A,corner_standardA);
}
Off(OUT_B);
Wait(250);
while(sensor2>threshold){ // ´ð½àÀþ¤Ë¾è¤ë¤Þ¤Ç±¦²óž
OnFwd(OUT_A,corner_standardA);
}
Off(OUT_AB);
linetrace_release(afterselect_time,after_lineselect); // ±¦º¸¥é¥¤¥óÁªÂò
}
*Âè»°¥³¡¼¥¹¹¶Î¬ [#z909bd72]
**¥³¡¼¥¹¤Î¶è²èʬ¤± [#af3f5718]
&ref(2017b/Member/yuitom/Mission2/robo_map6.jpg,80%,¥³¡¼¥¹5ʬ³ä¤Î¿§Ê¬¤±);
¡¡º£²ó¡¢¥×¥í¥°¥é¥ß¥ó¥°¤ò¤è¤êÄûÀµ¤Î¤·¤ä¤¹¤¯¡¢¤è¤ê¸«¤ä¤¹¤¯¤¹¤ë¤¿¤á¤Ë°Ê²¼¤Î¤è¤¦¤ËÂè»°¥³¡¼¥¹¤ò5ʬ³ä¤·¤Æ¹Í¤¨¤¿¡£
¡¡¡Âè1¥¹¥Æ¡¼¥¸¡ÊA¢ªD¢ªC¢ªD¡Ë¡¡¥Ý¥¤¥ó¥È¡Ö¥³¥Ã¥×¤Î¼èÆÀ¤ÈU¥¿¡¼¥ó¡×
¢¡¡Âè2¥¹¥Æ¡¼¥¸¡ÊD¢ªC¢ªF¡Ë¡¡¥Ý¥¤¥ó¥È¡ÖF¸òº¹ÅÀ¤Îľ¿Ê¡×
£¡¡Âè3¥¹¥Æ¡¼¥¸¡ÊF¢ªE¢ªR¡Ë¡¡¥Ý¥¤¥ó¥È¡ÖFE¶è´Ö¤Îs»ú¥«¡¼¥Ö¡×
¤¡¡Âè4¥¹¥Æ¡¼¥¸¡ÊR¢ªP¢ªQ¡Ë¡¡¥Ý¥¤¥ó¥È¡Ö¥³¥Ã¥×¤Î¥ê¥ê¡¼¥¹¡×
¥¡¡ºÇ½ª¥¹¥Æ¡¼¥¸¡ÊQ¢ªS¢ªF¢ªC¢ªD¡Ë¡¡¥Ý¥¤¥ó¥È¡Ö4Ϣ³¤Îľ³Ñ¥«¡¼¥Ö¡×
¡¡¤½¤ì¤¾¤ì¤Î¥¹¥Æ¡¼¥¸¤Ç¤ÎÆñÅÀ¤È¤½¤ì¤ËÂФ¹¤ë²ò·èºö¤ò¸«¤Æ¤¤¤³¤¦¤È»×¤¦¡£
¡¡¡Âè1¥¹¥Æ¡¼¥¸¡ÊA¢ªD¢ªC¢ªD¡Ë
-A¢ªD¡¡ÆñÅÀ¡§A¢ªB¢ªC¢ªD¤Î¤è¤¦¤Ë¤¿¤É¤ë¤È¡¢¹ç·×2¤Ä¤â¤Î¸òº¹ÅÀ¤¬¤¢¤ê¥×¥í¥°¥é¥ß¥ó¥°¤¬Èó¾ï¤ËŤ¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£
¡¡²ò·èºö¡§¥é¥¤¥ó¤Î±¦Â¦¤Ç¤Ê¤¯º¸Â¦¤ò¤¿¤É¤ë¤³¤È¤Ç¡¢A¢ªD¤Þ¤Ç°ìÅ٤Ǥ¿¤É¤êÃ夯¤³¤È¤¬¤Ç¤¡¢¥×¥í¥°¥é¥ß¥ó¥°¤ÎÎ̤âÍÞ¤¨¤ë¤³¤È¤¬¤Ç¤¤ë¡£
-D¡¡ÆñÅÀ¡§¥³¥Ã¥×¤Î¼èÆÀ¤ÈU¥¿¡¼¥ó
¡¡²ò·èºö¡§ÅÅÃÓ»ÄÎ̤ÇÆ°ºî¤Ë±Æ¶Á¤òµÚ¤Ü¤µ¤Ê¤¤¤è¤¦¤Ê¥×¥í¥°¥é¥ß¥ó¥°¤òºîÀ®¡£¤Þ¤¿¡¢¥¢¡¼¥à¤Î²þÎɤˤè¤ê¥³¥Ã¥×¤Î¼èÆÀÀ®¸ùΨ¤ò¾å¾º¤µ¤»¤¿¡£
sub the_first() // Âè1¥¹¥Æ¡¼¥¸¡¡¥³¥Ã¥×¤Î¼èÆÀ¡ÖA¢ªD¢ªC¢ªD¡×
{
linetrace_restriction(-1); // A¢ªD
get_cup(); // ¥³¥Ã¥×¤Î³ÍÆÀ
}
¢¡¡Âè2¥¹¥Æ¡¼¥¸¡ÊD¢ªC¢ªF¡Ë
-C¡¡ÆñÅÀ¡§DC¶è´Ö¤Îû¤µ¤Ë¤è¤ëU¥¿¡¼¥ó¤Î¼ºÇÔ
¡¡²ò·èºö¡§U¥¿¡¼¥ó¥×¥í¥°¥é¥à¤Î²þÎÉ¡Ê¡Ö¾¯¤·¤ÎÁ°¿Ê¡×¤ò²Ã¤¨¤ë¡Ë
-F¡¡ÆñÅÀ¡§¸òº¹ÅÀľ¿Ê¸å¤ÎÆ°ºî¤ÎÄä»ß
¡¡²ò·èºö¡§¸¶°ø¤Ï¤ï¤«¤é¤Ê¤«¤Ã¤¿¤¬¡¢¤ª¤½¤é¤¯ÅÅÃӤξÃÌפˤè¤ê20¤È¤¤¤Ã¤¿Â®Å٤Ǥϥ⡼¥¿¡¼¤¬²óž¤¹¤ë¤³¤È¤¬¤Ç¤¤Ê¤«¤Ã¤¿¤¿¤á¤È¹Í¤¨¤é¤ì¤ë¡£¤½¤Î¤¿¤á¡¢¸òº¹ÅÀÄ̲á»þ¤Î®ÅÙ¤òÂ礤¯¤¹¤ë¤³¤È¤Ç¡¢Æ°ºî¤ÎÄä»ß¤òÍÞ¤¨¤¿¡£
sub the_second() // Âè2¥¹¥Æ¡¼¥¸ ¥³¥Ã¥×¤Î±¿È¡ÖD¢ªC¢ªF¡×
{
linetrace_restriction(-1);
turn_left(0,1); // C
linetrace_restriction(1);
go_corner(1); // F
}
£¡¡Âè3¥¹¥Æ¡¼¥¸¡ÊF¢ªE¢ªR¡Ë
-F¢ªE¡¡ÆñÅÀ¡§s»ú¥«¡¼¥Ö¤Ç¤Î¸òº¹ÅÀ¸íǧ¼±
¡¡²ò·èºö¡§¡Ölinetrace_release¡×¤òºîÀ®¤¹¤ë¤³¤È¤Ç¡¢»ØÄꤷ¤¿»þ´Öʬ¸òº¹ÅÀǧ¼±¤ò²ò½ü¤·¤¿¾õÂÖ¤ÇÁö¹Ô¤¹¤ë¤³¤È¤¬²Äǽ¤È¤Ê¤Ã¤¿¤¿¤á¡¢s»ú¥«¡¼¥Ö¤ò¶Ê¤¬¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤Ã¤¿¡£¤Þ¤¿¤³¤Î»þ¤Î»þ´Ö¤ò15ÉäÈÀßÄꤷ¤Æ¤¤¤ë¤¬¡¢¤³¤ì¤Ï²¿²ó¤«¥Æ¥¹¥ÈÁö¹Ô¤µ¤»·è¤á¤¿ÃͤǤ¢¤ë¡£
-E¡¡ÆñÅÀ¡§Eº¸ÀÞ¸å¤ËËè²óȯÀ¸¤¹¤ë¸òº¹ÅÀ¸íǧ¼±
¡¡²ò·èºö¡§¡Ölinetrace_release¡×¤òÍѤ¤¤¿¹ÔÆ°½ªÎ»¸å¥é¥¤¥óÁªÂòµ¡Ç½¤ÎÄɲäˤè¤ê¡¢¸òº¹ÅÀ¤Î¸íǧ¤òÍÞ¤¨¤ë¤³¤È¤ËÀ®¸ù¤·¤¿¡£
sub the_third() // Âè3¥¹¥Æ¡¼¥¸¡¡¥³¥Ã¥×¤Î±¿È¡ÖF¢ªE¢ªR¡×
{
PlaySound(SOUND_CLICK);
linetrace_release(15000,1); // F¢ªEÅÓÃæÃÏÅÀ
PlaySound(SOUND_LOW_BEEP);
linetrace_restriction(1); // EÅÓÃæÃÏÅÀ¢ªE
turn_right(0,1); // E
linetrace_restriction(1);
OnFwd(OUT_AB,-30); // F
Wait(50);
Off(OUT_AB);
turn_left(1,1);
}
¤¡¡Âè4¥¹¥Æ¡¼¥¸¡ÊR¢ªP¢ªQ¡Ë
-P¡¡ÆñÅÀ¡§P¤Î¸òº¹ÅÀ¤Ç¤Î¸òº¹ÅÀ¼±Ê̵¡Ç½¤Î̤ȿ±þ
¡¡²ò·èºö¡§R¢ªP¢ªQ¤È±ß¤Î³°¤ò²ó¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢R¢ªQ¤È±ß¤ÎÆ⦤ò¥é¥¤¥ó¥È¥ì¡¼¥¹¤µ¤»¤ë¤³¤È¤Ç¡¢PÃÏÅÀ¤ÎÄ̲á¤ËÀ®¸ù¤·¤¿¡£¤Ê¤ª¡¢PQ¶è´Ö¤Ç¤Î¥³¥Ã¥×¤Î¥ê¥ê¡¼¥¹¤Ë´Ø¤·¤Æ¤Ï¡Ölinetrace_release¡×¤Î»þ´ÖÀ©¸Â¤Îµ¡Ç½¤òÍѤ¤¡¢¤À¤¤¤¿¤¤PQ¶è´ÖÆâ¤Ë¤¤¤ë¤Ç¤¢¤í¤¦»þ´Ö¤ò»ØÄꤷ¤Æ¥³¥Ã¥×¤ò¥ê¥ê¡¼¥¹¤·¤Æ¤¤¤ë¡£
-P¢ªQ¡¡ÆñÅÀ¡§¥³¥Ã¥×¤Î¥ê¥ê¡¼¥¹
¡¡²ò·èºö¡§ÅÅÃÓ»ÄÎ̤ÇÆ°ºî¤Ë±Æ¶Á¤òµÚ¤Ü¤µ¤Ê¤¤¤è¤¦¤Ê¥×¥í¥°¥é¥ß¥ó¥°¤òºîÀ®¤¹¤ë¤³¤È¤Ç¡¢¥³¥Ã¥×¤Î¥ê¥ê¡¼¥¹¤ÎÀ®¸ùΨ¤ò¹â¤á¤ë¤³¤È¤ËÀ®¸ù¤·¤¿¡£
sub the_fourth() //¡¡Âè4¥¹¥Æ¡¼¥¸ ¥³¥Ã¥×¤ÎÇÛÃÖ¡ÖR¢ªP¢ªQ¡×
{
PlaySound(SOUND_CLICK);
linetrace_release(5000,1); // R¢ª¥³¥Ã¥×ÇÛÃÖ¾ì½ê
Off(OUT_AB);
PlaySound(SOUND_LOW_BEEP);
Wait(500);
put_cup(-1); // ¥³¥Ã¥×¤ÎÇÛÃÖ
linetrace_restriction(-1); // ¥³¥Ã¥×ÇÛÃÖ¾ì½ê¢ªQ
}
¥¡¡ºÇ½ª¥¹¥Æ¡¼¥¸¡ÊQ¢ªS¢ªF¢ªC¢ªD¡Ë
-Q,S,F,C¡¡ÆñÅÀ¡§¸òº¹ÅÀ¤Î±¦ÀÞº¸ÀÞ¸å¤ËÉÑÈˤËȯÀ¸¤¹¤ë¸òº¹ÅÀ¸íǧ¼±
¡¡²ò·èºö¡§Âè3¥¹¥Æ¡¼¥¸¤ÈƱÍͤˡ¢¡Ölinetrace_release¡×¤òÍѤ¤¤¿¹ÔÆ°½ªÎ»¸å¥é¥¤¥óÁªÂòµ¡Ç½¤ÎÄɲäˤè¤ê¡¢¸òº¹ÅÀ¤Î¸íǧ¤òÍÞ¤¨¤ë¤³¤È¤ËÀ®¸ù¤·¤¿¡£
sub the_fifth() //¡¡ºÇ½ª¥¹¥Æ¡¼¥¸ ¥´¡¼¥ëÃÏÅÀ¤Ø¤Î°ÜÆ°¡ÖQ¢ªS¢ªF¢ªC¢ªD¡×
{
turn_left(0,-1); // Q
linetrace_restriction(-1);
turn_right(1,1); // S
linetrace_restriction(1);
turn_left(1,-1); // F
linetrace_restriction(-1);
turn_right(1,1); // C
linetrace_release(500,1);
finish // D¡¡¥´¡¼¥ë
}
**task main()Âè»°¥³¡¼¥¹¹¶Î¬ [#r927da9c]
¡¡¾åµ¤Î¶è²èʬ¤±¡ÊÂè1¡ÁºÇ½ª¥¹¥Æ¡¼¥¸¡Ë¤Þ¤Ç¤ò¹ç¤ï¤»¤¿¤â¤Î¤¬¡¢º£²óËÜÈ֤ǻÈÍѤµ¤ì¤¿¥×¥í¥°¥é¥ß¥ó¥°¤È¤Ê¤ë¡£
task main()
{
SetSensorLight(S2);
the_first();
the_second();
the_third();
the_fourth();
the_fifth();
}
*¤Þ¤È¤á [#k872feae]
¡¡º£²ó¤Ï¡¢¤è¤ê°ÂÄꤷ¤¿¡¢¤è¤êÀµ³Î¤Ê¥é¥¤¥ó¥È¥ì¡¼¥¹¤òÌܻؤ·¤Æ¥í¥Ü¥Ã¥È¡¢¥×¥í¥°¥é¥ß¥ó¥°¤ÎºîÀ®¤ò¹Ô¤Ã¤¿¡£·ë²ÌËÜÈ֤Ǥϡ¢¸«»ö²ÝÂê¤ò¥¯¥ê¥¢¤¹¤ë¤³¤È¤¬¤Ç¤¤¿¤Î¤Ç¤¢¤ë¤¬¡¢¤â¤¦°ì¿Í¤ÎÂè3¥³¡¼¥¹¤òôÅö¤·¤Æ¤¤¤ëÊý¤Ë®¤µ¤ÇÉ餱¤Æ¤·¤Þ¤Ã¤¿¤È¤¤¤¦¤³¤È¤¬Èó¾ï¤Ë²ù¤·¤«¤Ã¤¿¡£
¡¡¤½¤Î¤¿¤á¡¢»ä¤Ïº£²ó¤Î²ÝÂê¤Ç¡Ö®¤¯¡¢Àµ³Î¤Ë¡×¤Î½ÅÍ×À¤òÃΤ뤳¤È¤¬¤Ç¤¤¿¡£¤¤¤¯¤éÀµ³Î¤Ë»Å»ö¤ò¤³¤Ê¤¹¤³¤È¤¬¤Ç¤¤Æ¤â¡¢Â®¤¯¤Ê¤±¤ì¤Ð°ÕÌ£¤Ï¤Ê¤¯¡¢µÕ¤âƱ¤¸¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£
¡¡º£²ó¡¢¥×¥í¥°¥é¥ß¥ó¥°¤¬´°À®¤·¤¿¤Î¤¬ËÜÈÖ¤®¤ê¤®¤ê¤Ç¤¢¤Ã¤¿¤¿¤á¡¢Â®Å٤ˤޤǼê¤ò½Ð¤¹¤³¤È¤¬¤Ç¤¤Ê¤Ã¤¿¤¬¡¢º£¸å¤ÏÀµ³Î¤µ¤È®¤µ¤ÎξÊý¤òÈ÷¤¨¤¿¥í¥Ü¥Ã¥È¤òºîÀ®¤·¤Æ¤¤¤¤¿¤¤¤È¹Í¤¨¤Æ¤¤¤ë¡£
¥Ú¡¼¥¸Ì¾: