Ìܼ¡ †£±¡¢[²ÝÂê3]¤ÎÆâÍÆ †²«¿§¤¤¥Û¥¤¡¼¥ë¤ò2¸Ä°Ê¾åÏ¢¼Í¤¹¤ë¥í¥Ü¥Ã¥È¤òºîÀ®¤·¡¢°Ê²¼¤Îư¤¤ò¤¹¤ë¤è¤¦¤Ë¥×¥í¥°¥é¥à¤òºîÀ®¤»¤è¡£¤¿¤À¤·1,3¤Ï²ûÃæÅÅÅô¤ò2¸Ä»ÈÍѤ·¡¢¥í¥Ü¥Ã¥È¤ÎưºîÃæ¤Ï²ûÃæÅÅÅô¤òư¤«¤µ¤Ê¤¤¤¬¤¤¤í¤¤¤í¤Êµ÷Î¥¤äÊý¸þ¤Ë¤¢¤ë²ûÃæÅÅÅô¤ËÂбþ¤Ç¤¤ë¥í¥Ü¥Ã¥È¤Ë¤¹¤ë¤³¤È¡£2¤Ï²ûÃæÅÅÅô¤ò1¸Ä»ÈÍѤ·²ûÃæÅÅÅô¤ò¤æ¤Ã¤¯¤êư¤«¤¹¡£ (½ÅÊ£¤·¤Ê¤¤¤è¤¦¤Ë°ì¿Í°ì¤Ä°Ê¾å¤Î¥×¥í¥°¥é¥à¤òºîÀ®¤¹¤ë¤³¤È¡£2¿Í¤Î¥Á¡¼¥à¤Ï1¤È2¡¢3¿Í¤Î¥Á¡¼¥à¤Ï1¡Á3) ¡¡¡¡1. Á´Êý¸þ¤«¤é2¤Ä¤Î²ûÃæÅÅÅô¤ÎÊý¸þ¤òõ¤·¤À¤·¡¢²ûÃæÅÅÅô¤òÁÀ¤Ã¤Æ¥Û¥¤¡¼¥ë¤òÅꤲ¤ë¡£²Äǽ¤Ê¸Â¤êÀµ³Î¤ÊÊý¸þ¤ËÅꤲ¤ë¤³¤È¡£ ²ûÃæÅÅÅô¤ÎÂå¤ï¤ê¤Ë·ÈÂӤΥ饤¥È¤Ê¤É¤òÍøÍѤ·¤Æ¤â¤è¤¤¡£ »ÈÍѤ¹¤ë¥Û¥¤¡¼¥ë¤Î¼Ì¿¿¡£ £²¡¢¥á¥ó¥Ð¡¼¾Ò²ð †¡¡¡¡¥«¥ï¥·¥Þ¡¢¥Þ¥³¥È¡¢¥«¥º¤Î3¿Í¤Ç¤ä¤Ã¤Æ¤¤¤Þ¤¹¡£ £³¡¢¥í¥Ü¥Ã¥È¾Ò²ð †¡¡»°¿Í¤Ç°ìÂæ¤Î¥í¥Ü¥Ã¥È¤òÀ½ºî¤·¤Þ¤·¤¿¡£ ½ÅÍפʤªÃΤ餻(źÉÕ¤·¤¿¼Ì¿¿¤ÎÄûÀµ) †¡¡°Ê²¼¤Ë¾Ò²ð¤µ¤ì¤Æ¤¤¤ë¥í¥Ü¥Ã¥È¤Î¼Ì¿¿¤Ë¤ª¤¤¤ÆÄûÀµÅÀ¤¬¤¢¤Ã¤¿¤Î¤Çµ½Ò¤·¤Æ¤ª¤¤Þ¤¹¡£¸åÎØÉô¤Ë¤ª¤±¤ë¤Ä¤Ã¤«¤¨ËÀ¤ÎÉÕ¤¤¤¿¥®¥¢¤Î¤Ä¤Ã¤«¤¨ËÀ¤Î°ÌÃÖ¤¬²þÁ±Á°(ÀÖ¤¤Éôʬ)¤Î¤â¤Î¤Ç¤¢¤ê¡¢¼ÂºÝ¤Ï¥®¥¢¤ò¤Þ¤¿¤¤¤ÇÈ¿ÂЦ(ÎФÎÉôʬ)¤Ç¤·¤¿(²¼¿Þ»²¾È)¡£¤â¤·¼Ì¿¿¤Î¤Þ¤Þ¤À¤ÈÁ°¿Ê¤·¤¿ºÝ¤Ë±¦ÀÞ¤·¡¢º¸ÀÞ¤¹¤ëºÝ¤Ë¸å¿Ê¤·¤Æ¤·¤Þ¤¹¡¦¡¦¡¦¡£¤´ÌÂÏǤª¤«¤±¤·¤Þ¤·¤¿¡£ ʬ²ò¤¹¤ëÁ°¤Ë¼Ì¿¿¤ò»£¤ê˺¤ì¤Þ¤·¤¿(¡äO¡ã)¡£ ¥í¥Ü¥Ã¥È †¡¡¼Ì¿¿¤¬¼¨¤·¤Æ¤¤¤ëÉôʬ¤¬¥í¥Ü¥Ã¥È¤Î¤É¤ÎÉôʬ¤«¤ï¤«¤é¤Ê¤¤¾ì¹ç¤Ï¼Ì¿¿¤ò¥Þ¥¦¥¹¤Ç¿¨¤ì¤Æ¤ß¤Æ²¼¤µ¤¤¡£ ¥â¡¼¥¿¡¼¤ò3¤Ä¤È¡¢¸÷¡¦¥»¥ó¥µ¤òÍѤ¤¤ÆºîÀ®¤·¤Þ¤·¤¿¡£(ζ¤ò¥â¥Á¡¼¥Õ¤Ë¤·¤Þ¤·¤¿¡£) ¡¡¡¡¡¡¡ÔÀµÌÌ¡Õ ¥Ô¥ó¥¯¤Î»Í³Ñ¤Ç°Ï¤Ã¤¿Éôʬ¤Ë¸÷¡¦¥»¥ó¥µ¤¬ÅëºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¡¡¡¡¡¡¡Ô¿¿¾å¡Õ ²«¿§¤Î»Í³Ñ¤Ç°Ï¤Ã¤¿Éôʬ¤Ï¡¢È¯¼ÍÂæ¤Ç¤¹¡£ ¡¡¡¡¡¡¡Ôȯ¼ÍÉô(¿¿¾å)¡Õ ÀÖ¡û¤ÎÉôʬ¤Ë¤¢¤ëÉôÉÊ(¥¹¥È¥Ã¥Ñ¡¼)¤¬¼Ì¿¿¼êÁ°¤«¤é±ü¤Ë°Üư¤¹¤ë¤³¤È¤Ç¡¢²«¿§¤¤ÉôÉʤ¬¥ª¥ì¥ó¥¸¤ÎÌð°õ¤ÎÊý¸þ¤Ëȯ¼Í¤µ¤ì¤ë»ÅÁȤߤȤʤäƤ¤¤ë¡£ ¡¡¡¡¡¡¡Ôȯ¼ÍÉô(ÀµÌÌ)¡Õ Â礤¤ÀÖ¿§¤ÎÌð°õ¤ÎÊý¸þ¤Ë³¥¿§¤ÎÉôÉʤ¬¥â¡¼¥¿¤Ë¤è¤Ã¤ÆÆ°¤¯¤³¤È¤Ç¡¢¾®¤µ¤¤ÀÖ¤¤Ìð°õ¤ÎÊý¸þ¤Ë¹õ¤¤ËÀ¾å¤ÎÉôÉʤ¬Ï¢Æ°¤·¤ÆÆ°¤²«¿§¤¤ÉôÉʤ¬È¯¼Í¤µ¤ì¤ë¡£ ¡¡¡¡¢ã¤«¤Ê¤ê¤Î¥¹¥Ô¡¼¥É¤Çȯ¼Í¤·¤Þ¤¹¡£¤·¤«¤âȯ¼ÍÊý¸þ¤Ï¤«¤Ê¤êÀµ³Î¤Ç¤¹¡£¢ä ¼Ì¿¿¤Î¤è¤¦¤Ëȯ¼ÍÁõÃÖ¤òº¸±¦¤ËÁõÃ夹¤ë¤³¤È¤Ë¤è¤Ã¤Æ2Ï¢¼Í¤ò²Äǽ¤Ë¤·¤Þ¤·¤¿¡£ ¥í¥Ü¥Ã¥ÈÀ©ºî¤Ë¤ª¤¤¤Æ¤Î¹©É× †¡¡¡¦ÀèÇÚÊý¤Î¥Ú¡¼¥¸¤ò»²¹Í¤Ë¤·¤Æ¡¢¥Ç¥£¥Õ¥¡¥ì¥ó¥·¥ã¥ë¥®¥¢(²«¿§¤ÎÌð°õÉô)¤ò³èÍѤ¹¤ë¤³¤È¤Ç¡¢¥í¥Ü¥Ã¥È¤¬°Üư¤¹¤ë¤Î¤ËɬÍפʥ⡼¥¿¡¼¤Î¿ô¤ò1¤Ä¤ËÍÞ¤¨¤ë¤³¤È¤¬¤Ç¤¤Þ¤·¤¿¡£ ¡¡¡¦»ý¤Á±¿¤Ó¤¬Ê¬²ò¤·¤Ê¤¯¤Æ¤âÈæ³ÓŪ´Êñ¤Ë¤Ê¤ë¤è¤¦¤Ë¥í¥Ü¥Ã¥È¤Î¶¯ÅÙ¤ò¾å¤²¤Þ¤·¤¿¡£ ¥í¥Ü¥Ã¥ÈÀ©ºî¤Ë¤ª¤¤¤Æ¤ÎÌäÂêÅÀ †¡¡¡¦¥â¡¼¥¿¡¼¤ò3¤Ä»ÈÍѤ·¤¿¤¿¤á¤Ë¡¢¥í¥Ü¥Ã¥È¤Îµ¡ÂΤ¬½Å¤¯¤Ê¤ê¥Ç¥£¥Õ¥¡¥ì¥ó¥·¥ã¥ë¥®¥¢¤Ç¤Ï¡¢°Üư¤Ç¤¤Ê¤¤¾õÂ֤˴٤ä¿ÅÀ¡£ ¤½¤ÎÌäÂêÅÀ¤Î²þÁ±ºö †¡¡¡¦¥Ô¥ó¥¯¤ÎÎØ¤Ç¼¨¤·¤¿Éôʬ¤Ë¤¢¤ë¤è¤¦¤Ë¡¢¤·¤Ã¤Ý¤ò¥â¥Á¡¼¥Õ¤Ë¤·¤¿½Å¤ê¤ò¼è¤êÉÕ¤±¤¿¤ê¡¢Á°Êý¤Ë¼è¤êÉÕ¤±¤¿¸÷¡¦¥»¥ó¥µ¤ò1¤Ä¤Ë¤¹¤ë¤³¤È¤ÇÁ°¸å¤Î¥Ð¥é¥ó¥¹¤ò²þÁ±¤·¤Þ¤·¤¿¡£ £´¡¢¤½¤ì¤¾¤ì¤Î¥×¥í¥°¥é¥à †¡¡¤³¤³¤«¤é¤Ï¡¢¥á¥ó¥Ð¡¼¤½¤ì¤¾¤ì¤¬[²ÝÂê3]¤ÎÃæ¤«¤é²ÝÂê¤ò°ì¤ÄÁª¤ó¤ÇºîÀ®¤·¤¿¥×¥í¥°¥é¥à¤ò¡¢¸Ä¿ÍŪ¤ÊÈ¿¾Ê¤È´¶ÁÛ¤ò¸ò¤¨¤Æ¡¢µ¡Á·¤Ë¾Ò²ð¤·¤Æ¤¤¤¤¿¤¤¤È»×¤¤¤Þ¤¹¡£ µ¡¢¥«¥ï¥·¥Þ¤Î¥×¥í¥°¥é¥à †¡¡»ä¤Ï¡¢Ž¢2. ²ûÃæÅÅÅô¤ò¤æ¤Ã¤¯¤êư¤«¤·¤¿¤È¤²ûÃæÅÅÅô¤Ë¸þ¤«¤Ã¤Æ¿Ê¤ß¡¢²ûÃæÅÅÅô¤Îư¤¤ò»ß¤á¤ì¤Ð°ìÄê¤Îµ÷Î¥(²ûÃæÅÅÅô¤«¤é30cm°Ê¾åÎ¥¤ì¤¿µ÷Î¥)¤Þ¤Ç¶á¤Å¤¤¤Æ²ûÃæÅÅÅô¤òÁÀ¤Ã¤Æ¥Ö¥í¥Ã¥¯¤òÅꤲ¤ë¡£Ž£¤È¤¤¤¦²ÝÂê¤òÁªÂò¤·¤Þ¤·¤¿¡£ ¥×¥í¥°¥é¥à¤Î¹½ÁÛ †¤Þ¤º°ì¼þÌܤ˸÷¤ÎºÇÂçÃͤòµÏ¿¤·¤Þ¤¹¡£¡¡ Æó¼þÌܤ˲ûÃæÅÅÅô¤Î¸÷¤¬ºÇÂç¤Î¾ì½ê¤ò¸÷¤ò¸÷¡¦¥»¥ó¥µ¤Ç´¶ÃΤ¹¤ë¤³¤È¤Ë¤è¤Ã¤ÆÈ¯¸«¤·³ê¤é¤«¤ËÄä»ß¤·¤Æ¡¦¡¦¡¦ ¤µ¤é¤Ë¸÷¤òÄÉÀפ·¡¢30Ѥε÷Î¥¤Þ¤Ç¶á¤Å¤¥Ö¥í¥Ã¥¯¤òȯ¼Í¤¹¤ëͽÄê¤Ç¤¹¡£ ¡¡°Ê²¼¤Ï¡¡Á£¤òÆó²ó¼ÂÁ©¤¹¤ë¤¿¤á¤Î¥×¥í¥°¥é¥à¤Ç¤¹¡£(¤¿¤À¤·¡¢¼«Ê¬¤Î»þ´ÖÇÛʬ¥ß¥¹¤Ç¤Á¤ã¤ó¤Èư¤¯¤«½½Ê¬¤Ë³Îǧ¤Ç¤¤Æ¤¤¤Þ¤»¤ó¡£) ¥×¥í¥°¥é¥à †#define GO OnFwd(OUT_A);¡¡¡¡¡¡¡¡¡¡¡¡ //¡¡Á°¿Ê¤¹¤ë #define CIR OnRev(OUT_A); //¡¡º¸ÀÞ¤¹¤ë #define DOWNF OnFwd(OUT_B);Wait(35);Off(OUT_B); //¡¡º¸Â¦¤ËÁõŶ¤µ¤ì¤¿¥Ö¥í¥Ã¥¯¤òȯ¼Í¤¹¤ë #define DOWNS OnRev(OUT_C);Wait(35);Off(OUT_C); //¡¡±¦Â¦¤ËÁõŶ¤µ¤ì¤¿¥Ö¥í¥Ã¥¯¤òȯ¼Í¤¹¤ë #define pika SENSOR_2 //¡¡¥»¥ó¥µ¡¼2¤ò¡Øpika¡Ù¤È̾ÉÕ¤±¤ë #define time 180 // ¥í¥Ü¥Ã¥È¤¬°ì¼þ±ß¤òÉÁ¤¯(±¦²ó¤ê)»þ´Ö¤òÄêµÁ #define FSTOP Float(OUT_A);¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // ³ê¤é¤«¤ËÄä»ß¤¹¤ë ¡¡¡¡¾å¤ÇÄêµÁ¤·¤¿ÃͤòÍѤ¤¤Æ¥×¥í¥°¥é¥à¤ò½ñ¤¤Þ¤·¤¿¡£ task main(){ int l_o = 0; ¡¡ // ¸÷¤ÎºÇÂçÃͤòµÏ¿¤¹¤ëÊÑ¿ô SetSensor(pika,SENSOR_LIGHT); // ¥»¥ó¥µ¡Øpika¡Ù¤ò¸÷¡¦¥»¥ó¥µ¤Ë ClearTimer(0); // Timer(0)¤ò¥ê¥»¥Ã¥È¤¹¤ë while(FastTimer(0) <= time){ CIR;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // ¥í¥Ü¥Ã¥È¤¬°ì¼þ±ß¤òÉÁ¤¯¤Þ¤Çº¸²ó¤ê if(pika > l_o){¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ¡¡ // ¡Øpika¡Ù¤ÎÃͤ¬¸÷¤ÎºÇÂçÃͤè¤êÌÀ¤ë¤¤¾ì¹ç l_o = pika;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // ¤½¤Î»þ¤ÎÃͤò¸÷¤ÎºÇÂçÃͤ˹¹¿·¤¹¤ë } } CIR; until (pika == l_o);¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // ºÆÅÙº¸²ó¤ê¤Ë²óž¤¹¤ë(Àè¤Û¤ÉµÏ¿¤·¤¿ÃÍl_o¤ò¸÷¡¦¥»¥ó¥µ¤¬´¶ÃΤ¹¤ë¤Þ¤Ç) FSTOP;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // ³ê¤é¤«¤ËÄä»ß¤¹¤ë if(pika < 93 ){¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // ¤â¤·²ûÃæÅÅÅô¤«¤é¤Îµ÷Î¥¤¬30cm°Ê¾å¤Ï¤Ê¤ì¤Æ¤¤¤ë¤Ê¤é GO; // ÄÉÀפ¹¤ë¤¿¤á¤ËÁ°¿Ê¤¹¤ë } else {¡¡¡¡¡¡¡¡¡¡¡¡ // ¤â¤·²ûÃæÅÅÅô¤«¤é¤Îµ÷Î¥¤¬30ѤǤ¢¤ë¤Ê¤é FSTOP;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // ³ê¤é¤«¤ËÄä»ß¤¹¤ë DOWNS;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // ±¦Â¦¤ËÁõŶ¤µ¤ì¤¿¥Ö¥í¥Ã¥¯¤òȯ¼Í¤¹¤ë } FSTOP; //¡¡³ê¤é¤«¤ËÄä»ß¤¹¤ë while(FastTimer(0) <= time){ CIR;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // ¥í¥Ü¥Ã¥È¤¬°ì¼þ±ß¤òÉÁ¤¯¤Þ¤Çº¸²ó¤ê if(pika > l_o){¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // ¡Øpika¡Ù¤ÎÃͤ¬¸÷¤ÎºÇÂçÃͤè¤êÌÀ¤ë¤¤¾ì¹ç l_o = pika;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // ¤½¤Î»þ¤ÎÃͤò¸÷¤ÎºÇÂçÃͤ˹¹¿·¤¹¤ë } } CIR; until (pika == l_o);¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // ºÆÅÙº¸²ó¤ê¤Ë²óž¤¹¤ë(Àè¤Û¤ÉµÏ¿¤·¤¿ÃÍl_o¤ò¸÷¡¦¥»¥ó¥µ¤¬´¶ÃΤ¹¤ë¤Þ¤Ç) FSTOP;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // ³ê¤é¤«¤ËÄä»ß¤¹¤ë if(pika < 93 ){¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // ¤â¤·²ûÃæÅÅÅô¤«¤é¤Îµ÷Î¥¤¬30cm°Ê¾å¤Ï¤Ê¤ì¤Æ¤¤¤ë¤Ê¤é GO; // ÄÉÀפ¹¤ë¤¿¤á¤ËÁ°¿Ê¤¹¤ë } else {¡¡¡¡¡¡¡¡¡¡¡¡ // ¤â¤·²ûÃæÅÅÅô¤«¤é¤Îµ÷Î¥¤¬30ѤǤ¢¤ë¤Ê¤é FSTOP;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // ³ê¤é¤«¤ËÄä»ß¤¹¤ë DOWNF;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // º¸Â¦¤ËÁõŶ¤µ¤ì¤¿¥Ö¥í¥Ã¥¯¤òȯ¼Í¤¹¤ë ¡¡¡¡¡¡¡¡¡¡¡¡ } FSTOP; // ³ê¤é¤«¤ËÄä»ß¤¹¤ë } ¥×¥í¥°¥é¥à¤Î¹©É× †¡¡¡¦¡Öint¡×¤òÍѤ¤¤Þ¤·¤¿¡£ ¥×¥í¥°¥é¥à¤ÎÌäÂêÅÀ¡¢²þÁ±ºö †¡¡¡¦¥×¥í¥°¥é¥à¤¬ºÇÂç¸Â¤Ë¤½¤ÎÆâÍÆ¤ò¿ë¹Ô¤Ç¤¤ë¾ò·ï¤¬¤«¤Ê¤ê¸Â¤é¤ì¤ë¡£(²ûÃæÅÅÅô¤Îư¤Êý¼¡Â衦¡¦¡¦¡£) È¿¾Ê¡¢´¶ÁÛ †¡¡¡¦ÀèÇÚã¤Î¥×¥í¥°¥é¥à¤ò»²¹Í¤Ë¤µ¤»¤Æ¤â¤é¤¤¤Þ¤·¤¿¡£ ·ë²Ì †¡¡¡¦¥í¥Ü¥Ã¥È¤¬¤Á¤ã¤ó¤È¡¡Á£¤Î°ìÏ¢¤Îưºî¤ò¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¤«½½Ê¬¤Ë³Îǧ¤Ç¤¤Æ¤¤¤Þ¤»¤ó¤¬¡¢¥Ö¥í¥Ã¥¯¤òÆóÏ¢¼Í¤¹¤ë¤³¤È¤Ï¤Ç¤¤Þ¤·¤¿¡£ ¶¡¢¥Þ¥³¥È¤Î¥×¥í¥°¥é¥à †¡¡»ä¤Ï¡¢¡Ö1. Á´Êý¸þ¤«¤é2¤Ä¤Î²ûÃæÅÅÅô¤ÎÊý¸þ¤òõ¤·¤À¤·¡¢²ûÃæÅÅÅô¤òÁÀ¤Ã¤Æ¥Û¥¤¡¼¥ë¤òÅꤲ¤ë¡£²Äǽ¤Ê¸Â¤êÀµ³Î¤ÊÊý¸þ¤ËÅꤲ¤ë¤³¤È¡£¡×¤òÁª¤Ó¤Þ¤·¤¿¡£ #define TURN_TIME 400¡¡¡¡¡¡¡¡¡¡¡¡¡¡ //°ì¼þ¤¹¤ë»þ´Ö task main(){ SetSensor(SENSOR_2, SENSOR_LIGHT);¡¡//¥»¥ó¥µ¡¼£²¤ò¸÷¥»¥ó¥µ int light_max=0;//¸÷¤ÎºÇÂçÃÍ int t_max=0;//¸÷¤ÎºÇÂçÃͤλþ´Ö ClearTimer(0); OnRev(OUT_A);Wait(TURN_TIME); //°ì¼þ¤¹¤ë while(FastTimer(0)<TURN_TIME){ //²ó¤Ã¤Æ¤¤¤ë´Ö if(SENSOR_1>light_max) //ºÇÂçÃͤθ÷¤ò¸«¤Ä¤±¤¿¤é { light_max=SENSOR_1; //ºÇÂçÃͤθ÷¤ÈÀßÄê t_max=FastTimer(0); //¥¿¥¤¥Þ¡¼¤òÆþ¤ì¤ë } } OnRev(OUT_A); //¸÷¤ÎºÇÂçÃͤΤȤ³¤í¤Þ¤Ç²ó¤ë Wait(t_max); // Off(OUT_A); // OnFwd(OUT_B); //º¸¤Î¥Ö¥í¥Ã¥¯¤ò¼Í½Ð Wait(10); // Off(OUT_B); // Wait(50); // OnRev(OUT_C); //±¦¤Î¥Ö¥í¥Ã¥¯¤ò¼Í½Ð Wait(10); // Off(OUT_C); //½ªÎ» } ¥×¥í¥°¥é¥à¤Î¹©É× †¡¡¥¿¥¤¥Þ¡¼¤òÀßÄꤷ¤Æ³ä¤ÈÀµ³Î¤Ê°ÌÃ֤˹Ԥ±¤ë¤è¤¦¤Ë¤·¤¿¡£ ¥×¥í¥°¥é¥à¤ÎÌäÂêÅÀ¡¢²þÁ±ºö †¡¡ºÇÂçÃͤȤ«¤ÎÀßÄ꤬¤É¤¦¤¹¤ì¤Ð¤¦¤Þ¤¯¤¤¤¯¤Î¤«¤ï¤«¤é¤Ê¤«¤Ã¤¿¡£ È¿¾Ê¡¢´¶ÁÛ †¡¡»þ´Ö¤¬¤Ê¤¯¤ÆÂçÊѤÀ¤Ã¤¿¡£ ·¡¢¥«¥º¤Î¥×¥í¥°¥é¥à †¡¡»ä¤Ï¡¢¡Ö3. Á´Êý¸þ¤«¤é2¤Ä¤Î²ûÃæÅÅÅô¤ÎÊý¸þ¤òõ¤·¤À¤·¡¢40cm¤Îµ÷Î¥¤Ë¶á¤Å¤¤¤Æ²ûÃæÅÅÅô¤òÁÀ¤Ã¤Æ¥Û¥¤¡¼¥ë¤òÅꤲ¡¢²ûÃæÅÅÅô¤ËÅö¤Æ¤ë¡£¡×¤òÁª¤Ó¤Þ¤·¤¿¡£ #define turn_time 400 //¥í¥Ü¥Ã¥È¤¬1¼þ¤¹¤ë»þ´Ö #define THRESHOLD 85 task main() { int light_max=0; //ºÇÂçÃÍ int t_max=0; //ºÇÂçÃͤò¼Â¸½¤¹¤ë»þ¹ï SetSensor(SENSOR_2,SENSOR_LIGHT); //¥»¥ó¥µ¡¼1¤Ï¸÷¥»¥ó¥µ¡¼ ClearTimer(0); //»þ´Ö¤ò0¤È¤¹¤ë OnRev(OUT_A); //°ì¼þ¤¹¤ë while(Timer(0)<turn_time){ if(SENSOR_2>light_max){ //²ó¤Ã¤Æ¤¤¤ë´Ö light_max=SENSOR_2; //ºÇÂçÃͤò¥»¥ó¥µ¡¼2¤È¤¹¤ë t_max=Timer(0); //¥¿¥¤¥Þ¡¼¤òÆþ¤ì¤ë } } Off(OUT_A); //°ìö»ß¤á¤Æ Wait(100); OnFwd(OUT_A); //ºÇÂçÃͤΤȤ³¤í¤Þ¤Ç²ó¤ë Wait(t_max) Off(OUT_A); //»ß¤Þ¤ë Wait(50); while (SENSOR_1 <= THRESHOLD){OnFwd(OUT_A);} //40cm¤Î½ê¤Þ¤Ç¿Ê¤à Off(OUT_A); //»ß¤Þ¤ë OnFwd(OUT_B); //º¸¤Î¥Ö¥í¥Ã¥¯¤òÅꤲ¤ë Wait(20); Off(OUT_B); OnRev(OUT_C); //±¦¤Î¥Ö¥í¥Ã¥¯¤òÅꤲ¤ë Wait(20); Off(OUT_C); //´°Î» } ¥×¥í¥°¥é¥à¤Î¹©É× †¡¡ÀèÇڤΤò»²¹Í¤Ë¤·¤Þ¤·¤¿¡£Àµ³Î¤Ë¤Ê¤ë¤è¤¦¤Ë¤Ê¤ë¤Ù¤¯Æ°¤¯»þ´Ö¤ò¹Í¤¨¤Þ¤·¤¿¡£ ¥×¥í¥°¥é¥à¤ÎÌäÂêÅÀ¡¢²þÁ±ºö †¡¡¸÷¤Ë¸þ¤«¤Ã¤Æ¿Ê¤Þ¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¤È¤³¤í¤Î¥×¥í¥°¥é¥à¤È²ûÃæÅÅÅô¤ËÅö¤Æ¤ë¥×¥í¥°¥é¥à¤¬¤¢¤Þ¤ê¤¦¤Þ¤¯¤¤¤¤Þ¤»¤ó¤Ç¤·¤¿¡£ È¿¾Ê¡¢´¶ÁÛ †¡¡»þ´Ö¤¬¤Ê¤¯¡¢¤¢¤Þ¤êÀµ³Î¤Ë¤Ç¤¤Ê¤¯¤Æ»Äǰ¤Ç¤·¤¿¡£ £µ¡¢Á´ÂΤÎÈ¿¾Ê †¡¡¡¦¥í¥Ü¥Ã¥È¤ÎºîÀ®¤Ë´Ø¤·¤Æ¤Ï¡¢¤ß¤ó¤Ê¤Ç¤Ç¤¤ë¸Â¤ê½¸¤Þ¤Ã¤ÆºîÀ®¤·¤¿¤Î¤ÇÈæ³ÓÅªÍÆ°×¤ËºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤·¤¿¡£ £¶¡¢¥³¥á¥ó¥ÈÍó †¡¡»ä¤¿¤Á¤Î¥Ú¡¼¥¸¤ò¸«¤Æ¡¢´¶¤¸¤¿¤³¤È¤ò¼«Í³¤ËÅê¹Æ¤·¤Æ²¼¤µ¤¤¡£
|