- Äɲ䵤줿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
- ºï½ü¤µ¤ì¤¿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
*¹õÀþ¤Ë±è¤Ã¤ÆÁö¤é¤»¤í¡ª [#b2e8acd5]
Ìܼ¡
#contents
*¥á¥ó¥Ð¡¼ [#x1c071aa]
-¤°¤ÃP
-¾áñÄ¡Ä¡ÄÅŵ¤ÅŻҹ©³Ø²Ê¡£¥í¥Ü¥Ã¥È¤Ë̵Â̤ʤâ¤Î¤òÉÕ¤±¤Æ¤Ï²þ°¤·¤Æ¤¤¤ë¡£
*²ÝÂêÆâÍÆ [#r868ffa5]
¼¡¤Î¤è¤¦¤Ê¼þ²ó¥³¡¼¥¹(¹õ¤¤Àþ)¤òÆ°¤¯¥í¥Ü¥Ã¥È¤òºîÀ®¤»¤è¡£
¡¦Ä̾ï¤Î¸òº¹ÅÀ¤¬2²Õ½ê°Ê¾å¤¢¤ë
¡¦¥í¡¼¥¿¥ê¡¼·¿¤Î¸òº¹ÅÀ¤¬1²Õ½ê°Ê¾å¤¢¤ë (¥í¡¼¥¿¥ê¡¼¤Ç¤ÏÈ¿»þ·×¤Þ¤ï¤ê¤Ë¿Ê¤à)
¡¦Ä¾³Ñ¤Ë¶Ê¤¬¤ë¥³¡¼¥Ê¡¼¤ª¤è¤Ó¤½¤Î¥³¡¼¥Ê¡¼¤ò¥·¥ç¡¼¥È¥«¥Ã¥È¤¹¤ë¥³¡¼¥¹(ÅÀÀþ)¤¬Â¸ºß¤¹¤ë
¡¦µÞ¤Ê¥Ø¥¢¥Ô¥ó¥«¡¼¥Ö¤¬1²Õ½ê°Ê¾å¤¢¤ë
¡¦¥¹¥¿¡¼¥ÈÃÏÅÀ¤ËÌÜ°õ¤¬¤¢¤ë
¡¦¹õ¤¤Àþ¤ÎÉý¤Ï15¡Á20mmÄøÅÙ
¥»¥ó¥µ¡¼¡¢¥â¡¼¥¿¡¼¤Ï¤¤¤¯¤Ä»È¤Ã¤Æ¤â¤è¤¤¡£¥×¥í¥°¥é¥à¤Ï¼¡¤Î2¤Ä¤òºîÀ®¤¹¤ë¤³¤È¡£
1.ľ³Ñ¤Î¥³¡¼¥Ê¡¼¤òÄ̤ë
2.ľ³Ñ¤Î¥³¡¼¥Ê¡¼¤òÄ̤é¤Ê¤¤(¶áÆ»¤¹¤ë)
¸òº¹ÅÀ¤ò¶Ê¤¬¤ë»þ¤Ë¤Ï¡¢¸÷¥»¥ó¥µ¤ò͸ú¤Ë»È¤¦¤³¤È¡Ê¤¢¤ëÃÏÅÀ¤«¤é¤Îµ÷Î¥¤ä»þ´Ö¤À¤±¤ËÍê¤é¤Ê¤¤¤³¤È¡Ë
¤È¤Î»ØÎá¤ò¼õ¤±¤Æ¡¢»ä¤¿¤Á¤¬³«È¯¤·¤¿¥³¡¼¥¹¤¬¤³¤Á¤é¤È¤Ê¤ê¤Þ¤¹¡£
¤Ê¤ª¡¢¾ò·ï¤Ë¤¢¤ëľ³Ñ¥³¡¼¥Ê¡¼¤Î¿Ê¹Ô¤Ï¸·Àµ¤Ê¤ë¤¸¤ã¤ó¤±¤ó¤Î·ë²Ì¡¢''¤°¤ÃP¢ªÄ̤ë''¡¢''¾áñÄ¢ª¶áÆ»''¤È¤Ê¤ê¤Þ¤·¤¿¡£
#ref(2011b/A1/²ÝÂꣲº¸/course.jpg,100%,¥³¡¼¥¹)
¸òº¹ÅÀ¤Ç¤Ïľ¿Ê¡¢¥í¡¼¥¿¥ê¡¼¤Ç¤Ï¾ò·ïÄ̤êÈ¿»þ·×²ó¤ê¤Ë¿Ê¹Ô¤·¤Þ¤¹¡£
¤Á¤Ê¤ß¤Ë¡¢¥í¡¼¥¿¥ê¡¼Æâ¤Î¹Å²ß¤ÏÂ礤µÈæ³Ó¤Î¤¿¤á¤ËÃÖ¤¤¤¿¤À¤±¤Ç¤¹¡£¤ä¤äÂ礤á¤Î»æ¤ËÉÁ¤¤¤Æ¤¢¤ë¤³¤È¤¬¤ï¤«¤Ã¤Æ¤¤¤¿¤À¤±¤ì¤Ð¹¬¤¤¤Ç¤¹¡£
*¥í¥Ü¥Ã¥È¤Î¾Ò²ð [#gcb856c7]
**¥É¥é¥¤¥Ö¥Ù¡¼¥¹ [#oa4bfcc5]
Á´³«»ÈÍѤ·¤¿¥í¥Ü¥Ã¥È¤Îή¤ì¤òÁȤྮ·¿¤Î¥æ¥Ë¥Ã¥È¤È¤Ê¤Ã¤Æ¤ª¤ê¤Þ¤¹¡£¤¿¤À¤·Á°²ó¤ÈƱ¤¸¤è¤¦¤Ë¥¹¥Ô¡¼¥É¤¬¤½¤³¤½¤³½Ð¤Þ¤¹¡£¤³¤ì¤Ï¤¢¤ë°ÕÌ£¥Ç¥á¥ê¥Ã¥È¡£¤Ê¤¼¤Ê¤éºÙ¤«¤¤Ä´À°¤¬¤Ç¤¤º¡¢¸íº¹¤¬Â礤¯¤Ê¤ë¤«¤é¤Ç¤¹¡£
¥É¥é¥¤¥Ö¥Ù¡¼¥¹¤Î¾å¤Ë¤¢¤ëÆóËܤÎŤ¤¥ì¥´¥Ö¥í¥Ã¥¯¤Ï¤³¤Î¥í¥Ü¥Ã¥È¤Îε¹ü¤È¸À¤Ã¤Æ¤â¤è¤¤Éôʬ¤Ç¤¹¡£¤³¤³¤Ë¤Ï¸÷¥»¥ó¥µ¡¼¤ò»Ù¤¨¡¢ÈøÎؤò»Ù¤¨¡¢RCX ËÜÂΤò¤â»Ù¤¨¤Æ¤â¤é¤¦¤Î¤Ç¡¢¥â¡¼¥¿¡¼¤Ë¤·¤Ã¤«¤ê¤ÈÀܳ¤·¤Æ¤¢¤ê¤Þ¤¹¡£
**¸÷¥»¥ó¥µ¡¼¥æ¥Ë¥Ã¥È [#c9b1ae82]
#ref(2011b/A1/²ÝÂꣲº¸/sensor2.jpg,100%,¸÷¥»¥ó¥µ¡¼¥æ¥Ë¥Ã¥È¤Ï´Êñ¤Ê¤Ä¤¯¤ê)
´Êñ¤Ë¥É¥é¥¤¥Ö¥Ù¡¼¥¹Îµ¹ü¤Ë¤È¤Ã¤Ä¤±¤Æ¤¢¤ë¤À¤±¤Ç¤¹
#ref(2011b/A1/²ÝÂꣲº¸/sensor1.jpg,100%,»æ¤Ë¤®¤ê¤®¤ê¤Ç¤¹)
**²óž¥»¥ó¥µ¡¼¥æ¥Ë¥Ã¥È [#pccbe284]
*¥×¥í¥°¥é¥à¤Î¾Ò²ð [#vb1b8168]
**¤°¤ÃP¤Î¥×¥í¥°¥é¥à [#kd2772aa]
**¾áñÄ¤Î¥×¥í¥°¥é¥à [#u84ae5cb]
¾õ¶·¡Êphase¡Ë¤Ë¤è¤Ã¤Æ¤½¤ÎÀìÍÑ¤Î¥×¥í¥°¥é¥à¡Ê´Ø¿ô¡Ë¤ò¼Â¹Ô¤·¤Æ¤¤¤Þ¤¹¡£¤½¤Î¤»¤¤¤Ç¤³¤Î¥ë¡¼¥ÈÀìÍÑ¤Î¥×¥í¥°¥é¥à¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡£
#define value 45 //ÌÀ¤ë¤µ1
#define Hvalue 50 //ÌÀ¤ë¤µ2
#define seL SENSOR_1 //SENSOR_1¤ÏŤ¤¤Î¤Ç¥»¥ó¥µ¡¼º¸¤È¸À¤¦°ÕÌ£¤ò¹þ¤á¤Æά¤·¤Æ¤¤¤Þ¤¹
#define seR SENSOR_3 //¾å»²¹Í
int phase = 1; //¾õ¶·
int count = 1; //¤¤¤í¤¤¤í¤Ê¥«¥¦¥ó¥È
int cross; //¸òº¹ÅÀ¤Ë¿¯Æþ¤·¤¿²ó¿ô¤ò·×¬¡§¸òº¹ÅÀ¤ò¤½¤Î¤Þ¤Þľ¿Ê¤¹¤ë²ó¿ô¤òľÁ°¤ÇÂåÆþ¤·¤Æ¤¤¤Þ¤¹
void Rsen_trace(){ //±¦¥»¥ó¥µ¡¼¤Î¤ß¤Ç¥È¥ì¡¼¥¹¤¹¤ë´Ø¿ô
OnFwd(OUT_AC);if(seR < value){Off(OUT_C);OnFwd(OUT_A);} //±¦¥»¥ó¥µ¡¼¤¬¹õÀþ¾å¤Ê¤é±¦¤Ë
else{Off(OUT_A);OnFwd(OUT_C);} //±¦¥»¥ó¥µ¡¼¤¬¹õÀþ³°¤Ê¤éº¸¤Ë
if(seL < value){phase++;} //º¸¥»¥ó¥µ¡¼¤¬È¿±þ¤·¤¿¤é¼¡¥Õ¥§¥¤¥º¤Ø
}
void Lsen_trace(){ //º¸¥»¥ó¥µ¡¼¤Î¤ß¤Ç¥È¥ì¡¼¥¹¤¹¤ë´Ø¿ô
if(seL < value) {Off(OUT_A);OnFwd(OUT_C);} //º¸¥»¥ó¥µ¡¼¤¬¹õÀþ¾å¤Ê¤éº¸¤Ë
else {Off(OUT_C);OnFwd(OUT_A);} //º¸¥»¥ó¥µ¡¼¤¬¹õÀþ³°¤Ê¤é±¦¤Ë
if(seR < value){ //¥í¡¼¥¿¥ê¡¼Æâ¤Ç¤Î¥Õ¥§¥¤¥º°Ü¹Ô¤Î»þ´ü¤ò·×¬¤·¤Æ¤¤¤Þ¤¹
if(count < 2){OnFwd(OUT_AC);Wait(15);count++;} //±¦¥»¥ó¥µ¡¼¤ÎÈ¿±þ¤¬º£¤Þ¤Ç1²ó°ÊÆâ¤Ê¤é¤Ð̵»ë
else{Off(OUT_AC);phase++;count = 1;} //2²ó°Ê¾å¤Ê¤é¤Ð¼¡¥Õ¥§¥¤¥º¤Ë°Ü¹Ô¡£count¤ò¸µ¤ËÌᤷ¤Þ¤¹
}
}
void Dsen_trace(){ //2¸Ä¤Î¥»¥ó¥µ¡¼¤ò»È¤Ã¤Æ¥È¥ì¡¼¥¹¤¹¤ë´Ø¿ô
if(seL < value && seR > value){OnFwd(OUT_C);Off(OUT_A);} //º¸¡§¹õÀþ¾å¡¡±¦¡§¹õÀþ³° ¢ª¡¡º¸ÀÞ
if(seR < value && seL > value){OnFwd(OUT_A);Off(OUT_C);} //±¦¡§¹õÀþ¾å¡¡º¸¡§¹õÀþ³° ¢ª¡¡±¦ÀÞ
if(seL > value && seR > value){OnFwd(OUT_AC);} //ξ¥»¥ó¥µ¡¼¤¬¹õÀþ³° ¢ª¡¡Ä¾¿Ê
if(seL < value && seR < value) { //ξ¥»¥ó¥µ¡¼¤¬¹õÀþ¾å¤Î»þcross¤ÎÃͤǹÔÆ°¤òÊѲ½¤µ¤»¤Þ¤¹
OnFwd(OUT_AC);Wait(30);PlaySound(SOUND_UP); //ľ¿Ê¡§¼ç¤ËÄ̾ï¸òº¹ÅÀ¤ÎÄ̲᤹¤ë¤È¤¤Î¹ÔÆ°¤Ç¤¹
if(cross==0){Off(OUT_AC);phase++;} //cross¤ÎÃͤ¬´ûÄêÃͤʤé¤Ð¼¡¥Õ¥§¥¤¥º¤Ë°Ü¹Ô¤·¤Þ¤¹
else{cross--;} //¤½¤¦¤Ç¤Ê¤±¤ì¤Ðø¡¹¤È¿ô¤¨¤Þ¤¹
}
}
void hairpinLturn(){ //¥Ø¥¢¥Ô¥óº¸¥¿¡¼¥ó¤ò¹Ô¤¦´Ø¿ô
PlaySound(SOUND_CLICK);OnFwd(OUT_AC);until(seL >= Hvalue);Off(OUT_AC); //º¸¥»¥ó¥µ¡¼¤¬¹õÀþ³°¤Ë½Ð¤ë¤Þ¤ÇÁ°¿Ê
PlaySound(SOUND_CLICK);OnRev(OUT_A);OnFwd(OUT_C); //Ķ¿®ÃϺ¸Àû²ó
until(seL < value);until(seL >= Hvalue);Off(OUT_AC); //º¸¥»¥ó¥µ¡¼¤¬¹õÀþ¾å¢ª¹õÀþ³°¤Ë¤Ê¤ë¤Þ¤ÇÂÔµ¡
PlaySound(SOUND_CLICK);OnFwd(OUT_C);Wait(15);until(seL >= Hvalue);Off(OUT_AC); //º¸Àû²ó¡¡¤Þ¤¿¹õÀþ¾å¤ËÆþ¤ëº¸¥»¥ó¥µ¡¼¤¬¹õÀþ³°¤Ë¤Ê¤ë¤Þ¤ÇÂÔµ¡
PlaySound(SOUND_CLICK);phase++; //¼¡¥Õ¥§¥¤¥º¤Ø
}
void in_rotary(){ //¥í¡¼¥¿¥ê¡¼¤ËÆþ¤ë¤È¤¤Î´Ø¿ô
PlaySound(SOUND_CLICK);OnRev(OUT_AC);Wait(20);Off(OUT_AC); //¥í¡¼¥¿¥ê¡¼¤ËÆþ¤ëÁ°¤ÎDsen_trace()¤Ç¿Ê¤ß¤¹¤®¤¿¤Î¤òÌ᤹
PlaySound(SOUND_CLICK);OnFwd(OUT_A);OnRev(OUT_C);Wait(50); //Ķ¿®Ãϱ¦Àû²ó
PlaySound(SOUND_CLICK);OnFwd(OUT_AC);until(seL < value); //º¸¥»¥ó¥µ¡¼¤¬¹õÀþ¾å¤Ë¤Ê¤ë¤Þ¤ÇÁ°¿Ê
PlaySound(SOUND_CLICK);Off(OUT_AC);phase++; //¼¡¥Õ¥§¥¤¥º¤Ø
}
void out_rotary(){ //¥í¡¼¥¿¥ê¡¼¤«¤é½Ð¤ë¤È¤¤Î´Ø¿ô
PlaySound(SOUND_CLICK);OnFwd(OUT_AC);Wait(10);OnRev(OUT_C);Wait(10); //¾¯¤·¤À¤±Á°¿Ê¤·¤¿¸å¡¢Ä¶¿®Ãϱ¦Àû²ó
PlaySound(SOUND_CLICK);until(seL >= Hvalue);until(seL < value);Off(OUT_AC); //º¸¥»¥ó¥µ¡¼¤¬¹õÀþ³°¢ª¹õÀþ¾å¤Ë¤Ê¤ë¤Þ¤ÇÂÔµ¡¤·¤¿¸åÄä»ß¡£
phase++; //¼¡¥Õ¥§¥¤¥º¤Ø
}
void in_shorterline(){ //¶áÆ»¡ÊÅÀÀþ¡Ë¤ËÆþ¤ë»þ¤Î´Ø¿ô
PlaySound(SOUND_CLICK);OnFwd(OUT_A);Wait(5); //¾¯¤·¤À¤±Á°¿Ê
PlaySound(SOUND_CLICK);until(seL >= Hvalue);until(seL < value);Off(OUT_AC); //º¸¥»¥ó¥µ¡¼¤¬¹õÀþ³°¢ª¹õÀþ¾å¤Ë¤Ê¤ë¤Þ¤ÇÂÔµ¡¤·¤¿¸åÄä»ß¡£
PlaySound(SOUND_CLICK);OnFwd(OUT_C);Wait(5);Off(OUT_AC); //¡ÊÈùÄ´À°¡Ëº¸Àû²ó¤ò¤Á¤ç¤Ã¤È¤À¤±
PlaySound(SOUND_DOWN);phase++; //¼¡¥Õ¥§¥¤¥º¤Ø
}
void go_shorterline(){ //¶áÆ»¡ÊÅÀÀþ¡Ë¤ò¿Ê¹Ô¤¹¤ë»þ¤Î´Ø¿ô
if(seL <= Hvalue && seR > value){OnFwd(OUT_C);until(seR < value);Off(OUT_AC);} //º¸¡§¹õÀþ¾å¡¡±¦¡§¹õÀþ³°¡¡¢ª¡¡±¦¥»¥ó¥µ¡¼¤¬¹õÀþ¾å¤Ë¤Ê¤ë¤Þ¤Çº¸Àû²ó
if(seR <= Hvalue && seL > value){OnFwd(OUT_A);until(seL < value);Off(OUT_AC);} //±¦¡§¹õÀþ¾å¡¡º¸¡§¹õÀþ³°¡¡¢ª¡¡º¸¥»¥ó¥µ¡¼¤¬¹õÀþ¾å¤Ë¤Ê¤ë¤Þ¤Ç±¦Àû²ó
if(seL < value && seR < value){PlaySound(SOUND_DOWN);phase++;} //ξ¥»¥ó¥µ¡¼¤¬¹õÀþ¾å¤Î»þ¼¡¥Õ¥§¥¤¥º¤Ø
}
void out_shorterline(){ //¶áÆ»¡ÊÅÀÀþ¡Ë¤«¤é½Ð¤ë»þ¤Î´Ø¿ô
PlaySound(SOUND_CLICK);OnFwd(OUT_A);Wait(5); //¡ÊÈùÄ´À°¡Ë±¦Àû²ó
PlaySound(SOUND_CLICK);until(seL >= Hvalue);until(seL < value);Off(OUT_AC); //º¸¥»¥ó¥µ¡¼¤¬¹õÀþ³°¢ª¹õÀþ¾å¤Ë¤Ê¤ë¤Þ¤ÇÂÔµ¡¤·¤¿¸åÄä»ß¡£
PlaySound(SOUND_CLICK);OnFwd(OUT_AC);until(seR >= Hvalue)Off(OUT_AC); //±¦¥»¥ó¥µ¡¼¤¬¹õÀþ³°¤Ë¤Ê¤ë¤Þ¤ÇÁ°¿Ê
PlaySound(SOUND_CLICK);phase++; //¼¡¥Õ¥§¥¤¥º¤Ø
}
task main(){
SetSensor(SENSOR_1,SENSOR_LIGHT); //¥»¥ó¥µ¡¼1¤ò¸÷¥»¥ó¥µ¡¼¤Èǧ¼±¤µ¤»¤ë
SetSensor(SENSOR_3,SENSOR_LIGHT); //¥»¥ó¥µ¡¼3¤ò¸÷¥»¥ó¥µ¡¼¤Èǧ¼±¤µ¤»¤ë
SetPower(OUT_A,6); //½ÐÎÏÄ´À°
SetPower(OUT_C,6); //½ÐÎÏÄ´À°
while(phase!=19){ //phase==19¤Ç½ªÎ»
while(phase==1){Rsen_trace();}
while(phase==2){hairpinLturn();}
cross=2; //¼¡¥Õ¥§¥¤¥º¤Ë»È¤¦¡£°Ê²¼Æ±¤¸
while(phase==3){Dsen_trace();}
while(phase==4){in_rotary();}
while(phase==5){Lsen_trace();}
while(phase==6){out_rotary();}
count = 2;
while(phase==7){Lsen_trace();}
while(phase==8){in_shorterline();}
while(phase==9){go_shorterline();}
while(phase==10){out_shorterline();}
cross = 0;
while(phase==11){Dsen_trace();}
while(phase==12){in_rotary();}
while(phase==13){Lsen_trace();}
while(phase==14){out_rotary();}
cross = 1;
while(phase==15){Dsen_trace();}
while(phase==16){Rsen_trace();}
while(phase==17){hairpinLturn();}
cross = 0;
while(phase==18){Dsen_trace();}
}
}
*´¶ÁÛ [#q083144f]
**¾áñĤÎÈ¿¾Ê¡ [#f43d1ee2]
#ref(2011b/A1/²ÝÂꣲº¸/robotanime.gif,100%,²¿¤Ç¤³¤ó¤Ê¤³¤È¹Í¤¨¤¿¤Î¤À¤í¤¦¤«)
¡Ö¸÷¥»¥ó¥µ¡¼¤¬45°Ê²¼¤Ê¤éÄä»ß¢ª¸÷¥»¥ó¥µ¡¼¤¬45°Ê²¼¤Ê¤é¡û¡û¡û¡û¡û¡×¤Î¥³¥ó¥Ü¤¬¾å¿Þ¤Î¤è¤¦¤Ë¤¦¤Þ¤¯¤¤¤«¤Ê¤¤¤³¤È¤â¹Í¤¨¤Æ¡¢¡Ö¸÷¥»¥ó¥µ¡¼¤¬45°Ê²¼¤Ê¤éÄä»ß¢ª¸÷¥»¥ó¥µ¡¼¤¬50°Ê²¼¤Ê¤é¡û¡û¡û¡û¡û¡×¤È¤Ê¤ë¤è¤¦¤Ë´ðËÜŪ¤Ë¥×¥í¥°¥é¥à¤ò½ñ¤¤¤Æ¤¤¤Þ¤¹¡£value¤ÈHvalue¤È¸÷¥»¥ó¥µ¡¼¤ÎÃͤË2¤Ä¤âÄêµÁ¤·¤Æ¤¤¤ë¤Î¤Ï¤½¤Î¤¿¤á¤Ç¤¹¡£
¤·¤«¤·¤¢¤È¤Ç³Îǧ¤·¤¿¤Î¤Ç¤¹¤¬1¤Ä¤ÎÃÍ¡Ê£´£µ¡Ë¤Ç´ðËÜŪ¤ËÌäÂê¤Ï½Ð¤Þ¤»¤ó¤Ç¤·¤¿¡£
**¾áñĤÎÈ¿¾Ê¢ [#g61b5dec]
¥×¥í¥°¥é¥à¹½À®Â裲°Æ¤ò¤µ¤é¤·¤Þ¤¹