Ìܼ¡
¿Þ¤Î²«¿§¤¤¤È¤³¤í¤ËÃÖ¤¤¤Æ¤¢¤ë¿ô»ú¤¬½ñ¤¤¤Æ¤¢¤ë»æ¥³¥Ã¥×¤ò¡¢A,B,C¤È½ñ¤«¤ì¤¿¾ì½ê¤ËÃÖ¤¤¤Æ¤¢¤ëƱ¤¸¿ô»ú¤¬½ñ¤¤¤Æ¤¢¤ë»æ¥³¥Ã¥×¤Ë½Å¤Í¤ë¡£
¿Þ¤Î²«¿§¤¤¾ì½ê¤Ë¤Ï¡¢¤½¤Î¿ô»ú¤ÈƱ¤¸¿ô»ú¤¬½ñ¤«¤ì¤¿»æ¥³¥Ã¥×¤¬ÃÖ¤«¤ì¤ë¡£
¤Þ¤¿A,B,C½ñ¤«¤ì¤¿¾ì½ê¤Ë¤â1¤«¤é3¤Þ¤Ç¤Î¿ô»ú¤¬½ñ¤«¤ì¤Æ¤¤¤ë»æ¥³¥Ã¥×¤¬ÃÖ¤«¤ì¤ë¡¢ ¤É¤Î¥³¥Ã¥×¤ò¤É¤³¤ËÃÖ¤¯¤«¤Ï¶¥µ»¤ò»Ï¤á¤ëľÁ°¤Ë¥µ¥¤¥³¥í¤ò¿¶¤Ã¤Æ·è¤á¤ë¡£
¤Þ¤¿A,B,C½ñ¤«¤ì¤¿¾ì½ê¤Ë¤â1¤«¤é3¤Þ¤Ç¤Î¿ô»ú¤¬½ñ¤«¤ì¤Æ¤¤¤ë»æ¥³¥Ã¥×¤¬ÃÖ¤«¤ì¤ë¡¢ ¤É¤Î¥³¥Ã¥×¤ò¤É¤³¤ËÃÖ¤¯¤«¤Ï¶¥µ»¤ò»Ï¤á¤ëľÁ°¤Ë¥µ¥¤¥³¥í¤ò¿¶¤Ã¤Æ·è¤á¤ë¡£
¥ë¡¼¥ë¡¢ÆÀÅÀ¤Î»»½ÐÊýË¡¤Ï2014a/Mission2¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
Æ£²¬Ë§Ìï¡¡½©»³ÏÂºÈ ´äº´¶Ç»Ë
¥³¥Ã¥×¤ò¤Ä¤«¤àµ¡¹½¤¬Â礤µ¤ò¼è¤ê¤¹¤®¤Æ¤·¤Þ¤Ã¤¿¤¿¤áRCX¤ò¹â¤¤¤È¤³¤í¤ËÃÖ¤¯¤·¤«¤Ê¤¯¥¢¥ó¥Ð¥é¥ó¥¹¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£
¥³¥Ã¥×¤Î¾å¤«¤é¤«¤Ö¤»¤ë¤³¤È¤Ë¤è¤ê¥³¥Ã¥×¤ò¤Ä¤«¤à¡£
¥³¥Ã¥×¤ò¤Ä¤«¤ó¤À»þ¤Î¼Ì¿¿
↙¼Ì¿¿¤Ç¤ÏÀÚ¤ì¤Æ¤¤¤Þ¤¹¤¬¤³¤³¤Ë¥¿¥¤¥ä¤Î¥´¥à¤¬ÉÕ¤¤¤Æ¤¤¤Þ¤¹¡£
£¤Î¥®¥¢¤È¥â¡¼¥¿¡¼¤Î¥®¥¢¤¬¤«¤ß¹ç¤Ã¤Æ¤¤¤ë¤Î¤Ç¡Ê²¼¤Î¼Ì¿¿¤ò»²¾È¡Ë¡¢¢¤Î¥â¡¼¥¿¡¼¤¬²óž¤¹¤ë¤³¤È¤Ë¤è¤ê¥¿¥¤¥ä¤Î¥´¥à¤¬Àèü¤Ë¤Ä¤¤¤¿¡¤¬¾å²¼±¿Æ°¤·¤Æ¡¢¥³¥Ã¥×¤ò¤Ä¤«¤ó¤À¤ê»ý¤Á¾å¤²¤¿¤ê¤·¤Þ¤¹¡£
¥¿¥¤¥ä¤Î¥´¥à¤Ë¶´¤Þ¤Ã¤¿¥³¥Ã¥×¤ò¤Ë¾å¤²¤Æ¤¤¤¯¤È¡¢ÀÖ¤¤Æ͵¯¤¬¤Ä¤¤¤¿½ê¤Ë¥³¥Ã¥×¤¬¤¢¤¿¤ê¥³Íî¤Á¤ë¡£
ÀµÌ̤ò¸þ¤¤¤Æ¤¤¤ë¡¢ÀÖ¤¤£Ì£Å£Ä¤¬¸«¤Æ¼è¤ì¤ëÀĤ¤¥Ö¥í¥Ã¥¯¤¬¥³¥Ã¥×¤Î¿§¤ò´¶ÃΤ¹¤ë¤¿¤á¤Î¥»¥ó¥µ¡¼
¡Ê²¿È֤Υ³¥Ã¥×¤«¤ò¼±Ê̤¹¤ë¤¿¤á¤Ë¡¢¥³¥Ã¥×¤Ë¤ÏÈֹ椴¤È¤Ë¿§¤òÉÕ¤±¤Æ¤¢¤ë¡£¡Ë
²¼¤ò¸þ¤¤¤Æ¤¤¤ëÀĤ¤¥Ö¥í¥Ã¥¯¤¬¥é¥¤¥ó¥È¥ì¥¤¥¹¤¹¤ë¤¿¤á¤Î¥»¥ó¥µ¡¼
(¥é¥¤¥ó¤Î¾å¤òÁö¤Ã¤Æ¥³¥Ã¥×¤ò¸«¤Ä¤±¤ë¤¿¤á)
#define HIPOWER 1¡¡¡¡¡¡//ľÀþÍѤΥѥ #define LOWPOWER 3 //¥«¡¼¥ÖÍѤΥѥ #define set_power_H SetPower(OUT_AC,HIPOWER); #define set_power_L SetPower(OUT_AC,LOWPOWER); #define go_forward set_power_H; OnFwd(OUT_AC); //ľ¿Ê #define turn_left1 set_power_L;\ OnFwd(OUT_C); OnRev(OUT_A); //turn_left1¤òº¸¤Ë¶ËÃÏÀû²ó¤ÈÄêµÁ #define turn_left0 set_power_L;\ OnFwd(OUT_C); Off(OUT_A); ¡¡¡¡¡¡// turn_left0º¸¤Ë¿®ÃÏÀû²ó¤ÈÄêµÁ #define turn_right0 set_power_L;\ OnFwd(OUT_A); Off(OUT_C); ¡¡¡¡¡¡ ¡¡//turn_right0¤ò±¦¤Ë¶ËÃÏÀû²ó¤ÈÄêµÁ #define turn_right1 set_power_L;\ OnFwd(OUT_A); OnRev(OUT_C); //±¦ÀÞ¡¡//turn_right1¤ò±¦¤Ë¿®ÃÏÀû²ó¤ÈÄêµÁ #define SIGNALON 13 #define cross set_power_H; OnFwd(OUT_AC);Wait(20); //¸òº¹ÅÀ¤òÅϤë #define c1 if (SENSOR_3 < 37) {Off(OUT_AC); SendMessage(SIGNALON);Wait(80);} //¹õ¤¤»æ¥³¥Ã¥×¤ò¸«¤Ä¤±¤¿¤é£²ÈÖ¤ÎRCX¤Ë¥á¥Ã¥»¡¼¥¸¤òÁ÷¤ë¡£
task main() { SetSensor(SENSOR_2,SENSOR_LIGHT);¡¡//¸÷¥»¥ó¥µ¡¼¥»¥Ã¥È SetSensor(SENSOR_3,SENSOR_LIGHT); int nl=0;//¸òº¹ÅÀ¤òȽÃǤ¹¤ë¤¿¤á¤Ë¡¢²¿²óϢ³¤Ç¹õÀþ¤ò´¶ÃΤ·¤¿¤«¥«¥¦¥ó¥È¤¹¤ëÊÑ¿ônl¤òÄêµÁ¡Ê¸òº¹ÅÀ¤Ç¤ÏÄ̾ï¤Î¥é¥¤¥ó¤è¤ê¤â¹õϢ³¤Ç´¶ÃΤ¹¤ë²ó¿ô¤¬Â¿¤¯¤Ê¤ë¡£¡Ë int cc=0;//¸òº¹ÅÀ¤Î¿ô¤ò¿ô¤¨¤ë¤¿¤á¤ÎÊÑ¿ôcc¤òÄêµÁ¡¡ **AÃÏÅÀ¤Þ¤Ç¹Ô¤¯¤¿¤á¤Î¥×¥í¥°¥é¥à go_forward; Wait(460); turn_left1; Wait(140); go_forward; Wait(280);
¤³¤³¤Þ¤Ç¤Î¥×¥í¥°¥é¥à¤Ë¤è¤ê¿Þ¤ÎAÃÏÅÀ¤Þ¤ÇÍè¤Þ¤¹¡£
ClearTimer(0);//¥¿¥¤¥Þ¡¼¥¼¥í¤ò¥»¥Ã¥È¡Ê¸òº¹ÅÀ¤Ç¤Ê¤¤¤È¤³¤í¤Ç¹õÀþ¤òϢ³¤Ç¿ô¤¨¤¹¤®¤Æ¸òº¹ÅÀ¤ò¸í¤Ã¤ÆǧÃΤ·¤Ê¤¤¤¿¤á¤Ë¥¿¥¤¥Þ¡¼¤òÍѤ¤¤ë¡Ë while (true) {
while ((nl < 5) ||(FastTimer(0)<500)){//¡¡¹õÀþ¤ò£µ²ó¤òϢ³¤Ç´¶ÃΤ·¤¿²ó¿ô¤¬5°Ê²¼¡¢¤â¤·¤¯¤Ï¥¹¥¿¡¼¥È¤«¤é500ÉðÊÆâ¤Ê¤é¤Ð°Ê²¼¤Î¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë if (SENSOR_2 < 37) {¡¡//¹õÀþ¤òȽÃÇ turn_left1; //º¸¤Ë¶ÉÃÏÀû²ó nl++; } else if (SENSOR_2 < 41) { //¹õÀþ¤ÈÇòÀþ¤ÎÃæ´Ö¡Ê¹õÀþ¤è¤ê¡Ë¤òȽÃÇ turn_left0; nl=0;//nl¤ò¥ê¥»¥Ã¥È } else if (SENSOR_2 < 45) {¡¡//¹õÀþ¤ÈÇòÀþ¤Î¤Á¤ç¤¦¤ÉÃæ´Ö¤òȽÃÇ go_forward; nl=0; } else if (SENSOR_2 < 50) {¡¡//¹õÀþ¤ÈÇòÀþ¤ÎÃæ´Ö¡ÊÇòÀþ¤è¤ê¡Ë¤òȽÃÇ turn_right0; ¡¡¡¡¡¡¡¡¡¡¡¡ ¡¡ } else {¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¥í¥Ü¥Ã¥È¤¬ÇòÀþ¤Î¾å¤Ë¤¤¤ë¾õÂÖ turn_right1; nl=0; } Wait(1); } turn_right1; Wait(35); cross; cc++; if (cc == 1) { //°ì¤ÄÌܤθòº¹ÅÀ¤Ë½Ð²ñ¤Ã¤¿¤ÈȽÃÇ go_forward; Wait(50); c1; OnRev(OUT_AC); Wait(150); turn_left1; Wait(40); go_forward; Wait(280); c1; OnRev(OUT_AC); Wait(500); turn_left1; Wait(100); go_forward; Wait(200); c1; OnRev(OUT_AC); Wait(100); turn_left1; Wait(330); go_forward; Wait(1000); } } }