Ìܼ¡
1.¥¹¥¿¡¼¥ÈÃÏÅÀ¤«¤é½Ðȯ¤·¡¢¹õ¤¤Àþ¤Ë¤½¤Ã¤ÆÆ°¤¯¡£ 2.°ì¤ÄÌܤν½»ú¤Î¸òº¹ÅÀ¤ÈÆó¤Ä¤á¤Î½½»ú¤Î¸òº¹ÅÀ¤Î´Ö¤ËÃÖ¤«¤ì¤¿¥Ô¥ó¥Ý¥ó¶Ì¤ò¤Ä¤«¤à¡£ 3.¤µ¤é¤Ë¹õÀþ¤Ë±è¤Ã¤ÆÆ°¤¤¤Æ¥´¡¼¥ëÃÏÅÀ¤òÌܻؤ¹¡£ 4.¥´¡¼¥ë¤Ë¸þ¤±¤Æ¥Ô¥ó¥Ý¥ó¶Ì¤ò¥·¥å¡¼¥È¤¹¤ë¡£
²£¤«¤é¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Á°¤«¤é¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ä줫¤é
ÀÄ¿§¤ÎÉôÉʤ¬¸÷¥»¥ó¥µ¡¼¤Ç¤¹¡£¤³¤Î¥»¥ó¥µ¡¼¤Ë¤è¤Ã¤Æ¹õ¤«Çò¤«¤òȽÃǤ·¤Æ¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤·¤Þ¤¹¡£
¤³¤Î¼Ì¿¿¤Î¥¿¥¤¥ä¤ÎÉôÉʤò±¦²óž¤µ¤»¡¢¥Ô¥ó¥Ý¥ó¶Ì¤¬¥¿¥¤¥ä¤Ë¿¨¤ì¤¿¤éÆ⦤ËÆþ¤ê
¥¿¥¤¥ä¤ò²óž¤µ¤»Â³¤±¡¢¥Ô¥ó¥Ý¥ó¶Ì¤¬Î¥¤ì¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£
¥¿¥¤¥ä¤ÎÉôÉʤòº¸²óž¤µ¤»¡¢¤½¤¦¤¹¤ë¤È¥¿¥¤¥ä¤ÈϢư¤·¤Æ¤¤¤ë
¤³¤Î¥Ñ¡¼¥Ä¤¬²óž¤·¡¢¥Ô¥ó¥Ý¥ó¶Ì¤ò²¡¤·½Ð¤¹¤è¤¦¤Ë¤·¤¿¡£
#define HIPOWER 4 ¡¡//ľÀþÍѤΥѥ #define LOWPOWER 2¡¡//¥«¡¼¥ÖÍѤΥѥ #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);¡¡¡¡//º¸Àû²ó #define turn_left0 set_power_L;\ OnFwd(OUT_C); Off(OUT_A);¡¡¡¡//º¸ÀÞ #define turn_right0 set_power_L;\ OnFwd(OUT_A); Off(OUT_C);¡¡¡¡//±¦Àû²ó #define turn_right1 set_power_L;\ OnFwd(OUT_A); OnRev(OUT_C);¡¡//±¦ÀÞ #define cross set_power_H; OnFwd(OUT_AC);Wait(20);¡¡//¸òº¹ÅÀ¤òÅϤë
task main() {
SetSensor(SENSOR_2,SENSOR_LIGHT); //¸÷¥»¥ó¥µ¡¼¥»¥Ã¥È int nl=0;¡¡¡¡//¸òº¹ÅÀ¤ò´¶ÃΤ¹¤ë¤¿¤á¤ÎÊÑ¿ô int cc=0;¡¡¡¡//¸òº¹ÅÀ¤òÅϤä¿¿ô int hc=0; //¿§¡¹¤Êµ¡Ç½¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤ÎÊÑ¿ô go_forward;¡¡//¥¹¥¿¡¼¥È¤ÎÏȤ«¤é½Ð¤ë¤¿¤á¤Îľ¿Ê Wait(100); ClearTimer(0);¡¡//¥¿¥¤¥Þ¡¼0¤ò¥»¥Ã¥È OnRev(OUT_B);¡¡//¥Ô¥ó¥Ý¥ó¶Ì¤¬Î¥¤ì¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Î¥¿¥¤¥ä¤ò²ó¤¹
while (true) {
while ((nl < 5)||(FastTimer(0)<500)||(FastTimer(1)<680)){¡¡//nl¤¬5¤è¤ê¾®¤µ¤¤Ëô¤Ï¥¹¥¿¡¼¥È¤«¤é5ÉðÊÆâ¤Î»þËô¤Ï2¸ÄÌܤÈ3¸ÄÌܤθòº¹ÅÀ¤ò²á¤®¤Æ6.8ÉðÊÆâ¤Î»þ if (SENSOR_2 < 37) {¡¡¡¡//Ç»¤¤¹õ¤ò´¶ÃΤ·¤¿¤é turn_left1;¡¡¡¡¡¡¡¡¡¡//º¸Àû²ó nl++;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//nl¤Ë1¤ò¤¹ } else if (SENSOR_2 < 39) {¡¡//Çö¤¤¹õ¤ò´¶ÃΤ·¤¿¤é turn_left0;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//º¸ÀÞ ¡¡¡¡¡¡ nl=0;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//ȽÃǤ·Ä¾¤· } else if (SENSOR_2 < 45) {¡¡//³¥¿§¤ò´¶ÃΤ·¤¿¤é go_forward; ¡¡¡¡¡¡¡¡¡¡¡¡//ľ¿Ê ]nl=0;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//ȽÃǤ·Ä¾¤· } else if (SENSOR_2 < 47) {¡¡//Çö¤¤Çò¤ò´¶ÃΤ·¤¿¤é turn_right0; ¡¡¡¡¡¡¡¡¡¡¡¡¡¡//±¦ÀÞ } else {¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//Ç»¤¤Çò¤ò´¶ÃΤ·¤¿¤é turn_right1; ¡¡¡¡¡¡¡¡¡¡¡¡¡¡//±¦Àû²ó } Wait(1); }¡¡
¸÷¥»¥ó¥µ¡¼¤Ë¤è¤êÌÀ¤ë¤µ¤ò¬¤Ã¤Æ¡¢ÌÀÅÙ¤ÎÃͤˤè¤êº¸±¦¤Ë¶Ê¤¬¤é¤»¤Æ¥é¥¤¥ó¾å¤ò¿Ê¤ß¤Þ¤¹¡£ ¡¡¸òº¹ÅÀ¤Ïº¸Àû²ó¤Î²ó¿ô¤ò·×¤ë¤³¤È¤ÇȽÊ̤·¤Þ¤¹¡£º¸Àû²ó¤Î²ó¿ô¤Ïnl¤È¤¤¤¦¥«¥¦¥ó¥¿¡¼¤Ç ·×¤ê¤Þ¤¹¡£¾åµ¤ÎÆ°ºî¤Ï°ì²ó¤¢¤¿¤ê1/100ÉôֹԤï¤ì¤Þ¤¹¡£¤Ä¤Þ¤êϢ³¤Çº¸Àû²ó¤¬¹Ô¤ï¤ì¤Æ nl¤¬²Ã»»¤µ¤ì¤Æ¤¤¤Ã¤¿¾ì¹ç¡¢nl¤¬5¤Ë¤Ê¤ë¤Î¤Ë¤«¤«¤ë»þ´Ö¤Ï0.5ÉäȤ·¤Æ¹Í¤¨¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ ±¦Àû²ó¤¬0.5Éðʾå¹Ô¤ï¤ì¤Ê¤¤¸Â¤ê¤ÏÄ̾ï¤Ç¤¢¤ë¤ÈȽÃǤ·¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³¤±¤Þ¤¹¡£
turn_right1; Wait(35);¡¡//¸òº¹ÅÀ¤ò´¶ÃΤ¹¤ë¤È¤¤Ë¤º¤ì¤¿¤Î¤òÄ´À° cross;¡¡¡¡//¸òº¹ÅÀ¤òÅϤë nl=0;¡¡//ȽÃǤ·Ä¾¤· cc++;¡¡//Õ¤Ë1¤ò¤¹ hc++;¡¡//hc¤Ë1¤ò¤¹
while(hc==1){¡¡¡¡//°ì²óÌܤθòº¹ÅÀ¤òÅϤ俤é turn_right1; Wait(70); go_forward;¡¡//¥Ü¡¼¥ë¤ò¥¥ã¥Ã¥Á Wait(80); turn_left0; ¡¡//¥Ü¡¼¥ë¤ò¸ÇÄê Wait(100); hc++; }
while((hc==3)||(hc==5)){ ClearTimer(1);¡¡¡¡//2¸ÄÌܤÈ3¸ÄÌܤθòº¹ÅÀ¤òÅϤ俤饿¥¤¥Þ¡¼1¤ò¥»¥Ã¥È¤¹¤ë¡£ hc++; }
while (cc==4) { turn_right1; //³ÑÅÙ¤òÈùÄ´À° Wait(5); OnRev(OUT_AC);¡¡//¥´¡¼¥ë¤Î³°¤Ë½Ð¤ë Wait(100); Off(OUT_ABC); OnFwd(OUT_B);¡¡//¥Ô¥ó¥Ý¥ó¶Ì¤ò¥·¥å¡¼¥È Wait(150); cc++; }
while(cc==5){ Off(OUT_ABC);¡¡//»ß¤Þ¤ë }
}
}
Ä줫¤é¤ß¤Æº¸Â¦¤Î²«¿§¤¤¥Ñ¡¼¥Ä¤òû¤¯¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢
¥Ô¥ó¥Ý¥ó¶Ì¤ò¥¥ã¥Ã¥Á¤·¤ä¤¹¤¯¤·¤¿¡£
¥¿¥¤¥Þ¡¼¤Ê¤·¤Ç¥×¥í¥°¥é¥à¤òÁȤó¤À¤È¤¤Ï¡¢²¼µ¤ÎÀÖ¤¤¡û¤¬¤Ä¤¤¤¿½ê¤ò
¸òº¹ÅÀ¤È´ª°ã¤¤¤·¤Æ¤¦¤Þ¤¯¤Ç¤¤Ê¤«¤Ã¤¿¡£
¥¿¥¤¥Þ¡¼¤òÆþ¤ì¤ë¤³¤È¤Ë¤è¤Ã¤Æ¥¹¥¿¡¼¥È¤«¤é5Éô֡¢2¸ÄÌܤÈ3¸ÄÌܤθòº¹ÅÀ¤ò
²á¤®¤Æ¤«¤é6.8Éô֤ϸòº¹ÅÀ¤òǧ¼±¤·¤Ê¤¤¤è¤¦¤Ë¤·¤¿¤é¤¦¤Þ¤¯¤Ç¤¤¿¡£
¥Ô¥ó¥Ý¥ó¶Ì¤¬¥¿¥¤¥ä¤Ë¿¨¤ì¤Æ¤âÆ⦤ËÆþ¤ê¹þ¤Þ¤Ê¤«¤Ã¤¿¤³¤È¤¬¤¢¤Ã¤¿¤¬¡¢
¥Ô¥ó¥Ý¥ó¶Ì¤¬¥¿¥¤¥ä¤Ë¿¨¤ì¤Æ¤«¤é¾¯¤·º¸ÀÞ¤¹¤ë¤³¤È¤Ë¤è¤Ã¤ÆÆ⦤ˤ褯
Æþ¤ê¹þ¤à¤è¤¦¤Ë¤Ê¤Ã¤¿¡£
¤Ï¤¸¤á¥Ô¥ó¥Ý¥ó¶Ì¤ò¥³¡¼¥¹¾å¤ËÃÖ¤«¤º¤Ë»î¤·¤Æ¤¤¤Æ¡¢¤¹¤Ù¤Æ¤¬´°À®¤·¤Æ¤«¤é½é¤á¤Æ¥³¡¼¥¹¾å¤Ë
¥Ô¥ó¥Ý¥ó¶Ì¤òÃÖ¤¤¤¿¤È¤¤Ë¥Ü¡¼¥ë¤¬Á´¤¯¤Ä¤«¤á¤Ê¤«¤Ã¤¿¤Î¤Ï¥·¥ç¥Ã¥¯¤À¤Ã¤¿¡£¥í¥Ü¥Ã¥È¤ÏÁÛÁü¤·¤Æ
¤¤¤í¤Î¤È¤Ï°ã¤¦Æ°¤¤ò¤¹¤ë¤³¤È¤¬Â¿¡¹¤¢¤ë¤Î¤Ç¤³¤Þ¤á¤Ë»î¤·¤¿¤Û¤¦¤¬¤¤¤¤¤È¤¤¤¦¤³¤È¤ò»×¤¤ÃΤä¿¡£
Á°Êý¤¬½Å¤¹¤®¤Æ¤¦¤Þ¤¯Æ°¤«¤Ê¤«¤Ã¤¿¤³¤È¤¬¤¢¤ê¡¢¥Ñ¡¼¥Ä¤òºï¤Ã¤¿¤ê¸åÊý¤ò½Å¤¯¤·¤¿¤ê¤È¶ìÏ«¤·¤¿¡£