º£²ó¤Î²ÝÂê¤Ï£²¤Ä¤Î¥í¥Ü¥Ã¥È¤òÍѤ¤¤Æ°ì¤Ä¤¬A¤«¤éȯ¿Ê¤·¥Ü¡¼¥ë¤ò¤Ä¤«¤ß´Ì¤Ë¤¢¤Æ¤ë¡£¤â¤¦°ì¤Ä¤¬B¤«¤éȯ¿Ê¤·¤½¤Î¥Ü¡¼¥ë¤ò²ó¼ý¤¹¤ë¡¢¤È¤¤¤¦¤â¤Î¤À¡£¥³¡¼¥¹¤Ï²¼¤Î¿Þ¤ÎÄ̤ê¤Ç¤¢¤ê´Ì¤Î¾å¤Ë¤ÏÅŵ夬¾è¤Ã¤Æ¤¤¤Æ¸÷¤òȯ¤·¤Æ¤¤¤ë¡£
¼ÖÂΤϥ饤¥ó¥È¥ì¡¼¥¹¤¬¤Ç¤¤ë¤è¤¦¤Ë¥É¥é¥¤¥Ö¥Ù¡¼¥¹¤ò»È¤Ã¤¿¡£¤½¤·¤Æ¥Ü¡¼¥ë¤ò¤Ä¤«¤à¡¢¤Ê¤²¤ëÆ°ºî¤¬É¬ÍפʤΤǥ¢¡¼¥à¤òÉÕ¤±¤¿¡£
¥í¥Ü¥Ã¥È¤Ï¿Þ¤Î¤è¤¦¤Ç¤¢¤ê¡¢Á´ÂÎŪ¤Ë¾å¤Ë¥Ñ¡¼¥Ä¤òÀ¹¤ë·Á¤È¤Ê¤Ã¤¿¡£¤³¤ì¤Ï´Ì¤Î¾å¤Ë¤¢¤ëÅŵå¤Î¸÷¤ò´¶ÃΤ¹¤ë¤¿¤á¤Ë¸÷¥»¥ó¥µ¡¼¤Î°ÌÃÖ¤òÄ´À°¤·¤¿¤¿¤á¤Ç¤¢¤ë¡£¤Þ¤¿¸÷¥»¥ó¥µ¡¼¤Î¼þ¤ê¤ò¥Ö¥í¥Ã¥¯¤Ç°Ï¤à¤³¤È¤Ë¤è¤ê¸÷¤ÎÊý¸þ¤¬¤Û¤ÜÀµ³Î¤Ë¤ï¤«¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£²¼¤Ë¤â¸÷¥»¥ó¥µ¡¼¤ò¼è¤êÉÕ¤±¥é¥¤¥ó¥È¥ì¡¼¥¹¤â¤Ç¤¤ë¤è¤¦¤Ë¤·¤¿¡£
¼ÖÂΤÏÁ°²ó¤ÈƱÍͤ˥ɥ饤¥Ö¥Ù¡¼¥¹¤òÍѤ¤¤¿¤Î¤ÇÀâÌÀ¤Ï¾Êά¤¹¤ë¡£
¥¢¡¼¥à¤Ï£±¤Ä¤Î¥â¡¼¥¿¡¼¤Ç¥Ü¡¼¥ë¤ò¤Ä¤«¤àÆ°ºî¡¢Åꤲ¤ëÆ°ºî¤ò¹Ô¤¦É¬Íפ¬¤¢¤Ã¤¿¡£¤½¤³¤Ç¥Ü¡¼¥ë¤ò¸ÇÄꤹ¤ëÉôʬ¤Î¾ì½ê¤ËÁ°¸þ¤¤Î²¡¤·½Ð¤¹Éôʬ¤ò²Ã¤¨¤ë¤³¤È¤Ç¥Ü¡¼¥ë¤Î¸ÇÄê¤ò¤ä¤á¤¿¤È¤¡¢Á°¤Ø²¡¤·½Ð¤¹¤³¤È¤ËÀ®¸ù¤·¤¿¡£
¿Þ¤ÎÃæ¤Ç¤Ï²«¿§¤Î¥Ö¥í¥Ã¥¯¤¬²¡¤·½Ð¤¹Éôʬ¤Ç¤¢¤ë¡£½é¤á¤Ï¸ÇÄꤹ¤ë¤È¤¤Ë¼ÙËâ¤Ë¤Ê¤ë¤Î¤Ç¤Ï¤Ê¤¤¤«¡¢ ¤È¹Í¤¨¤¿¡£¤·¤«¤·Á°¤Ë¤Ä¤¤¤Æ¤¤¤ë¹õ¤¤¥Ö¥í¥Ã¥¯¤ò²£¤Ë¹¤²¡¢¤µ¤é¤Ë±ü¹Ô¤¤â²Ã¤¨¤ë¤³¤È¤Ë¤è¤ê²«¿§¤Î¥Ö¥í¥Ã¥¯¤È¥Ü¡¼¥ë¤Î´Ö¤ËŬÅ٤ʴֳ֤¬¶õ¤¤¤¿¡£¤³¤ì¤Ë¤è¤ê¤¬¤Ã¤·¤ê¤È¤Ä¤«¤ó¤Ç¤¤¤ë¤È¤¤À¤±¥Ü¡¼¥ë¤Ë¿¨¤ì¤ë¤Î¤Ç¤Ä¤«¤à¤Î¤ò¼ÙË⤻¤º²¡¤·½Ð¤»¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£
¼õ¤±¼è¤ê¦¤Î¥í¥Ü¥Ã¥È¤Ï¡¢¤Ï¤µ¤ß¾õ¤Î¥¢¡¼¥à¤Ç¥Ü¡¼¥ë¤ò¤Ä¤«¤à¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£¤Þ¤¿¥¢¡¼¥à¤¬Ä¹¤¤¤Î¤Ç¹¤¤ÈϰϤò¥«¥Ð¡¼¤Ç¤¡¢Ä¶²»ÇÈ¥»¥ó¥µ¡¼¤â¤Ä¤¤¤Æ¤¤¤ë¤Î¤Ç¥Ü¡¼¥ë¤òõÃΤ·¤Æ¶á¤Å¤¼è¤ë¤³¤È¤¬¤Ç¤¤ë¡£
ºÇ½é¤Ë¡¢º£²ó¤Ï¥â¡¼¥¿¡¼¤ÎÇÛÃ֤δط¸¤Ç¥â¡¼¥¿¡¼A,C¤Ï¡ÖOnFwd¡×¤ÈÆþÎϤ¹¤ë¤ÈµÕ²óž¤·¤Æ¤·¤Þ¤Ã¤¿¡£¤½¤³¤Ç¥×¥í¥°¥é¥à¾å¤Ç¤ÏÁ°¿Ê¤¹¤ë¤È¤¤Ï
¡ÖOnRev(OUT_AC)¡×
¤ÈÆþÎϤ·¤Æ¤¤¤ë¡£
¥×¥í¥°¥é¥à¤ÎÆâÍƤϤޤºAÃÏÅÀ¤«¤é½Ð¤Æ£±¤ÄÌܤΥܡ¼¥ë¤Ø¸þ¤«¤¦¡£¤³¤Î»þ¤ÏÂçÂΤλþ´Ö¤ò·è¤á¤Æ¥Ü¡¼¥ë¤Î¶á¤¯¤Ø¹Ô¤¯¤è¤¦¤Ë¤·¤¿¡£¤½¤·¤Æ¥Ü¡¼¥ë¤ò¤Ä¤«¤ß¸÷¤Ø¶á¤Å¤¥Ü¡¼¥ë¤òÅꤲ¤ë¡£¼¡¤Ë£²¤ÄÌܤΥܡ¼¥ë¤ò¼è¤ê¤Ë¹Ô¤Åꤲ¤ë¤È¤¤¤¦¤â¤Î¤À¡£
¡¦£±¤ÄÌܤϥ¹¥¿¡¼¥È¤Î°ÌÃÖ¤«¤éÆ°¤¯¤Î¤Ç¤¢¤ëÄøÅÙ»þ´ÖÁàºî¤Ç¥Ü¡¼¥ë¤Ø¶á¤Å¤±¤ë¡£¤·¤«¤·£²¤ÄÌܤϥܡ¼¥ë¤òÅꤲ¤¿¤¢¤È¤Ç¤¢¤êÆ°¤¤¤Æ¤·¤Þ¤Ã¤Æ¤¤¤ë¤Î¤Ç¥Ü¡¼¥ë¤Î°ÌÃÖ¤¬¤ï¤«¤ê¤Ë¤¯¤¤¡£¤½¤³¤ÇºÇ½é¤Î¿Þ¤Ë¤¢¤ë¡Ö¡¡×¤Î³Ñ¤òÌÜ°õ¤Ë¤¹¤ë¤³¤È¤Ë¤·¤¿¡£¸òº¹ÅÀ¤Î¼±ÊÌÊýË¡¤ÏÃμ±¤È¤·¤ÆÃΤäƤ¤¤ë¤Î¤Ç¤½¤ì¤ò»È¤¤¥í¥Ü¥Ã¥È¤¬£°¡¥£µÉÃϢ³¤·¤Æ±¦¤Ø¶Ê¤¬¤ê³¤±¤ë¤È³Ñ¤È¤·¤Æ¼±Ê̤µ¤»¤¿¡£
¡¦¸÷¤Ø¶á¤Å¤¯¤È¤¤ÏÀµ³Î¤µ¤òµá¤á¡¢£°¡¥£µÉÿʤऴ¤È¤Ë¸÷¤ÎÊý¸þ¤ò³Îǧ¤¹¤ë¤è¤¦¤Ë¥×¥í¥°¥é¥à¤·¤¿¡£
¡¦¥¢¡¼¥à¤òÆ°¤«¤¹¤È¤¤Ï²¼¤²¤ë¤È¤¤Ï¤¢¤Þ¤êÎϤ¬¤¤¤é¤Ê¤¤¤Î¤Ç¾å¤²¤ë¤È¤¤Ë¥Ñ¥ï¡¼£µ¡¢²¼¤²¤ë¤È¤¤Ë¥Ñ¥ï¡¼£±¤È¤·¤¿¡£
int light_max = 0; //¸÷¤Î°ìÈÖÂ礤¤¿ôÃÍ int turn_time = 500; //¸÷¤òõ¤¹¤¿¤á¤ËÀû²ó¤¹¤ë»þ´Ö int time_max = 0; //²ó¤ê»Ï¤á¤Æ¤«¤éºÇÂç¤ÎÌÀ¤ë¤µ¤ÎÃͤò¸«¤Ä¤±¤ë¤Þ¤Ç¤Î»þ´Ö
sub light(){ /* ¥»¥ó¥µ¡¼£±¡¤£²¤ò¸÷¥»¥ó¥µ¡¼¤ËÀßÄê */ SetSensor(SENSOR_1, SENSOR_LIGHT); SetSensor(SENSOR_2, SENSOR_LIGHT); /* »þ´Ö¤ò¤Ï¤«¤ê¤Ê¤¬¤éÀû²ó */ ClearTimer(0); OnFwd(OUT_A);OnRev(OUT_C); /* ¸÷¥»¥ó¥µ¡¼¤¬ºÇ¤âÌÀ¤ë¤¤Ãͤò¼¨¤·¤¿»þ¤ÎÀû²ó¤·¤¿»þ´Ö¤òµá¤á¤ë */ while(FastTimer(0) < turn_time){ if(SENSOR_2 > light_max){ light_max = SENSOR_2; time_max = FastTimer(0); } } Off(OUT_AC);Wait(100); /* ¸÷¤Î¤Û¤¦¤Ø¤à¤±¤ë */ OnFwd(OUT_C);OnRev(OUT_A);Wait(turn_time - time_max); Off(OUT_AC);Wait(100); }
¤Þ¤º¤Ï£±¤ÄÌܤΥܡ¼¥ë
task main(){ SetSensor(SENSOR_2,SENSOR_LIGHT); SetSensor(SENSOR_1,SENSOR_LIGHT); SetPower(OUT_B,5);OnFwd(OUT_B);Wait(50); //¥¢¡¼¥à¤Î»ý¤Á¾å¤² /* £±¤ÄÌܤΥܡ¼¥ë¤ò¤Ä¤«¤ß¤Ë¹Ô¤¯ */ OnRev(OUT_AC);Wait(200); OnRev(OUT_A);OnFwd(OUT_C);Wait(100); OnRev(OUT_AC);Wait(200); Off(OUT_AC);Wait(100); SetPower(OUT_B, 1);OnRev(OUT_B);Wait(100); OnRev(OUT_C);OnFwd(OUT_A);Wait(150); OnRev(OUT_AC);Wait(300); /* ¸÷¤ÎºÇÂçÃͤ¬£¶£µ°Ê¾å¤Ë¤Ê¤ë¤Þ¤Ç¸÷¸»¤Ë¶á¤Å¤¯ */ while(light_max < 65){ OnRev(OUT_AC);Wait(50);Off(OUT_AC); light(); } PlaySound(SOUND_CLICK); light(); //ºÇ¸å¤Ë¤â¤¦£±²ó¸÷¤ÎÊý¸þ¤ò³Îǧ¤¹¤ë SetPower(OUT_B,5);OnFwd(OUT_B);Wait(50); //¥Ü¡¼¥ë¤òÅꤲ¤ë
¡¡ ¼¡¤Ë£²¤ÄÌܤΥܡ¼¥ë
/* £²¤ÄÌܤΥܡ¼¥ë¤ò¤Ä¤«¤ß¤Ë¹Ô¤¯ */ OnFwd(OUT_C);OnRev(OUT_A);Wait(150); Off(OUT_AC);Wait(100); OnRev(OUT_AC);Wait(200); OnRev(OUT_AC);until(SENSOR_1 < 41); Off(OUT_AC);PlaySound(SOUND_CLICK);Wait(100); //¹õÀþ¤Þ¤Ç¿Ê¤à /* ³Ñ¤òǧ¼±¤·¤Æ¥Ü¡¼¥ë¤Ø¶á¤Å¤¯ */ ClearTimer(1); while(FastTimer(1) < 50){ if(SENSOR_1 > 49){ OnRev(OUT_A);OnFwd(OUT_C); } else if(SENSOR_1 > 46){ OnRev(OUT_A);Off(OUT_C); } else if(SENSOR_1 > 40){ OnRev(OUT_AC);ClearTimer(1); } else if(SENSOR_1 > 37){ OnRev(OUT_C);Off(OUT_A);ClearTimer(1); } else{ OnRev(OUT_C);OnFwd(OUT_A);ClearTimer(1); } } OnRev(OUT_A);OnFwd(OUT_C);Wait(80); OnRev(OUT_AC);Wait(150); Off(OUT_AC);Wait(100); /* ¥Ü¡¼¥ë¤ò¤Ä¤«¤à */ SetPower(OUT_B,5);OnFwd(OUT_B);Wait(50); SetPower(OUT_B,1);OnRev(OUT_B);Wait(100);Off(OUT_B); /* ¸÷¥»¥ó¥µ¡¼¤ÎÃͤ¬£µ£°°Ê¾å¤Ë¤Ê¤ë¤Þ¤Ç¶á¤Å¤¯ */ OnFwd(OUT_A);OnRev(OUT_C);Wait(350); OnRev(OUT_AC);Wait(200); while(SENSOR_2 < 50){ OnRev(OUT_AC);Wait(50);Off(OUT_AC); light(); } PlaySound(SOUND_CLICK); light(); OnRev(OUT_A);OnFwd(OUT_C);Wait(35); //Åꤲ¤ëÊý¸þ¤ÎÈùÄ´À° Off(OUT_AC);Wait(100); SetPower(OUT_B,5);OnFwd(OUT_B);Wait(50); OnFwd(OUT_AC);Wait(100); Off(OUT_AC); }
Âç¤Þ¤«¤Êή¤ì¤È¤·¤Æ¤Ï¤Þ¤º¡¢ÂǤÁ½Ð¤·Â¦¤Î¥í¥Ü¥Ã¥È¤¬¥Ü¡¼¥ë¤òÂǤÁ½Ð¤¹¤Þ¤ÇÄä»ß¤µ¤»¤Æ¤ª¤¯¡£¤½¤Î¸å¥Ü¡¼¥ë¤¬ÂǤÁ½Ð¤µ¤ì¤¿¤éĶ²»ÇÈ¥»¥ó¥µ¡¼¤ò»È¤Ã¤Æ¥Ü¡¼¥ë¤ò¸«¤Ä¤±¡¢¥¢¡¼¥à¤Ç¤Ä¤«¤ß¥´¡¼¥ë¤Þ¤Ç±¿¤Ö¡£¼õ¤±¼è¤ê¦¤Ï¤³¤Î¤è¤¦¤Ê¥×¥í¥°¥é¥à¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£
·ë²Ì¤È¤·¤Æ¤Ï£±¤ÄÌܤΥܡ¼¥ë¤ò´Ì¤ËÅö¤Æ¤ë¤³¤È¤Ï¤¦¤Þ¤¯¤¤¤Ã¤¿¡£¤·¤«¤·£²¤ÄÌܤΥܡ¼¥ë¤ò¤Ä¤«¤ß±¿¤ÖÅÓÃæ¤Ç¥Ü¡¼¥ë¤ò¼õ¤±¼è¤ë¥í¥Ü¥Ã¥È¤ÈÀÜ¿¨¤·¤Æ¤·¤Þ¤Ã¤¿¡£Ï¢·È¤¬¤¦¤Þ¤¯¼è¤ì¤Ê¤«¤Ã¤¿¤È´¶¤¸¤¿¡£ ¤·¤«¤·ÀÜ¿¨¤¬¤Ê¤±¤ì¤Ð¶á¤Å¤¤¤ÆÅꤲ¤ë¤È¤³¤í¤Þ¤Ç¤Ï¤Ç¤¤Æ¤¤¤¿¤Î¤¬¤¦¤ì¤·¤«¤Ã¤¿¡£
ÌäÂêÅÀ¤È¤·¤Æ¤Ï¥¢¡¼¥à¤ò»ý¤Á¾å¤²¤ë¤È¤¤Ë¥â¡¼¥¿¡¼¤ò»ß¤á¤Æ¤·¤Þ¤¦¤È¥¢¡¼¥à¤¬²¼¤¬¤Ã¤Æ¤¤Æ¤·¤Þ¤¦¤³¤È¤À¤Ã¤¿¡£¥â¡¼¥¿¡¼¤ò»ß¤á¤Ê¤¤¤Î¤Ç¤º¤Ã¤ÈÆ°¤¤¤Æ¤¤¤ë¤³¤È¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤Æ¤¤¤¿¡£¤ä¤Ï¤ê½Å¤¤¤Î¤¬¸¶°ø¤À¤È»×¤¦¤¬·ÚÎ̲½¤ÏÆñ¤·¤«¤Ã¤¿¡£
º£²ó¤Î¥í¥Ü¥Ã¥È¤Ï½½Ê¬¹Í¤¨¤¿Ëö¤Ë½ÐÍè¾å¤¬¤Ã¤¿¤â¤Î¤Ç¤¢¤ë¤¬¥¢¡¼¥àÉôʬ¤ò¤â¤¦¾¯¤·¹©ÉפǤ¤ë¤«¤â¤·¤ì¤Ê¤«¤Ã¤¿¡£¤À¤¬Æ°ºî¤ÎÀµ³ÎÀ¤Ï¹â¤¤¤Û¤¦¤À¤Ã¤¿¤È»×¤¦¡£