¸÷¤òÄɤ¤¤«¤±¡¢¸÷¤ÎÆ°¤¤¬»ß¤Þ¤ì¤Ð¡¢¤½¤ÎÊý¸þ¤Ë¥Ö¥í¥Ã¥¯¤òÅꤲ¤Ä¤±¤ë¡£
*Àµ³Î¤Ë¸÷¤ÎÊý¸þ¤ò¸þ¤¯¤³¤È¡£ *¸÷¤ÎÊý¸þ¤Ë¥Ö¥í¥Ã¥¯¤òÈô¤Ð¤¹¤³¤È¡£ *¥â¡¼¥¿¡¼¤ÏÆó¸Ä¤Þ¤Ç¤·¤«»È¤¨¤Ê¤¤¡£
¡Î£±¡Ï°ì¥«½ê¤Ç²óž¤·¤Ê¤¬¤é¸÷¤òõ¤¹
¡Î£²¡Ï²£¤ò¸þ¤¤¤Æ¡¢¥Ö¥í¥Ã¥¯¤òÈô¤Ð¤¹
¤È¤¤¤¦¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£
¤Þ¤¿¸÷¥»¥ó¥µ¡¼¤ÎÌÀ¤ë¤µ¤ÎȽÄê¤Ï¡¢50°Ê¾å¤Ê¤é¸÷¤À¤Èǧ¼±¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£
#define THRESHOLD 50 task main () { SetSensor(SENSOR_1, SENSOR_LIGHT); SetSensor(SENSOR_3, SENSOR_LIGHT); SetPower(OUT_A,2);
①¥»¥ó¥µ¡¼£±¡¦£²¤¬¤È¤â¤Ë¸÷¤ÎÊý¤ò¸þ¤¤¤Æ¤¤¤Ê¤¤¤È¤¤Ï¡¢²óž¤·¸÷¤òõ¤·Â³¤±¤ë
②¥»¥ó¥µ¡¼£±¤¬¸÷¤ÎÊý¤ò¸þ¤¤¤Æ¤¤¤ë¤È¤¤Ï¡¢²£¤ò¸þ¤¥Ö¥í¥Ã¥¯¤òÂǤÁ½Ð¤¹
③¥»¥ó¥µ¡¼£³¤¬¸÷¤ÎÊý¤ò¸þ¤¤¤Æ¤¤¤ë¤È¤¤Ï¡¢²£¤ò¸þ¤¥Ö¥í¥Ã¥¯¤òÂǤÁ½Ð¤¹
¤È¤¤¤¦É÷¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¤Þ¤¿¡¢¥â¡¼¥¿¡¼¤Î¶¯¤µ¤ò¼å¤¯¤·¤Æ¤¤¤ë¤Î¤Ï¡¢¤è¤ê¤æ¤Ã¤¯¤ê²óž¤·¤Æ¸÷¤ò¿µ½Å¤Ëõ¤¹¤¿¤á¤Ç¤¹¡£
①
while (true) { if ((SENSOR_1 < THRESHOLD) && (SENSOR_3 < THRESHOLD)) { SetPower(OUT_A,2); OnFwd(OUT_A); }
②
if (SENSOR_1 > THRESHOLD) { SetPower(OUT_A,7); OnFwd(OUT_A); Wait(50); Off(OUT_A); OnFwd(OUT_C); Wait(150); Off(OUT_C); }
③
if (SENSOR_3 > THRESHOLD ) { SetPower(OUT_A,7); OnFwd(OUT_A); Wait(60); Off(OUT_A); OnFwd(OUT_C); Wait(150); Off(OUT_C); } } }
ÁêÂÐŪ¤Ë¸÷¤Î¶¯¤µ¤¬ºÇÂç¤ÎÊý¸þ¤ËÅꤲ¤é¤ì¤ë¥×¥í¥°¥é¥à¤òºî¤Ã¤Æ¤ß¤Þ¤·¤¿¡£
±ß¤ò£³£°¡ë¤º¤Ä¤Ë¤ï¤±¡¢¤â¤·¶è²èÆâ¤Ç¶¯¤¤¸÷¤ò´¶¤¸¤¿¤é¡¢´¶¤¸¤¿¶è²è¤Þ¤Ç²óž¤¹¤ë¤¿¤á¤Î»þ´Ö¤ò³Ð¤¨¤Þ¤¹¡£
°ì¼þ¤·¤¿¤é¡¢³Ð¤¨¤¿»þ´Ö¤Î¤Ö¤ó²óž¤·¤Æ¤½¤ÎÊý¸þ¤Ë¥Ö¥í¥Ã¥¯¤òÅꤲ¤Þ¤¹¡£
¤³¤ì¤Ç¤¦¤Þ¤¯¤¤¤¯¤«¤Ï³Îǧ¤Ç¤¤Æ¤¤¤Þ¤»¤ó¡£
#define turn_right20 OnFwd(OUT_A);Wait(20); int light; //ÊÑ¿ô¡Ölight¡×¤òÄêµÁ int time; //ÊÑ¿ô¡Ötime¡×¤òÄêµÁ int count; //ÊÑ¿ô¡Öcount¡×¤òÄêµÁ light=0; time=0; count=0; task main () { SetSensor(SENSOR_3,SENSOR_LIGHT); ClearTimer(0); while(count=0) { if(SENSOR_3 > light) {¡¡¡¡//¸÷¥»¥ó¥µ¡¼¤¬¡Ölight¡×¤è¤êÂ礤¤Ãͤò¤È¤Ã¤¿¤È¤¡¡ FastTimer(0)=time; //¥¿¥¤¥Þ¡¼¤ÎÃͤò¡Ötime¡×¤ËÂåÆþ¤¹¤ë ¡¡¡¡¡¡¡¡¡¡light=SENSOR_3;¡¡¡¡¡¡¡¡ //¥»¥ó¥µ¡¼¤ÎÃͤò¡Ölight¡×¤ËÂåÆþ¤¹¤ë turn_right¡¡¡¡¡¡¡¡¡¡¡¡¡¡//±¦¤Ë²óž¤¹¤ë count=1;}¡¡¡¡¡¡¡¡¡¡¡¡¡¡ //¡Öcount¡×¤ò£±Áý¤ä¤¹ else { //¸÷¥»¥ó¥µ¡¼¤¬¡Ölight¡×¤è¤êÂ礤¤Ãͤò¤È¤é¤Ê¤¤¤È¤ turn_light¡¡¡¡¡¡¡¡¡¡¡¡¡¡//±¦¤Ë²óž¤¹¤ë count=1;} ¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡Öcount¡×¤ò£±Áý¤ä¤¹ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¢¨¤³¤ì¤ò³¤±¤ë while(count=1) { if(SENSOR_3 > light) { FastTimer(0)=time; light=SENSOR_3; turn_right count=2;} else { turn_right count=2;} while(count=2) { if(SENSOR_3 >light) { FastTimer(0)=time; light=SENSOR_3; turn_right count=3;} else { turn_right count=3;} while(count=3) { if(SENSOR_3 >light) { FastTimer(0)=time; light=SENSOR_3; turn_right count=4;} else { turn_right count=4;} while(count=4) { if(SENSOR_3 >light) { FastTimer(0)=time; light=SENSOR_3; turn_right count=5;} else { turn_right count=5;} while(count=5) { if(SENSOR_3 >light) { FastTimer(0)=time; light=SENSOR_3; turn_right count=6;} else { turn_right count=6;} while(count=6) { if(SENSOR_3 >light) { FastTimer(0)=time; light=SENSOR_3; turn_right count=7;} else { turn_right count=7;} while(count=7) { if(SENSOR_3 >light) { FastTimer(0)=time; light=SENSOR_3; turn_right count=8;} else { turn_right count=8;} while(count=8) { if(SENSOR_3 >light) { FastTimer(0)=time; light=SENSOR_3; turn_right count=9;} else { turn_right count=9;} while(count=9) { if(SENSOR_3 >light) { FastTimer(0)=time; light=SENSOR_3; turn_right count=10;} else { turn_right count=10;} while(count=10) { if(SENSOR_3 >light) { FastTimer(0)=time; light=SENSOR_3; turn_right count=11;} else { turn_right count=11;} while(count=11) { if(SENSOR_3 >light) { FastTimer(0)=time; light=SENSOR_3; turn_right count=12;} else { turn_right count=12;} if(count=12) {¡¡¡¡¡¡¡¡¡¡¡¡ //°ì¼þ¤·½ª¤ï¤Ã¤¿¤é OnFwd(OUT_A);¡¡¡¡¡¡¡¡¡¡//±¦¤Ë¡Ötime¡×¤Î»þ´Ö¤À¤±²óž¤¹¤ë Wait(time); Off(OUT_A); OnFwd(OUT_C);¡¡¡¡¡¡¡¡¡¡//¥Ö¥í¥Ã¥¯¤òÅꤲ¤ë Wait(150); Off(OUT_C);} }
¡ÊºîÀ®¼Ô¡§»°ß·¡Ë
#define LIGHTSTRENGTH 50 //¸÷¤Î¶¯¤µ¤Î´ð½à¤ò£µ£°¤È¤¹¤ë¡£ sub shoot()¡¡¡¡//¥Ö¥í¥Ã¥¯¤òÂǤĤȤ { OnRev(OUT_A);¡¡¡¡// ¥í¥Ü¥Ã¥È¤Ë±¦¤ò¸þ¤«¤»¤ë¡£ Wait(50); Off(OUT_A); OnFwd(OUT_C);¡¡¡¡//¥Ö¥í¥Ã¥¯¤òȯ¼Í Wait(100);¡¡¡¡¡¡//ȯ¼ÍÁõÃÖ¤ò°ìÉôֲ󤹡£¡¡¡¡¡¡¡¡¡¡ Off(OUT_C);¡¡¡¡¡¡//ȯ¼ÍÁõÃÖ¤ò»ß¤á¤ë¡£ } task main () { SetPower(OUT_A,2);¡¡¡¡//¥¿¥¤¥ä¤ò²ó¤¹¥â¡¼¥¿¡¼¤Î¥Ñ¥ï¡¼¤ò£²¤È¤¹¤ë¡£ SetSensor(SENSOR_1,SENSOR_LIGHT);¡¡//¥»¥ó¥µ¡¼£±¤ò¥»¥Ã¥È¤¹¤ë¡£ SetSensor(SENSOR_3,SENSOR_LIGHT);¡¡//¥»¥ó¥µ¡¼£²¤ò¥»¥Ã¥È¤¹¤ë¡£ while(true) { if((SENSOR_1 < LIGHTSTRENGTH)&&(SENSOR_3 < LIGHTSTRENGTH))¡¡//º¸±¦¤Î¥»¥ó¥µ¡¼¤¬¸÷¤ò´¶ÃΤ·¤Ê¤¤¤È¤¡£ { OnFwd(OUT_A);¡¡//±¦¤Ë²ó¤ê¤Ä¤Å¤±¤ë¡£ } if((SENSOR_1 >= LIGHTSTRENGTH)&&(SENSOR_3 < LIGHTSTRENGTH))¡¡//º¸¤Î¥»¥ó¥µ¡¼¤¬¸÷¤ò´¶ÃΤ·¤¿¤È¤¡£ { OnFwd(OUT_A); //º¸¤Ë²ó¤ë¡£ } if((SENSOR_1 < LIGHTSTRENGTH)&&(SENSOR_3 >= LIGHTSTRENGTH))¡¡//±¦¤Î¥»¥ó¥µ¡¼¤¬¸÷¤ò´¶ÃΤ·¤¿¤È¤¡£ { OnRev(OUT_A);¡¡//±¦¤Ë²ó¤ë¡£ } if((SENSOR_1 >= LIGHTSTRENGTH)&&(SENSOR_3 >= LIGHTSTRENGTH))¡¡//º¸±¦¤Î¥»¥ó¥µ¡¼¤¬¸÷¤ò´¶ÃΤ·¤¿¤È¤¡£ { shoot(); //¥Ö¥í¥Ã¥¯¤òȯ¼Í¡£ } } }
¡ÊºîÀ®¼Ô¡§Ê¿°æ¡Ë
50cm¤Þ¤Ç¶á¤Å¤¤¤¿¤È¤¤Î¸÷¥»¥ó¥µ¡¼¤ÎÃͤÏ60¤È¤·¤Þ¤·¤¿¡£
¸÷¤òõ¤¹¤Þ¤Ç¤Ï¡Ö²ûÃæÅÅÅô¤¬Æ°¤«¤Ê¤¤¤È¤¤Î¥×¥í¥°¥é¥à¡×¤ÈƱ¤¸¤Ç¤¹¡£
¸÷¤¬¤ß¤Ä¤«¤Ã¤¿¤éÊÒÊý¤º¤Ä¥¿¥¤¥ä¤ò²ó¤·¤Æ¸÷¤Þ¤Ç¶á¤Å¤¡¢¥»¥ó¥µ¡¼¤ÎÃͤ¬60¤Ë¤Ê¤Ã¤¿¤È¤³¤í¤Ç¥Ö¥í¥Ã¥¯¤òÅꤲ¤Þ¤¹¡£
#define THRESHOLD 50 #define 50CMINTERVALS 60 task main () { SetPower(OUT_A,2); SetSensor(SENSOR_1,SENSOR_LIGHT); SetSensor(SENSOR_3,SENSOR_LIGHT);
①¥»¥ó¥µ¡¼£±¡¦£²¤¬¤È¤â¤Ë¸÷¤ÎÊý¤ò¸þ¤¤¤Æ¤¤¤Ê¤¤¤È¤¤Ï¡¢²óž¤·¸÷¤òõ¤·Â³¤±¤ë
②¥»¥ó¥µ¡¼£±¤¬¸÷¤ÎÊý¤ò¸þ¤¤¤Æ¤¤¤ë¤È¤¤Ï¡¢º¸¤Î¥¿¥¤¥ä¤ò²ó¤·¡¢
¡¡¥»¥ó¥µ¡¼£³¤¬¸÷¤ÎÊý¤ò¸þ¤¤¤Æ¤¤¤ë¤È¤¤Ï¡¢±¦¤Î¥¿¥¤¥ä¤ò²ó¤·¤Æ¥¸¥°¥¶¥°¤ËÁ°¿Ê¤¹¤ë
③¥»¥ó¥µ¡¼¤ÎÃͤ¬60¤Ë¤Ê¤Ã¤¿¤é¡¢²£¤ò¸þ¤¤¤Æ¥Ö¥í¥Ã¥¯¤òÅꤲ¤ë
¤È¤¤¤¦¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
①
while(true) { if ((SENSOR_1 < THRESHOLD) && (SENSOR_3 < THRESHOLD)) { OnFwd(OUT_A); Wait(200); Off(OUT_A); }
②
if ((SENSOR_1 >= THRESHOLD) && (SENSOR_3 < THRESHOLD)) { OnFwd(OUT_A); Wait(200); Off(OUT_A); } if ((SENSOR_1 < THRESHOLD) && (SENSOR_3 >= THRESHOLD)) { OnRev(OUT_A); Wait(200); Off(OUT_A); }
③
if ((SENSOR_1 >= 50CMINTERVALS) && (SENSOR_3 >= 50CMINTERVALS)) { OnRev(OUT_A); Wait(50); Off(OUT_A); OnFwd(OUT_C); Wait(100); Off(OUT_C); } } }
¡ÊºîÀ®¼Ô¡§»°ß·¡Ë
¥®¥¢¤¬¥¿¥¤¥ä¤Ë°ú¤Ã¤«¤«¤Ã¤¿¤ê¤·¤Æ¡¢¤¦¤Þ¤¯²óž¤Ç¤¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢¼´¤ò±äŤ·¾¯¤·Â礤ʥ¿¥¤¥ä¤ò¼è¤êÉÕ¤±¡¢»°Îؤˤ¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢²ò·è¤·¤¿¡£
¥Ö¥í¥Ã¥¯¤Îȯ¼ÍÁê°ã¤ò¹Í¤¨¤ë¤Î¤¬Æñ¤·¤«¤Ã¤¿¡£½é¤á¤ÏÌîµå¤Î¥Ô¥Ã¥Á¥ó¥°¡¢¥Þ¥·¥ó¤Î¤è¤¦¤Ê»ÅÁȤߤò¹Í¤¨¤¿¤¬¡¢¤É¤ì¤â¤¦¤Þ¤¯¤¤¤«¤º¡¢ºÇ½ªÅª¤Ë¡ØÅꤲ¤ë¡ÙȯÁÛ¤«¤é¡ØÂǤġÙȯÁÛ¤ËÀÚ¤êÂؤ¨¡¢¾å¿Þ¤Î¤è¤¦¤Êȯ¼ÍÁõÃÖ¤¬½ÐÍè¾å¤¬¤Ã¤¿¡£
½é¤á¤Ï¥®¥¢¤ò»È¤Ã¤ÆÁȤßΩ¤Æ¤Æ¤¤¤¯¤È¡¢¤É¤¦¤·¤Æ¤âŤ¤¼ÖÂΤ¬½ÐÍè¾å¤¬¤Ã¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢¥®¥¢¤ò½Ä¤ËÇÛÃÖ¤·¡¢¤Ç¤¤ë¤À¤±¥³¥ó¥Ñ¥¯¥È¤Ë¤Þ¤È¤Þ¤ë¤è¤¦¤Ë¤·¤¿¡£
²¿¤È¤¤¤Ã¤Æ¤â¡¢¥×¥í¥°¥é¥à¤ÎºîÀ®¤Ë¤ª¤¤¤Æ¡¢¥í¥Ü¥Ã¥È¤ÎÅÔ¹ç¤Ë¹ç¤ï¤»¤Ê¤¯¤Æ¤Ï¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¤Î¤¬¡¢¤È¤Æ¤âÂçÊѤǡ¢Æñ¤·¤«¤Ã¤¿¡£
ÃƤÎȯ¼ÍÊý¸þ¤¬²£¤Ê¤Î¤Ç¡¢¸÷¤ÎÊý¸þ¤Ë¡¢ÃƤò·â¤Ã¤Æ¤¯¤ì¤Ê¤¯¤Æº¤¤Ã¤¿¡£¤è¤Ã¤Æ¡¢¥×¥í¥°¥é¥à¤ò²þÎɤ·¤¿¤ê¡¢¥í¥Ü¥Ã¥È¤ò¼¸¤ê¤Ê¤¬¤é¡¢²ò·è¤·¤¿¡£
¥í¥Ü¥Ã¥È¤ÎÀâÌÀ¤¬¤È¤Æ¤âÎɤ¤¤Ç¤¹¡£
¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ¤Ï
1¡§ÁêÂÐŪ¤Ë¸÷¤Î¶¯¤µ¤¬ºÇÂç¤ÎÊý¸þ¤ËÅꤲ¤é¤ì¤ë¤ÈÎɤ¤¤Ç¤¹¡£
2¤È3¡§²ûÃæÅÅÅô¤¬»ß¤Þ¤ë¤³¤È¤ò¤É¤¦Ç§¼±¤¹¤ì¤Ð¤è¤¤¤«¹Í¤¨¤ë¤È¤¤¤¤¤È»×¤¤¤Þ¤¹¡£I