- Äɲ䵤줿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
- ºï½ü¤µ¤ì¤¿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
[[2015a/Member]]
* ²ÝÂêÆâÍÆ [#sf34144c]
** ¥é¥¤¥ó¥È¥ì¡¼¥¹ [#e0a11e64]
¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤·¤Ê¤¬¤é¡¤ÅÓÃæ¤Ë¤¢¤ë¥Ô¥ó¥Ý¥ó¶Ì¤ò¥´¡¼¥ë¤Þ¤Ç±¿¤Ó¡¤¥´¡¼¥ë¤Ë¥·¥å¡¼¥È¤¹¤ë¡¥
»ä¤ÏA¤«¤éB¤Î¥³¡¼¥¹(PÃÏÅÀ¡¤QÃÏÅÀ¤È¤â¤Ëľ¿Ê)¤Ç¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤¹¤ë¤³¤È¤Ë¤Ê¤Ã¤¿¡¥
#ref(2015a/Mission2/2015a-mission2.png,50%)
*** ¥ë¡¼¥ë [#t0506adb]
-PÃÏÅÀ¤ÈQÃÏÅÀ¤Î´Ö¤Î¤É¤³¤«¤Ë¥Ô¥ó¥Ý¥ó¶Ì¤òÃÖ¤¯¡¥
-»°ºµÏ©¤ª¤è¤Ó¸òºµÅÀ¤Ç¤Ï2ÉôÖÄä»ß¤¹¤ë¡¥
-»°ºµÏ©¤ª¤è¤Ó¸òº¹ÅÀ¤Ç¤Ï2ÉôÖÄä»ß¤¹¤ë¡¥
-²Äǽ¤Ç¤¢¤ì¤ÐA,B,C¤Î¤½¤ì¤¾¤ì¤Ë¥¨¥ê¥¢¤ËÆþ¤ë»°ºµÏ©Éնᤫ¤é¥Ü¡¼¥ë¤ò¥·¥å¡¼¥È¤¹¤ë¡¥
[[²ÝÂê2>2015a/Mission2]]»²¾È
* Ìܼ¡ [#j88475a2]
#contents
* ¥³¡¼¥¹ [#e79a5a13]
»ä¤Ï¼¡¤Î¤è¤¦¤Ê¥³¡¼¥¹¤Ç¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤·¤¿¡¥
»ä¤Ï²«¿§¤¤´Ý¤Î¾ì½ê¤Ë¥Ô¥ó¥Ý¥ó¶Ì¤òÃÖ¤¤¤Æ¡¤¼¡¤Î¤è¤¦¤Ê¥³¡¼¥¹¤Ç¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤·¤¿¡¥
²«¿§¤¤´Ý¤Î¾ì½ê¤Ë¥Ô¥ó¥Ý¥ó¶Ì¤òÃÖ¤¤¤¿¡¥
#ref(./course.png,30%)
* ¥í¥Ü¥Ã¥È [#b280d77c]
** Á´ÂÎ [#n12d0019]
¥Ô¥ó¥Ý¥ó¶Ì¤ò¶´¤ó¤Ç¥·¥å¡¼¥È¤¹¤ëÆ°ºî¤ò¤¹¤ë¤¿¤á¡¤¥¯¥ï¥¬¥¿¤Î¤è¤¦¤Ê¥í¥Ü¥Ã¥È¤òºî¤Ã¤¿¡¥
** ¥¿¥¤¥ä [#ecacf051]
&ref(./DSC_0221 (2).JPG,10%);
&ref(./DSC_0223.JPG,11%);
** ¥Ô¥ó¥Ý¥ó¶Ì¤òÄϤó¤Ç¥·¥å¡¼¥È¤¹¤ë [#fd189801]
** ¥¿¥¤¥äÉôʬ [#ecacf051]
¶´¤ó¤Ç¥·¥å¡¼¥È¤¹¤ëµ¡¹½¤Î¤¿¤á½Ä¤ËŤ¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¤«¤é¡¤¼ÖÂΤò°ÂÄꤵ¤»¤ëɬÍפ¬¤¢¤Ã¤¿¡¥
¤Þ¤¿¡¤Á°¥¿¥¤¥ä¤È¸å¤í¥¿¥¤¥ä¤Î´Ö³Ö¤¬¹¤¤¤È¤¦¤Þ¤¯¶Ê¤¬¤ì¤º¥é¥¤¥ó¥È¥ì¡¼¥¹¤Ç¤¤Ê¤¤¡¥
¤½¤³¤Ç¡¤¥¤¥ó¥¹¥È¥é¥¯¥·¥ç¥ó¤Î¥í¥Ü¥Ã¥È¤Î¥¿¥¤¥äÉôʬ¤ò»²¹Í¤Ë¤·¤ÆÁȤßΩ¤Æ¤¿¡¥
** ¥¢¡¼¥àÉôʬ [#fd189801]
&ref(./DSC_0230_01.jpg,9%);
&ref(./DSC_0233_01(1).jpg,9%);
&ref(./DSC_0241 (2).JPG,9%);
¥Ô¥ó¥Ý¥ó¶Ì¤ò¶´¤à¡¤²¡¤·½Ð¤·¤Æ¥·¥å¡¼¥È¤¹¤ë¤È¤¤¤¦Æ°ºî¤ò¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡¥
¾å¤Î¿¿¤óÃæ¤Î¿Þ¤Î²«¿§¤Ç°Ï¤Ã¤Æ¼¨¤·¤Æ¤¢¤ë¥Ö¥í¥Ã¥¯¤Ï¥·¥ã¥Õ¥È¤òÄ̤»¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¥Ö¥í¥Ã¥¯¤Ç¡¤RCX¥Ö¥í¥Ã¥¯¤Ë¼è¤êÉÕ¤±¤Æ¤¢¤ê¡¤
¿å¿§¤Ç°Ï¤Ã¤Æ¼¨¤·¤Æ¤¢¤ëÉôʬ¤¬Æ°¤«¤»¤ëÉôʬ¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡¥
»ÅÁȤߤϾå¿Þ¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Æ¡¤
+¥â¡¼¥¿¡¼B¤Ë¤Ä¤¤¤Æ¤¤¤ë¥®¥¢¤¬²ó¤ë(ÜôÌð°õ)
+¥é¥Ã¥¯¥®¥¢¤¬Ê¿¹Ô°ÜÆ°¤¹¤ë(ÀÖÌð°õ)
+¤½¤ÎÀè¤Ë¼è¤êÉÕ¤±¤Æ¤¢¤ë¥¦¥©¡¼¥à¥®¥¢¤¬Á°¸å¤¹¤ë(ÀÄÌð°õ)
+¥¢¡¼¥àÉôʬ¤¬³«ÊĤ¹¤ë(ÎÐÌð°õ)
¤È¤¤¤¦»ÅÁȤߤÀ¡¥³«¤¯¤ÈƱ»þ¤Ë¥Ô¥ó¥Ý¥ó¶Ì¤ò²¡¤·½Ð¤»¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡¥
¤Þ¤¿¡¤³«¤¯¤È¤¤ÈÊĤ¸¤ë¤È¤¤ËËÜÂΤÎÉôÉʤˤ¢¤¿¤Ã¤Æ¡¤³«¤¤¹¤®¤¿¤êÊĤ¸¤¹¤®¤¿¤ê¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¤¤ë¤Î¤À¤¬¡¤¤½¤Î¤Þ¤Þ¤Ç¤Ï¥â¡¼¥¿¡¼¤äÉôÉʤËÉé²Ù¤¬¤«¤«¤Ã¤Æ¤·¤Þ¤¤¸Î¾ã¤Î¸¶°ø¤È¤Ê¤Ã¤Æ¤·¤Þ¤¦¡¥
¤½¤³¤Ç¡¤¥â¡¼¥¿¡¼B¤Î¼´¤ÎÉôʬ¤Ë¥¯¥é¥Ã¥Á¥®¥¢¤òÍѤ¤¤ë¤³¤È¤Ç¡¤É¬Íװʾå¤ËÉé²Ù¤ò¤«¤±¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¤¤ë¡¥
** ¸÷¥»¥ó¥µ¡¼ [#w358038f]
¸÷¥»¥ó¥µ¡¼¤Ï¤Ç¤¤ë¤À¤±º¸±¦¤Î¥¿¥¤¥ä¤ÎÃæ¿´¤Ë»ý¤Ã¤Æ¤¯¤ë¤È¡¤º¸±¦¤Ë¶Ê¤¬¤Ã¤¿¤È¤¤Î¥»¥ó¥µ¡¼¤Î¿¶¤ìÉý¤¬¾®¤µ¤¯¤ÆºÑ¤à¤«¤é¡¤¼ÖÂΤÎÆ⦤˼è¤êÉÕ¤±¤¿¡¥
#ref(./DSC_0228(1).JPG,10%)
¤Þ¤¿¤³¤Î¥í¥Ü¥Ã¥È¤Ï¡¤¥Ô¥ó¥Ý¥ó¶Ì¤ò¥·¥å¡¼¥È¤¹¤ëÉôʬ¤¬¤¢¤ë¤¿¤á¡¤Ãæ¿´¤Ë¤Ï¼è¤êÉÕ¤±¤ë¤³¤È¤¬¤Ç¤¤Ê¤«¤Ã¤¿¤«¤é¡¤¥í¥Ü¥Ã¥È¤Î¾¯¤·º¸Â¦¤Ë¼è¤êÉÕ¤±¤ë¤³¤È¤Ë¤·¤¿¡¥
¥×¥í¥°¥é¥à¤¬¥é¥¤¥ó¤Îº¸Â¦¤ò¥È¥ì¡¼¥¹¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤¿¤á¡¤¸÷¥»¥ó¥µ¡¼¤¬¾¯¤·º¸Â¦¤Ë¤¢¤ë¤È¥í¥Ü¥Ã¥È¤Ï¤Á¤ç¤¦¤É¥é¥¤¥ó¤Î¿¿¤óÃæ¤ò¤Ê¤¾¤Ã¤Æ¸«¤¨¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡¥
* ¥×¥í¥°¥é¥à [#tc80bb2f]
** Äê¿ô[#e95297f7]
- THRESHOLD¡¦¡¦¡¦°ìÈÖ¹õ¤¤¾ì½ê¡¤Çò¤¤¾ì½ê¤Î¥é¥¤¥È¥»¥ó¥µ¡¼¤ÎÃͤ«¤é¤·¤¤¤ÃÍTHRESHOLD¤òÀßÄꤷ¤¿¡¥ºÇ¤â¹õ¤¤¾ì½ê¤Ç¤Ï¥»¥ó¥µ¡¼¤ÎÃͤ¬37¡¤ºÇ¤âÇò¤¤¾ì½ê¤Ç¤Ï51¤Ç¤¢¤Ã¤¿¤¿¤á¡¤44¤È¤·¤¿¡¥
- STEP¡¦¡¦¡¦Äê¿ôSTEP¤Ï¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤¹¤ë¤È¤¤Ë¡¤1²ó¤ÎȽÄê¤Ë¤è¤Ã¤Æ¹ÔÆ°¤¹¤ë»þ´Ö¤Ç¤¢¤ë¡¥ÀßÄê¤Ç¤¤ëºÇ¾®¤ÎÃͤǤ¢¤ë£±¤È¤·¤¿¤«¤é¡¤1²ó¤ÎȽÄê¤Ç0.01ÉùÔÆ°¤¹¤ë¤³¤È¤Ë¤Ê¤ë¡¥
- EYE¡¦¡¦¡¦¸÷¥»¥ó¥µ¡¼¤ÎÃͤòEYE¤È¤·¤¿¡¥
#define THRESHOLD 44
#define STEP 1
#define EYE SENSOR_2
** ¥Þ¥¯¥í[#z0ce7e8f]
** ÊÑ¿ô [#l8903a8b]
- pause¡¦¡¦¡¦¸òº¹ÅÀ¡¤»°ºµÏ©¤ËÆþ¤Ã¤¿¤ÈȽÄꤷ¤¿¤È¤¡¤2ÉôÖÄä»ß¤¹¤ë¡¥
** ¥¿¥¤¥Þ¡¼ [#d46f22f4]
- go_forward¡¦¡¦¡¦¥é¥¤¥ó¥È¥ì¡¼¥¹¤Ç¥»¥ó¥µ¡¼¤ÎÃͤ¬ÃúÅÙ¤·¤¤¤Ãͤλþ¤È¡¤¸òº¹ÅÀ¤òľ¿Ê¤¹¤ë¤È¤¤Ë»È¤¦¡¥
** ¥µ¥Ö¥ë¡¼¥Á¥ó[#pae2f3aa]
- correct_direction(t)¡¦¡¦¡¦¸òºµÅÀ¡¤»°ºµÏ©¤ËÆþ¤Ã¤¿¸å¤Ï¾¯¤·º¸¤ò¸þ¤¤¤Æ¤¤¤ë¤Ï¤º¤À¤«¤é¡¤¤½¤Î¤º¤ì¤ò½¤Àµ¤¹¤ë¡¥¸òº¹ÅÀ¤ä»°ºµÏ©¤Î³ÑÅÙ¤¬¤½¤ì¤¾¤ì°Û¤Ê¤ë¤¿¤á¡¤°ú¿ô¤ò¼è¤ê»þ´Ö¤òÀßÄê¤Ç¤¤ë¤è¤¦¤Ë¤·¤¿¡¥
#define pause Off(OUT_AC);Wait(200);
#define go_forward OnFwd(OUT_AC);
#define correct_direction(t) OnFwd(OUT_A);OnRev(OUT_C);Wait(t);
** ¥µ¥Ö¥ë¡¼¥Á¥ó [#c64b4935]
- catch_ball¡¦¡¦¡¦¿Ê¤ß¤Ê¤¬¤é¥Ô¥ó¥Ý¥ó¶Ì¤ò¥¥ã¥Ã¥Á¤¹¤ë¡¥
- shoot¡¦¡¦¡¦¾¯¤·»ß¤Þ¤Ã¤Æ¤«¤é¥Ô¥ó¥Ý¥ó¶Ì¤ò¥·¥å¡¼¥È¤¹¤ë¡¥Â®¤¤¥·¥å¡¼¥È¤¬½ÐÍè¤ë¤è¤¦¤Ë¥Ñ¥ï¡¼¤ò£·¤ËÀßÄꤷ¤¿¡¥
sub catch_ball()
{
go_forward;Wait(30);
OnFwd(OUT_B);Wait(15);
Off(OUT_ABC);
PlaySound(SOUND_FAST_UP);
}
sub shoot()
{
Off(OUT_AC);Wait(10);
SetPower(OUT_B,7);
OnRev(OUT_B);Wait(13);
Off(OUT_B);
PlaySound(SOUND_UP);
}
** ÊÑ¿ô [#v21dee11]
cross_point¡¦¡¦¡¦¸òº¹ÅÀ¤Ëº¹¤·³Ý¤«¤Ã¤¿²ó¿ô¤ò¥«¥¦¥ó¥È¤¹¤ë¤¿¤á¤Ë»È¤Ã¤¿¡¥
¤³¤ÎÊÑ¿ô¤ò»È¤Ã¤Æ¡¤¸òº¹ÅÀ¤òÄ̤俲ó¿ô¤Çmain¥¿¥¹¥¯¤ÎÃæ¤Îwhileʸ¤òÂ礤¯3¤Ä¤Ëʬ³ä¤·¤Æ¤¤¤ë¡¥
** ¥é¥¤¥ó¥È¥ì¡¼¥¹ [#te113605]
*** ľÀþ¤ä´Ë¤¤¥«¡¼¥Ö¤ò¥È¥ì¡¼¥¹¤¹¤ë¥×¥í¥°¥é¥à [#v0a15963]
¥µ¥Ö¥ë¡¼¥Á¥óline_trace¤È¤·¤ÆÄêµÁ¤·¤¿¡¥
¤³¤Î¥×¥í¥°¥é¥à¤Ç¤Ï¥»¥ó¥µ¡¼¤ÎÃͤˤè¤Ã¤Æ¥í¥Ü¥Ã¥È¤Î¹ÔÆ°¤ò3¤Ä¤Ëʬ¤±¤Æ¤¤¤ë¡¥¸÷¥»¥ó¥µ¡¼¤ÎÃͤ¬¤·¤¤¤Ãͤè¤êÄ㤤¤È¹õ¤ÈȽÊ̤·¤Æº¸¤Ë¶Ê¤¬¤ë¡¤¹â¤¤¤ÈÇò¤ÈȽÊ̤·¤Æ±¦¤Ë¶Ê¤¬¤ë¡¤¹õ¤ÈÇò¤Î¤Á¤ç¤¦¤ÉÃæ´Ö¤Ï³¥¿§¤ÈȽÊ̤·¤Æ¿¿¤Ãľ¤°¿Ê¤à¡¥
¶Ê¤¬¤ë¤È¤¤ÏÊÒÊý¤Î¥¿¥¤¥ä¤ò»ß¤á¤Æ¶Ê¤¬¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤ë¡¥
¤Þ¤¿¡¤¿¿¤Ãľ¤°¿Ê¤à¤È¤¤Î¥Ñ¥ï¡¼¤Ï3¤È¤·¡¤¶Ê¤¬¤ë¤È¤¤Î¥Ñ¥ï¡¼¤òÀäÂÐÃÍ|(¤·¤¤¤ÃÍ)¡½(¥»¥ó¥µ¡¼¤ÎÃÍ)|¤È¤¹¤ë¤³¤È¤Ç¡¤¥é¥¤¥ó¤Î¶³¦Àþ¤«¤éÎ¥¤ì¤Æ¤¤¤ë¤Û¤ÉÂ礤¤ÎϤǡ¤¶á¤¤¤È¾®¤µ¤¤ÎϤǶʤ¬¤ë¤è¤¦¤Ë¤·¤¿¡¥¥»¥ó¥µ¡¼¤ÎÃͤÏ37¡Á51¤ò¼¨¤¹¤«¤é¡¤¥Ñ¥ï¡¼¤ÎºÇÂçÃͤÏ6¤È¤Ê¤ê¡¤Äø¤è¤¤¥Ñ¥ï¡¼¤Ç¥¹¥à¡¼¥º¤Ë¥é¥¤¥ó¥È¥ì¡¼¥¹¤¬¤Ç¤¤¿¡¥
sub line_trace()
{
if(EYE < THRESHOLD) { //¥»¥ó¥µ¡¼¤ÎÃͤ¬¤·¤¤¤Ãͤè¤ê¤âÄ㤤¤È¤(¹õ)º¸¤Ë¶Ê¤¬¤ë
SetPower(OUT_AC,THRESHOLD-EYE);
OnFwd(OUT_C);Off(OUT_A);
ClearTimer(1);
} else {
if(EYE == THRESHOLD) { //¥»¥ó¥µ¡¼¤ÎÃͤ¬¤Á¤ç¤¦¤É¤·¤¤¤ÃͤΤȤ(³¥¿§)¤Þ¤Ã¤¹¤°¿Ê¤à
SetPower(OUT_AC,3);
go_forward;
ClearTimer(1);
} else { //¥»¥ó¥µ¡¼¤ÎÃͤ¬¤·¤¤¤Ãͤè¤ê¤â¹â¤¤¤È¤(Çò)±¦¤Ë¶Ê¤¬¤ë
SetPower(OUT_AC,EYE-THRESHOLD);
OnFwd(OUT_A);Off(OUT_C);
}
ClearTimer(0);
}
Wait(STEP);
/*¹õ¤Ë¤Ê¤Ã¤¿¤È¤¤ÏFastTimer(0)¤Ï¤½¤Î¤Þ¤Þ¡¤Çò¤È³¥¿§¤Î¤È¤¤Ï¥ê¥»¥Ã¥È(Ϣ³¤Ç¹õ¤Ë¤Ê¤Ã¤¿»þ´Ö¤ò·×¬)
Çò¤Ë¤Ê¤Ã¤¿¤È¤¤ÏFastTimer(1)¤Ï¤½¤Î¤Þ¤Þ¡¤¹õ¤È³¥¿§¤Î¤È¤¤Ï¥ê¥»¥Ã¥È(Ϣ³¤ÇÇò¤Ë¤Ê¤Ã¤¿»þ´Ö¤ò·×¬)*/
if(FastTimer(1) > 80){¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ /*°ìÄê¤Î»þ´Ö¡Ê0.8Éá˰ʾåÇò¤¤¾ì½ê¤Ë¤¤¤ë¤È¤
OnRev(OUT_AC);until(EYE < THRESHOLD);Off(OUT_AC); ¹õ¤¤¾ì½ê¤Þ¤Ç²¼¤¬¤ë*/
ClearTimer(0);
}
}
*** ¥¿¥¤¥Þ¡¼ FastTimer(0),FastTimer(1) [#r4a9195d]
- FastTimer(0)¡¦¡¦¡¦½é¤á¤ÏÊÑ¿ô¤ò»È¤Ã¤Æ¡ÖϢ³¤Ç¹õ¤Ë¤Ê¤Ã¤¿(º¸¤Ë¶Ê¤¬¤Ã¤¿)²ó¿ô¡×¤Ç¸òº¹ÅÀ¤À¤ÈȽÄꤹ¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤¿¡¥
¡¡¡¡¡¡¤·¤«¤·¥¿¥¤¥Þ¡¼¤ò»È¤Ã¤Æ¡ÖϢ³¤Ç¹õ¤Ë¤Ê¤Ã¤¿»þ´Ö¡×¤Ç¸òº¹ÅÀ¤òȽÄꤹ¤ë¤è¤¦¤Ë¤·¤¿¤È¤³¤í¡¤¤è¤êÀµ³Î¤Ë¸òº¹ÅÀ¤ÈµÞ¤Ê¥«¡¼¥Ö¤òȽÊ̤Ǥ¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡¥
¡¡¡¡¡¡¤½¤Î¤¿¤á¡¤FastTimer(0)¤ò»È¤Ã¤Æ¡¤»þ´Ö¤Ç¸òº¹ÅÀ¤ÎȽÊ̤ò¤¹¤ë¤è¤¦¤Ë¤·¤¿¡¥
- FastTimer(1)¡¦¡¦¡¦FastTimer(0)¤È¤ÏµÕ¤Ç¡¤¡ÖϢ³¤ÇÇò¤Ë¤Ê¤Ã¤¿»þ´Ö¡×¤ò¥«¥¦¥ó¥È¤¹¤ë¡¥
¡¡¡¡¡¡¤³¤ì¤ò»È¤Ã¤Æ°ìÄê¤Î»þ´ÖÇò¤ÈȽÄꤷ³¤±¤¿¾ì¹ç¡¤¥é¥¤¥ó¤Î¾å¤Ë¾è¤Ã¤Æ¤¤¤Ê¤¤¤ÈȽÃǤ·¡¤¥»¥ó¥µ¡¼¤ÎÃͤ¬¹õ¤Ë¤Ê¤ë¤Þ¤Ç²¼¤¬¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤ë¡¥
main¥¿¥¹¥¯¤Ç¤Ï¥µ¥Ö¥ë¡¼¥Á¥óline_trace¤òwhileʸ¤Ç°Ï¤Ã¤Æ¤¢¤ë¤«¤é¡¤°ìÄê¤Î»þ´Ö°Ê¾å¹õ¤ÎȽÄê¤Ë¤Ê¤Ã¤¿¤È¤¡¤¥ë¡¼¥×¤òÈ´¤±½Ð¤·¸òº¹ÅÀ¤ä»°ºµÏ©¤ò¿Ê¤à¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡¥
while(FastTimer(0) < 35) {
line_trace();
}
pause;
correct_direction(20);
go_forward;Wait(15);
*** µÞ¤Ê¥«¡¼¥Ö¤ò¥È¥ì¡¼¥¹¤¹¤ë¥×¥í¥°¥é¥à [#k52c9766]
PÃÏÅÀ¤«¤éQÃÏÅÀ¤Ë¤ÏȾ·Â7.5Ñ(¤³¤Î¥×¥í¥°¥é¥à¤Ç¤Ï¥é¥¤¥ó¤Îº¸Â¦¤ò¥È¥ì¡¼¥¹¤¹¤ë¤«¤é¼ÂºÝ¤Ë¶Ê¤¬¤ë¤Î¤Ï¤Ï6.5Ñ)¤Î±ß¤¬¤¢¤ë¡¥
¤³¤Î¥«¡¼¥Ö¤Ï¥µ¥Ö¥ë¡¼¥Á¥óline_trace¤Ç¤Ï¶Ê¤¬¤ê¤¤ë¤³¤È¤¬¤Ç¤¤Ê¤«¤Ã¤¿¡¥
¤½¤³¤Ç¥µ¥Ö¥ë¡¼¥Á¥óline_trace¤ËOnRev¤òÄɲä·¡¤µÞ¤Ê¥«¡¼¥Ö¤ò¶Ê¤¬¤ì¤ë¥×¥í¥°¥é¥à¤ò¥µ¥Ö¥ë¡¼¥Á¥ócurve_trace¤È¤·¤¿¡¥È¿Å¾¤¹¤ë¥¿¥¤¥ä¤Î¥Ñ¥ï¡¼¤¬2¤òĶ¤¨¤ë¤È¥¹¥Ô¡¼¥É¤¬¶Ëü¤ËÍî¤Á¤Æ¤·¤Þ¤Ã¤¿¤¿¤á¡¤¥Ñ¥ï¡¼¤Ï1¤È¤·¤¿¡¥
sub curve_trace() //OnRev¤òÄɲ䷵ޤʥ«¡¼¥Ö¤ò¶Ê¤¬¤ì¤ë¤è¤¦¤Ë¤·¤¿
{
if(EYE < THRESHOLD) {
SetPower(OUT_C,THRESHOLD-EYE);SetPower(OUT_A,1);
OnFwd(OUT_C);OnRev(OUT_A);
ClearTimer(1);
} else {
if(EYE == THRESHOLD) {
SetPower(OUT_AC,3);
go_forward;
ClearTimer(1);
} else {
SetPower(OUT_A,EYE-THRESHOLD);SetPower(OUT_C,1);
OnFwd(OUT_A);OnRev(OUT_C);
}
ClearTimer(0);
}
Wait(STEP);
if(FastTimer(1) > 80){
OnRev(OUT_AC);until(EYE < THRESHOLD);Off(OUT_AC);
ClearTimer(0);
}
}
** main¥¿¥¹¥¯ [#tccf2fc7]
*** whileʸ¤Îʬ³ä [#h72f4766]
¸òº¹ÅÀ¤È»°ºµÏ©¤´¤È¤Ë¡¤¥Ô¥ó¥Ý¥ó¶Ì¤ò¤È¤Ã¤Æ¤«¤éľ¿Ê¡¤Ä¾¿Ê¡¤¥Ô¥ó¥Ý¥ó¶Ì¤ò¥·¥å¡¼¥È¡¤¤È¤½¤ì¤¾¤ì°ã¤Ã¤¿Æ°ºî¤ò¤¹¤ë¤¿¤á¡¤ÊÑ¿ôcross_point¤ò»È¤Ã¤Æwhileʸ¤òÂ礤¯3ʬ³ä¤·¤¿¡¥¤Þ¤¿¡¤¤½¤¦¤¹¤ë¤³¤È¤Ç³Æwhileʸ¤Ë¤è¤Ã¤Æ¸òº¹ÅÀ¡¤»°ºµÏ©¤Î´ð½à(FastTimer(0)¤¬²¿Éðʲ¼¤«)¤òÊѤ¨¤ë¤³¤È¤¬¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡¥
*** ¥¿¥¤¥Þ¡¼ FastTimer(2) [#fc6471ea]
FastTimer(2)¡¦¡¦¡¦£ÐÃÏÅÀ¤«¤é£ÑÃÏÅÀ¤Î´Ö¤Ë¡¤È¾·Â7.5ѤΥ«¡¼¥Ö¤¬¤¢¤ë¡¥¤½¤Î¥«¡¼¥Ö¤Ï¤½¤ì¤Þ¤Ç¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤Ç¤Ï¶Ê¤¬¤ì¤Ê¤¤¡¥¤½¤Î¤¿¤áFastTimer(2)¤ò»È¤¤¡¤¥Ô¥ó¥Ý¥ó¶Ì¤ò¤È¤Ã¤Æ¤«¤éµÞ¥«¡¼¥Ö¤Þ¤Ç¤Î°ìÄê»þ´Ö¤Ï¥µ¥Ö¥ë¡¼¥Á¥óline_trace¡¥µÞ¥«¡¼¥Ö¤Ëº¹¤·³Ý¤«¤Ã¤Æ¤«¤é°ìÄê»þ´Ö¤ÏµÞ¥«¡¼¥Ö¤ò¶Ê¤¬¤ë¤¿¤á¤Î¥µ¥Ö¥ë¡¼¥Á¥ócurve_trace¤ò¤¹¤ë¤è¤¦¤Ë¤·¤¿¡¥
*** task main [#ic456ea0]
task main()
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
ClearTimer(0);
int cross_point=0;
ClearTimer(2);
//////////////////////
//
// ¥¨¥ê¥¢£Á¤«¤é£ÐÃÏÅÀ
//
//////////////////////
while(cross_point==0) { //cross_point¤¬£°¡ÊA¤«¤éP¡Ë¤Î¤È¤·«¤êÊÖ¤¹
while(FastTimer(0) < 35) { //ºÇ½é¤Î»°ºµÏ©¤Þ¤Ç¥µ¥Ö¥ë¡¼¥Á¥óline_trace·«¤êÊÖ¤·
line_trace();
}
pause;
correct_direction(30);
catch_ball(); //¥Ô¥ó¥Ý¥ó¶Ì¤ò¶´¤à
ClearTimer(0);
cross_point++; //¥ë¡¼¥×½ª¤ï¤ê
}
//////////////////////
//
// £ÐÃÏÅÀ¤«¤é£ÑÃÏÅÀ
//
//////////////////////
ClearTimer(2);
while(cross_point==1) { //cross_point¤¬£±¡ÊP¤«¤éQ¡Ë¤Î¤È¤·«¤êÊÖ¤¹
while((FastTimer(2) < 500)&&(FastTimer(0) < 100)) {¡¡ //¸òº¹ÅÀ¤òÄ̤äƤ«¤é£µÉô֤ϡ¤¸òº¹ÅÀ¤òǧ¼±¤·¤Ë¤¯¤¯¤·¤Æ¥µ¥Ö¥ë¡¼¥Á¥óline_trace·«¤êÊÖ¤·
line_trace();
}
PlaySound(SOUND_CLICK); ¡¡¡¡ //ȽÄ꤬ÀÚ¤êÂؤï¤ë¹ç¿Þ
while((FastTimer(2) < 1200)&&(FastTimer(0) < 100)) {¡¡ //¸òº¹ÅÀ¤òÄ̤äƤ«¤é£µÉ÷ФäƤ«¤é¡¤£·Éô֤ϥµ¥Ö¥ë¡¼¥Á¥ócurve_trace·«¤êÊÖ¤·
curve_trace();
}
PlaySound(SOUND_CLICK); ¡¡¡¡¡¡¡¡¡¡¡¡ //ȽÄ꤬ÀÚ¤êÂؤï¤ë¹ç¿Þ
while(FastTimer(0) < 35) { ¡¡¡¡ //µÞ¥«¡¼¥Ö¤ò¤À¤¤¤¿¤¤¶Ê¤¬¤ê¤¤Ã¤¿¤¢¤È¡¤¸òº¹ÅÀȽÄê¤ò¸µ¤ËÌᤷ¤Æ¸òº¹ÅÀ¤Þ¤Ç¥µ¥Ö¥ë¡¼¥Á¥óline_trace·«¤êÊÖ¤·
line_trace();
}
pause;
correct_direction(20);
go_forward;Wait(15); ¡¡ ¡¡ //¸òº¹ÅÀ¤òľ¿Ê
ClearTimer(0);
cross_point++; //¥ë¡¼¥×½ª¤ï¤ê
}
//////////////////////
//
// £ÑÃÏÅÀ¤«¤é¥¨¥ê¥¢£Â
//
//////////////////////
while(cross_point==2) { //cross_point¤¬£²¡ÊQ¤«¤éB¡Ë¤Î¤È¤·«¤êÊÖ¤¹
while(FastTimer(0) < 30) { ¡¡ //ºÇ¸å¤Î»°ºµÏ©¤Þ¤Ç¥µ¥Ö¥ë¡¼¥Á¥óline_trace·«¤êÊÖ¤·
line_trace();
}
pause;
correct_direction(10);
shoot(); ¡¡¡¡ //¥·¥å¡¼¥È
cross_point++; //¥ë¡¼¥×½ª¤ï¤ê
}
}
* Æ°²è [#w7140d73]
http://youtu.be/5y0AsZu49UQ
* ¤Þ¤È¤á¤ÈÈ¿¾Ê [#db143145]
¥Ô¥ó¥Ý¥ó¶Ì¤ò¶´¤ó¤Ç¥·¥å¡¼¥È¤¹¤ëµ¡¹½¤Î¤¿¤á¤Ë¡¤¥í¥Ü¥Ã¥È¤¬Â礤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡¥
¤½¤Î¤¿¤á¡¤¾®²ó¤ê¤¬Íø¤¤Ë¤¯¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¤¡¤µÞ¥«¡¼¥ÖÍѤΥ饤¥ó¥È¥ì¡¼¥¹¤Î¥×¥í¥°¥é¥à¤òºî¤ë¤³¤È¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡¥
¤·¤«¤·¡¤¥¿¥¤¥Þ¡¼¤ò»È¤Ã¤Æ¥é¥¤¥ó¥È¥ì¡¼¥¹¤Î¥×¥í¥°¥é¥à¤òÀÚ¤êÂؤ¨¤ë¤³¤È¤Ç¡¤¤½¤ÎÌäÂê¤ò¤¦¤Þ¤¯²ò·è¤Ç¤¤¿¤È»×¤¦¡¥
¤³¤Î¥×¥í¥°¥é¥à¤À¤È¡¤¥¿¥¤¥Þ¡¼¤ÇÀ©¸æ¤·¤Æ¤¤¤ëÉôʬ¤âÂçÉý¤Ë¤º¤ì¤ë¤³¤È¤â¤Ê¤¯¡¤À®¸ùΨ¤Î¹â¤¤°ÂÄꤷ¤¿Áö¤ê¤ò¤·¤¿¡¥