*²ÝÂꣲ¡Á¥é¥¤¥ó¥È¥ì¡¼¥¹¥í¥Ü¥Ã¥È¡Á [#f4eb807a] Ìܼ¡ #contents **¥ë¡¼¥ë [#r3e8ddea] ¹õ¤¤Àþ¤Î¥³¡¼¥¹¤ò£±¼þȾ¤·¤Æ¥´¡¼¥ë¤ËÅþ㤷¤¿¤È¤¤ËÄä»ß¤¹¤ë¡£ **¥³¡¼¥¹ÀâÌÀ [#zcae88b2] -¸òº¹ÅÀ:£²²Õ½ê -ľ³Ñ¥«¡¼¥Ö(¥¯¥é¥ó¥¯):£±²Õ½ê -¥Ø¥¢¥Ô¥ó¥«¡¼¥Ö:£±²Õ½ê -Àþ¤ÎÂÀ¤µ¤Ï15¡Á20mm¡Ê¾ì½ê¤Ë¤è¤Ã¤ÆÂÀ¤µ¤¬°Û¤Ê¤ë¡Ë //¼Ì¿¿ ¡¡¡¡&ref(2012a/A3/Hexa/M2/¥³¡¼¥¹.jpg,50%,¥³¡¼¥¹); **¼ÖÂÎ [#x4ecb3f0] ¡¡¼ÖÂΤϥ»¥ó¥µÉôʬ°Ê³°¤ÏÀâÌÀ½ñ¤É¤¦¤ê¤ËÁȤßΩ¤Þ¤·¤¿¡£ //¼Ì¿¿ ¡¡¡¡&ref(2012a/A3/Hexa/M2/¼ÖÂÎ.JPG,30%,¼ÖÂÎ); **¥×¥í¥°¥é¥à [#x68327c0] ***¥é¥¤¥ó¥È¥ì¡¼¥¹¤Î»ÅÁÈ¤ß [#cc6b52e6] ¡¡»ä¤Î¼ÖÂΤϥ»¥ó¥µ¤ò£±¤Ä¤·¤«»È¤Ã¤Æ¤¤¤Ê¤¤¤Î¤ÇÇò¤È¹õ¤Î¶³¦¤ò¥È¥ì¡¼¥¹¤¹¤ë´¶¤¸¤Ç¥×¥í¥°¥é¥à¤òºîÀ®¤·¤Þ¤·¤¿¡£ ¡¥»¥ó¥µ¤¬Çò¤ËÈ¿±þ¤·¤Æ¤¤¤ë¤È¤ ¡¡¡¡&ref(2012a/A3/Hexa/M2/Çò¤Î¤È¤.jpg,50%,¥»¥ó¥µÈ¿±þ¡); ¡¡´Ý¤¤ÀÖ¤¤¤ä¤Ä¤ò¥»¥ó¥µ¤À¤È¤¹¤ë¤È¥»¥ó¥µ¤¬Çò¤ËÈ¿±þ¤·¤Æ¤¤¤ë¤È¤¡¢¹õ¤¤¥é¥¤¥ó¤Ë¥»¥ó¥µ¤¬È¿±þ¤¹¤ë¤Þ¤Çº¸¤Î¥¿¥¤¥ä¤òÀµ²óž¤µ¤»±¦¥¿¥¤¥ä¤òÄä»ß¤µ¤»¤Þ¤¹¡£ ¢¥»¥ó¥µ¤¬¹õ¤ËÈ¿±þ¤·¤Æ¤¤¤ë¤È¤ ¡¡¡¡&ref(2012a/A3/Hexa/M2/¹õ¤Î¤È¤.jpg,50%,¥»¥ó¥µÈ¿±þ¢); ¡¡¥»¥ó¥µ¤¬¹õ¤ËÈ¿±þ¤·¤¿¤È¤¡¢Çò¤ËÈ¿±þ¤¹¤ë¤Þ¤Ç±¦¥¿¥¤¥ä¤òÀµ²óž¤µ¤»º¸¥¿¥¤¥ä¤òÄä»ß¤µ¤»¤Þ¤¹¡£ ¤³¤Î¤è¤¦¤Ë¡¤È¢¤ò·«¤êÊÖ¤·¤Æ¥È¥ì¡¼¥¹¤µ¤»¤Æ¤¤¤Þ¤¹¡£ ***¹©Éפ·¤¿ÅÀ [#f56eb684] -¤·¤¤¤ÃÍ ¡¡»ä¤ÏÇò¤Î¤·¤¤¤Ãͤò¡Ö60¡×¡¢¹õ¤Î¤·¤¤¤Ãͤò¡Ö43¡×¤È¤·¹õ¤Î¤·¤¤¤Ãͤò¹â¤¯ÀßÄꤷ¤Þ¤·¤¿¡£¹õ¤Î¤·¤¤¤Ãͤò¹â¤¯¤·¤¿Íýͳ¤Ï¡¢¥é¥¤¥ó¤ÎÂÀ¤µ¤ä¥³¡¼¥¹¤Î¾õ¶·¤Ë¤è¤Ã¤Æ¥È¥ì¡¼¥¹¾õ¶·¤¬ÊѤï¤Ã¤Æ¤·¤Þ¤¤¹õ¤¤¥é¥¤¥ó¤òÆɤßÈô¤Ð¤·¤Æ¿Ê¤ó¤Ç¤·¤Þ¤¦¤È¤¤¤¦¸½¾Ý¤¬½Ð¤Æ¤·¤Þ¤·¤Þ¤·¤¿¡£¤½¤ì¤òËɤ°¤¿¤á¤Ë¡¢¹õ¤Î¤·¤¤¤Ãͤò¹â¤á¤Ë¤È¤Ã¤Æ¤ª¤¯¤³¤È¤Ç¹õ¤¤¥é¥¤¥ó¤òÈ¿±þ¤µ¤»¤ä¤¹¤¯¤·¤Þ¤·¤¿¡£¤Þ¤¿¡¢Çò¤È¹õ¤Î¤¢¤¤¤À¡¢¤Ä¤Þ¤ê¶³¦¼þÊÕ¤ò¥»¥ó¥µ¤¬Æɤ߼è¤Ã¤¿¤éľ¿Ê¤¹¤ë¤È¤¤¤¦¥×¥í¥°¥é¥à¤ò½ñ¤¤Þ¤·¤¿¡£ -ľ³Ñ¥«¡¼¥Ö¡Ê¥¯¥é¥ó¥¯¡Ë ¡¡¥¯¥é¥ó¥¯¤ò¤É¤¦Ä̲᤹¤ë¤«Çº¤ß¤Þ¤·¤¿¡£¥¯¥é¥ó¥¯¤ÏÄ̾ï¤Î¥È¥ì¡¼¥¹¤ÇÄ̲á¤Ç¤¤ë¤Î¤Ç¤¹¤¬Æ°¤¤Ë̵Â̤¬¤ë¤È»×¤¤¤Þ¤·¤¿¡£¤½¤³¤Ç¼¡¤Î¤è¤¦¤Ë¥¯¥é¥ó¥¯¤ÎÆ°ºî¤ò£´Ãʳ¬¤Ëʬ¤±¤Þ¤·¤¿¡£ ¡¶Ê¤¬¤ê³Ñ¤ËÍè¤ë¤Þ¤Ç ¡¡¡¡&ref(2012a/A3/Hexa/M2/Ä̾ï¥È¥ì¡¼¥¹.jpg,50%,Ä̾ï¥È¥ì¡¼¥¹); ¡¡¶³¦¤¬ÀÚ¤ì¤ë¤Þ¤ÇÄ̾ï¥È¥ì¡¼¥¹¤ò¹Ô¤¤¤Þ¤¹¡£ ¢¶Ê¤¬¤ê³Ñ¤ò±Û¤¨¤¿¤é ¡¡¡¡&ref(2012a/A3/Hexa/M2/¶³¦¤¬Àڤ줿¤é.jpg,50%,¶³¦¤¬Àڤ줿¤é); ¡¡¡¡&ref(2012a/A3/Hexa/M2/¶³¦¤¬Àڤ줿¤È¤.jpg,50%,¶³¦¤¬Àڤ줿¤é); ¡¡¶³¦¤¬Àڤ줿¤é±¦¤Î¥¿¥¤¥ä¤òÄä»ß¤µ¤»¡¢º¸¤Î¥¿¥¤¥ä¤òÀµ²óž¤µ¤»¤Æ±¦Àû²ó¤ò¹Ô¤¤¤Þ¤¹¡£ £¤·¤Ð¤é¤¯Çò¿§¤À¤Ã¤¿¤é ¡¡¡¡&ref(2012a/A3/Hexa/M2/¶³¦¤¬Àڤ줿¤é£².jpg,50%,¶³¦¤¬Àڤ줿¤é£²); ¡¡¡¡&ref(2012a/A3/Hexa/M2/¶³¦¤¬Àڤ줿¤È¤£².jpg,50%,¶³¦¤¬Àڤ줿¤é£²); ¡¡¢¤ÎÆ°ºî¤ò¤·¤Ð¤é¤¯¡Ê¤À¤¤¤¿¤¤350msÁ°¸å¡Ë¤Î´Ö¥»¥ó¥µ¤ÎÈ¿±þ¤¬Çò¤ò¸¡ÃΤ·¤Æ¤¤¤¿¤é±¦¥â¡¼¥¿¤òµÕ²óž¤µ¤»¤Þ¤¹¡£ ¤¹õ¤¤Àþ¤ò¸¡ÃΤ¹¤ë¤Þ¤Ç ¡¡¡¡&ref(2012a/A3/Hexa/M2/¥Õ¥Ã¥.jpg,50%,¥Õ¥Ã¥); ¡¡¹õ¤¤Àþ¤ò¸¡½Ð¤¹¤ë¤Þ¤Ç£¤ÎÆ°ºî¤ò¤·¡¢¹õ¤¤Àþ¤ò¸¡½Ð¤·¤¿¤éÄ̾ï¤È¥ì¡¼¥¹¤ò¤·¤Þ¤¹¡£ -æ½ÐÊýË¡ ¡¡Ã¦½ÐÊýË¡¤Ï¡¢¥È¥ì¡¼¥¹¤¹¤ë°ÌÃÖ¤òÊѤ¨¤ë¤³¤È¤Ç¤¹¡£¤Þ¤º£±¼þȾ¤·¤Æ¤Ê¤¤¤È¤¤Ï¡¤Î¤Û¤¦¤ò¥È¥ì¡¼¥¹¤·¤Æ¤¤¤¤Þ¤¹¡£¤½¤·¤Æ°ì¼þȾ¤·¤¿¤È¤¥´¡¼¥ë¤Î£Ô»úÏ©¤ÎľÁ°¤Ç¤ï¤¶¤È¹õ¤¤¥é¥¤¥ó¤òÈô¤Ó±Û¤¨¤Æ¢¤Î¤Û¤¦¤Ç¥È¥ì¡¼¥¹¤·¤Æ¥´¡¼¥ë¤Ë¸þ¤«¤¦ÊýË¡¤ò¤È¤ê¤Þ¤·¤¿¡£¤Þ¤¿¢¤Ë¤¦¤Ä¤Ã¤¿»þ¤Î¶îÆ°ÊýË¡¤¬¹õ¤¤£Ô»úÏ©¤ò¶Ê¤¬¤ê¤ä¤¹¤¤¤è¤¦¤Ë¡¢¹õ¤¤¥é¥¤¥ó¤ò¡Ö30ms¡×°Ê¾åÈ¿±þ¤·Â³¤±¤ë»þ¤ÏÆ⦤Υ¿¥¤¥ä¤òµÕ²óž¤µ¤»¤Æ¶Ê¤¬¤ë³ÑÅÙ¤òľ³Ñ¤Ë¶á¤¤¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£ ¡¡¡¡&ref(2012a/A3/Hexa/M2/¹©É×.jpg,50%,¥³¡¼¥¹); ***¥½¡¼¥¹ [#vbca9525] /*------------------------------------------------------------ ¥é¥¤¥ó¥È¥ì¡¼¥¹¥í¥Ü¥Ã¥È 2012/6/26 trace.nxc ------------------------------------------------------------*/ /*----------------------------------------------------------- Äê¿ô ------------------------------------------------------------*/ #define TH_B 43 //¹õ¤Î¤·¤¤¤ÃÍ #define TH_W 60 //Çò¤Î¤·¤¤¤ÃÍ #define DUTY 50 //PWM¥Ç¥å¡¼¥Æ¥£ÀßÄê¡Ê¡ó¡Ë #define T_TIM 480 //¥³¡¼¥¹¤ò¥È¥ì¡¼¥¹¤¹¤ë»þ´Ö(TÉáß10) #define T2 1000 //¥³¡¼¥¹¤«¤é¥´¡¼¥ë¤Ø¹Ô¤¯»þ´Ö(TÉáß100) /*----------------------------------------------------------- ¥°¥í¡¼¥Ð¥ëÊÑ¿ô ------------------------------------------------------------*/ int iNum1; //LCD¤Ëɽ¼¨¤¹¤ë¤¿¤á¤ÎÃͤòÆþ¤ì¤ëÊÑ¿ô int iNum2; //LCD¤Ëɽ¼¨¤¹¤ë¤¿¤á¤ÎÃͤòÆþ¤ì¤ëÊÑ¿ô int cnt1; //»þ´Ö´¹»»¤Î¥«¥¦¥ó¥È /*----------------------------------------------------------- ¥µ¥Ö´Ø¿ô ------------------------------------------------------------*/ //LCDɽ¼¨ÍÑ´Ø¿ô task put_lcd() { NumOut(0,LCD_LINE1,iNum1); //¥»¥ó¥µÃÍɽ¼¨ NumOut(0,LCD_LINE2,iNum2); //»þ´Öɽ¼¨ Wait(1000); //1000msÂÔ¤Ä ResetScreen(); //LCD¥¯¥ê¥¢ Wait(100); //100msÂÔ¤Ä } //¥³¡¼¥¹¤ò¥È¥ì¡¼¥¹¤¹¤ë¤È¤¤Î¥â¡¼¥¿½ÐÎÏ´Ø¿ô£± void trace(int sens) { if(sens > TH_W){ //Çò¤ËÈ¿±þ¤·¤¿¤é OnFwd(OUT_C,DUTY); Off(OUT_A); cnt1++; if(cnt1 > 70){ //Çò¤ËÈ¿±þ¤·¤Æ¤ë»þ´Ö¤¬70¤òĶ¤¨¤¿¤é OnRev(OUT_A,DUTY); } } else if(sens < TH_B){ //¹õ¤ËÈ¿±þ¤·¤¿¤é OnFwd(OUT_A,DUTY); Off(OUT_C); cnt1 = 0; } else{ //Çò¤È¹õ¤Î¶³¦¤Ë¤¤¿¤é OnFwdSync(OUT_AC,70,0); cnt1 = 0; } } //¥³¡¼¥¹¤òæ½Ð¤¹¤ë¤È¤¤Î¥â¡¼¥¿½ÐÎÏ´Ø¿ô£² void trace2(int sens) { if(sens > TH_W){ //Çò¤ËÈ¿±þ¤·¤¿¤é OnFwd(OUT_A,DUTY); Off(OUT_C); cnt1 = 0; } else{ //¹õ¤ËÈ¿±þ¤·¤¿¤é OnFwd(OUT_C,DUTY); Off(OUT_A); cnt1++; if(cnt1 > 30){ //¹õ¤ËÈ¿±þ¤·¤Æ¤ë»þ´Ö¤¬30¤òĶ¤¨¤¿¤é OnRev(OUT_A,DUTY); } } } /*----------------------------------------------------------- ¥á¥¤¥ó´Ø¿ô ------------------------------------------------------------*/ task main() { long old_time1,time2=0; /* ¥»¥ó¥µ¤Î½é´üÀßÄê */ SetSensor(SENSOR_1,SENSOR_LIGHT); SetSensorLight(IN_1); old_time1 = CurrentTick(); //¤³¤³¤Þ¤Ç¤Î»þ´Ö¤ò¼èÆÀ while(iNum2 <= T_TIM){ start put_lcd; //LCDɽ¼¨¥¹¥¿¡¼¥È iNum1 = SENSOR_1; //¥»¥ó¥µÃÍÂåÆþ iNum2 = (CurrentTick() - old_time1)/100; //»þ´Ö·×¬ trace(iNum1); //¥â¡¼¥¿½ÐÎÏ´Ø¿ô£± Wait(5); //¥»¥ó¥µ¤ÎÆɤ߼è¤ê®ÅÙ¤òÄ´À°¡Ê5ms¡Ë } /* ¥È¥ì¡¼¥¹¤¹¤ë¶³¦¤òÊѤ¨¤ë¡Êæ½Ð¥â¡¼¥É¤Ø¡Ë */ Off(OUT_AC); Wait(100); OnRev(OUT_A,DUTY); Wait(100); Off(OUT_AC); Wait(100); /* ¥³¡¼¥¹¤òæ½Ð¤¹¤ë¡Êæ½Ð¥â¡¼¥É¡Ë */ while(time2 < (T2*10)){ iNum1 = SENSOR_1; //¥»¥ó¥µÃÍÂåÆþ trace2(iNum1); //¥â¡¼¥¿½ÐÎÏ´Ø¿ô£² time2++; Wait(1); //¥»¥ó¥µÆɤ߼è¤ê®ÅÙÄ´À°¡Ê1ms¡Ë } Off(OUT_AC); //Ää»ß } **Æ°²è [#m944e6ca] ´°Áö¤·¤¿Æ°²è¤¬¤³¤Á¤é¤Ç¤¹¡£ ¥ê¥ó¥¯¡§http://www.youtube.com/watch?v=K2CUb7D1okM **È¿¾Ê´¶ÁÛ [#wd3abcc4] ¡¡º£²ó¤Î²ÝÂê¤Ï¥é¥¤¥ó¤ò¥È¥ì¡¼¥¹¤¹¤ë¤Î¤Ë¤¹¤´¤¯»þ´Ö¤¬¤«¤«¤ê¤Þ¤·¤¿¡£Æäˤ³¤À¤ï¤Ã¤¿¤Î¤Ï¹õ¤ÈÇò¤Î¤·¤¤¤ÃͤǤ¹¡£¤³¤ÎÃͤ¬¤Á¤ç¤Ã¤È¤Ç¤â¤º¤ì¤Æ¤·¤Þ¤¦¤È¥é¥¤¥ó¤ò¥È¥ì¡¼¥¹¤·¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤·¤Þ¤¹¡£°ìÈÖÆñ¤·¤«¤Ã¤¿¤Î¤Ï£±¼þȾ¥³¡¼¥¹¤ò¥È¥ì¡¼¥¹¤·¤¿¤¢¤È¤Î¥´¡¼¥ëÃÏÅÀ¤Ë¹Ô¤¯Æ°ºî¤Ç¤·¤¿¡£