Ìܼ¡
²¼¤Î¿Þ¤Î¤è¤¦¤Ê¥³¡¼¥¹¤òºîÀ®¤·¡¢»ØÄꤵ¤ì¤¿¥³¡¼¥¹¤òÁö¹Ô¤·ÅÓÃæ¤Ç¥´¡¼¥ëÉÕ¶á¤Î¶õ¤´Ì¤Ë¥Ü¡¼¥ë¤òÅö¤Æ¤ë¥í¥Ü¥Ã¥È¤òºîÀ®¤¹¤ë¡£
º£²ó¡¢»ä¤¬Áö¹Ô¤µ¤»¤ë¥³¡¼¥¹¤ÏÂè°ì¥³¡¼¥¹¤Ç
¥í¥Ü¥Ã¥È¤òĹÊý·ÁXÆâ¤Ë¤ª¤¡¢A¤ò¥¹¥¿¡¼¥È B¤ò±¦ÀÞ K¤Ç°ì»þÄä»ß¤·¤Æº¸ÀÞ J¤òľ¿Ê I¤òľ¿Ê H¤òº¸ÀÞ G¤Ç°ì»þÄä»ß¤·¤Æº¸ÀÞ E¤Ç°ì»þÄä»ß¤·¤Æ±¦ÀÞ L¤ò·Ð¤ÆÀµÊý·ÁYÆâ¤ËÆþ¤Ã¤ÆÄä»ß ¥Ü¡¼¥ë¤Ï¥í¥Ü¥Ã¥È¤¬¸ÌKJIH¾å¤Ë¤¢¤ë»þ¤ËQÃÏÅÀ¤Î¶õ¤´Ì¤ËÅö¤Æ¤ë
¤È¤¤¤¦¤â¤Î¤À
¿Þ¤Çɽ¤¹¤È¡¦¡¦¡¦¡¡
¥í¥Ü¥Ã¥È¤ÎÁ´ÂÎÁü¢¡Ê¿Ê¹ÔÊý¸þ¤Ï¼Ì¿¿±¦Êý¸þ¡Ë
°ì¤ÄÌܤΥ⡼¥¿¡¼¤Ë¥Ü¡¼¥ë¤òž¤¬¤¹µ¡Ç½¤òÉÕ¤±¡¢Æó¤ÄÌܤȻ°¤ÄÌܤ˥¿¥¤¥ä¤òÉÕ¤±¤¿¡£¤Þ¤¿¡¢¸åÊý¤Ë¥¿¥¤¥ä¤òÉÕ¤±Á°²ó¤Î²ÝÂê1¤ÈƱÍͤ˻°Îؼַ¿¤Î¥í¥Ü¥Ã¥È¤Ë¤·¤¿¡£NXTËÜÂΤϽſ´¤¬¤Ç¤¤ë¤À¤±¥â¡¼¥¿¡¼¤Ë¤Ä¤¤¤Æ¤¤¤ë¥¿¥¤¥ä¤Î¾åÉÕ¶á¤ËÍè¤ë¤è¤¦¤Ë¤·¤¿¡£¤·¤«¤·ËÜÂΤÎξÏƤò·×2ËܤÎËÀ¤Ç¤·¤«»Ù¤¨¤Æ¤¤¤Ê¤¤¤Î¤ÇÉÔ°ÂÄê¤Ê¤Î¤¬È¿¾ÊÅÀ¡£
Ìð°õ¤ÎÊý¸þ¤ËËÀ¤òÆ°¤«¤·¥Ü¡¼¥ë¤òž¤¬¤¹¢
¸÷¥»¥ó¥µ¡¼¤ÈĶ²»ÇÈ¥»¥ó¥µ¡¼¡¢¸åÎؤϰʲ¼¤Î¼Ì¿¿¤Î¤è¤¦¤Ë¼è¤êÉÕ¤±¤¿¡£
¿Ê¹ÔÊý¸þ¤È¤ÏµÕ¸þ¤¤ËĶ²»ÇÈ¥»¥ó¥µ¡¼¤òÉÕ¤±¤Æ¤¤¤ë¡£¤Ï¤¸¤á¤ÏĶ²»ÇÈ¥»¥ó¥µ¡¼¤Ç¶õ¤´Ì¤òȯõÃΤ·¤¿¸å¤Ë360ÅÙÀû²ó¤·¤Æ¥Ü¡¼¥ë¤òÅö¤Æ¤ë¡Ö¤À¤±¡×¤È·Ú¤¯¹Í¤¨¤Æ¤¤¤¿¤¬¡¢¤¢¤Þ¤«¤Ã¤¿¡£¸íº¹¤¬À¸¤¸¤ë¸¶°ø¤È¤Ê¤ê¡¢¶õ¤´Ì¤òÀº³Î¤ËõÃΤ¹¤ë¤³¤È¤Ï¤Ç¤¤¿¤¬Àû²ó»þ¤Ë²ó¤ê¤¹¤®¤¿¤ê²ó¤é¤Ê¤¹¤®¤¿¤ê¤·¤Æ¥Ü¡¼¥ë¤¬¶õ¤´Ì¤ËÅö¤¿¤é¤Ê¤¤¤³¤È¤¬¤¢¤Ã¤¿¡£
»È¤¨¤ë¸÷¥»¥ó¥µ¡¼¤¬°ì¤Ä¤À¤±¤Ê¤Î¤ÇÉý2cm¤Î¹õÀþ¤Î¤Õ¤Á¤ò¸÷¥»¥ó¥µ¡¼¤ÇõÃΤ·¤Ê¤¬¤é¥È¥ì¡¼¥¹¤·¤Æ¤¤¤¯¤è¤¦¤Ë¤·¤¿¡£
¡ÖÇò¡×¡ÖÇò¤È¹õ¤Î¶³¦Àþ¡×¡Ö¹õ¡×¤ÇÆ°¤¤òÊѤ¨¤ë¤è¤¦¤Ë¤·¤¿¡£¤³¤Î¤È¤¤Î¸÷¥»¥ó¥µ¡¼¤ÎÃͤϤ½¤ì¤¾¤ì60¤è¤ê¾å¡¢60°Ê²¼50¤è¤ê¾å¡¢50°Ê²¼¤ò¼¨¤¹¡ÊºÙ¤«¤¤Ãͤϲ¼¿Þ¤ò»²¾È¡Ë¡£¤½¤ì¤¾¤ì¤ÎÆ°¤¤Ï¹õ¤ÎÎΰè¤Ë¶Ê¤¬¤ë¡¢Ä¾¿Ê¡¢Çò¤ÎÎΰè¤Ë¶Ê¤¬¤ë¡¡¤È¤¤¤¦Æ°¤¤ò¤¹¤ë¡£¤½¤·¤Æ¡ÖÇò¡×¤Þ¤¿¤Ï¡Ö¹õ¡×¤Î»þ´Ö¤¬150¤òĶ¤¨¤ë¤ÈÀû²ó¤ËÀÚ¤êÂؤï¤ëÍÍ¤Ë¥×¥í¥°¥é¥à¤·¤¿¡£
¤½¤ì¤¾¤ì¤Î¸÷¥»¥ó¥µ¡¼¤ÎºÙ¤«¤¤ÃÍ¢
°Ê¾å¤è¤ê
1,¥é¥¤¥ó¤Î±¦Ã¼¤ò¥È¥ì¡¼¥¹¤¹¤ë´Ø¿ô 2,¥é¥¤¥ó¤Îº¸Ã¼¤ò¥È¥ì¡¼¥¹¤¹¤ë´Ø¿ô 3,±ß¼þ¾å¤òÁö¹Ô¤¹¤ë´Ø¿ô 4,¶õ¤´Ì¤òõÃΤ·¥Ü¡¼¥ë¤òÅö¤Æ¤ë´Ø¿ô
¹ç·×4¤Ä¤Î´Ø¿ô¤ò»ÈÍѤ·¥×¥í¥°¥é¥à¤òºîÀ®¤·¤¿¡£
¤Ï¤¸¤á¤Î²¿ÉáÊt_min´Ö¡Ë¤«¤Ï¸òº¹ÅÀ¤òȽÃǤ·¤Æ¤âÄä»ß¤»¤º¡¢¤½¤Î»þ´Ö¤Î·Ð²á¸å¤Ï¸òº¹ÅÀȽÃǤò¤¹¤ë¤ÈÄä»ß¤¹¤ë´Ø¿ô¤È¤Ê¤Ã¤Æ¤¤¤ë¡£
¤³¤³¤Ç¤½¤ì¤¾¤ì¤Î´Ø¿ô¤ÇÄêµÁ¤·¤¿t_start,t0,t1¤ÎÀâÌÀ¤ò¤¹¤ë¡£t_start¤Ï´Ø¿ô¤¬»Ï¤Þ¤Ã¤¿»þ´Ö¤òµÏ¿¤¹¤ë¡£t0¤ÏÇòor¹õ¤òõÃΤ·»Ï¤á¤¿»þ´Ö¤òµÏ¿¤¹¤ë¡£t1¤Ï¶Ê¤¬¤ëÆ°ºî¤ò¤·»Ï¤á¤¿»þ´Ö¤Èľ¿Ê¤ò½ª¤¨¤¿»þ´Ö¤òµÏ¿¡¤¹¹¿·¤¹¤ë¡£
½¾¤Ã¤Æ¡¢t1-t0¤ÇÇòor¹õ¤òϢ³¤ÇõÃΤ·Â³¤±¤¿»þ´Ö¤ò¼¨¤¹¡£
»²¹Í¢
¤³¤Î¿Þ¤Î²«¿§¤Î´ÝÈÖ¹æ¤È²¼µ´Ø¿ô¤Î¥³¥á¥ó¥È¤Î´ÝÈֹ椬Âбþ¤·¤Æ¤¤¤ë¡£
void follow_line_migi(long t_min) { SetSensorLight(S1); long t_start=CurrentTick(); //´Ø¿ô¤¬»Ï¤Þ¤Ã¤¿»þ´Ö long t0=CurrentTick(); //Çòor¹õ¤òõÃΤ·»Ï¤á¤¿»þ´Ö long t_max=150; //Ϣ³¤·¤Æ¹õ¤Î¸Â³¦ÃÍ long t1=CurrentTick(); //¶Ê¤¬¤ëÆ°ºî¤ò¤·»Ï¤á¤¿»þ´Ö¤Èľ¿Ê¤ò½ª¤¨¤¿»þ´Ö long t_kosa=200; //¸òº¹ÅÀ¤ÎȽÃǤޤǤλþ´Ö while(t1-t_start<t_min){ //t_min¤Î´Ö¸òº¹ÅÀ¤ÎȽÃǤò¤·¤Ê¤¤ if(SENSOR_1>60){ if(t1-t0<t_max){ OnFwd(OUT_C,40);Off(OUT_A); //¾¯¤·Çò¤ÎÉôʬ¤ËÆþ¤Ã¤¿¤éº¸ÀÞ }else{ OnFwd(OUT_C,20);OnRev(OUT_A,50); //Â礤¯Çò¤ÎÉôʬ¤Ë½Ð¤¿¤éº¸Àû²ó } }else if(SENSOR_1>50){ OnFwd(OUT_AC,30); //Çò¤È¹õ¤Î¶³¦Àþ¤Ê¤Î¤Çľ¿Ê t0=CurrentTick(); //¢Çòor¹õ¤òõÃΤ·¤Æ¤¤¤Ê¤¤¤Î¤Çt0¹¹¿· }else{ if(t1-t0<t_max){ OnFwd(OUT_A,40);Off(OUT_C); //¾¯¤·¹õ¤ÎÉôʬ¤ËÆþ¤Ã¤¿¤é±¦ÀÞ }else{ OnFwd(OUT_A,20);OnRev(OUT_C,50); //Â礤¯¹õ¤ÎÉôʬ¤Ë½Ð¤¿¤é±¦Àû²ó } } t1=CurrentTick(); //¡±¦º¸ÀÞorľ¿Ê¤¬½ª¤ï¤Ã¤¿¤Î¤Ç¹¹¿· } PlaySound(SOUND_CLICK); //²»¤òÌĤ餷¤³¤³¤«¤é¸òº¹ÅÀ¤ÎȽÃǤò¤¹¤ë¤è¤¦¤Ë¤Ê¤ë while(true){ if(SENSOR_1>60){ if(t1-t0<t_max){ OnFwd(OUT_C,40);Off(OUT_A); //¾¯¤·Çò¤ÎÉôʬ¤ËÆþ¤Ã¤¿¤éº¸ÀÞ }else{ OnFwd(OUT_C,20);OnRev(OUT_A,50); //Â礤¯Çò¤ÎÉôʬ¤Ë½Ð¤¿¤éº¸Àû²ó } }else if(SENSOR_1>50){ OnFwd(OUT_AC,40); //Çò¤È¹õ¤Î¶³¦Àþ¤Ê¤Î¤Çľ¿Ê t0=CurrentTick(); //Çòor¹õ¤òõÃΤ·¤Æ¤¤¤Ê¤¤¤Î¤Çt0¹¹¿· }else{ if(t1-t0<t_max){ OnFwd(OUT_A,40);Off(OUT_C); //¾¯¤·¹õ¤ÎÉôʬ¤ËÆþ¤Ã¤¿¤é±¦ÀÞ }else if(t1-t0<t_kosa){ OnFwd(OUT_A,20);OnRev(OUT_C,50); //Â礤¯¹õ¤ÎÉôʬ¤Ë½Ð¤¿¤é±¦Àû²ó }else{ Off(OUT_AC);break; //¤¹õ¤Î»þ´Ö¤¬°ìÄêÃͰʾå¤Ë¤Ê¤Ã¤¿¤é¸òº¹ÅÀ¤ÈȽÃǤ·while¤Î¥ë¡¼¥×¤«¤éÈ´¤±¤ë } } t1=CurrentTick(); //£±¦º¸ÀÞorľ¿Ê¤¬½ª¤ï¤Ã¤¿¤Î¤Ç¹¹¿· } Off(OUT_AC); //¤»ß¤Þ¤ë PlaySound(SOUND_CLICK); //²»¤òÌĤ餷¸òº¹ÅÀ¤ÈȽÃǤ·¤¿¤³¤È¤òÃΤ餻¤ë }
¡Ö¥é¥¤¥ó¤Î±¦Ã¼¤ò¥È¥ì¡¼¥¹¤¹¤ë´Ø¿ô¡×¤ÈƱÍͤˡ¢¤Ï¤¸¤á¤Î²¿ÉáÊt_min´Ö¡Ë¤«¤Ï¸òº¹ÅÀ¤òȽÃǤ·¤Æ¤âÄä»ß¤»¤º¡¢¤½¤Î»þ´Ö¤Î·Ð²á¸å¤Ï¸òº¹ÅÀȽÃǤò¤¹¤ë¤ÈÄä»ß¤¹¤ë´Ø¿ô¤È¤Ê¤Ã¤Æ¤¤¤ë¡£
t_start¤Ï´Ø¿ô¤¬»Ï¤Þ¤Ã¤¿»þ´Ö¤òµÏ¿¤¹¤ë¡£t0¤ÏÇòor¹õ¤òõÃΤ·»Ï¤á¤¿»þ´Ö¤òµÏ¿¤¹¤ë¡£t1¤Ï¶Ê¤¬¤ëÆ°ºî¤ò¤·»Ï¤á¤¿»þ´Ö¤Èľ¿Ê¤ò½ª¤¨¤¿»þ´Ö¤òµÏ¿¡¤¹¹¿·¤¹¤ë¡£
¾åµ¤Î¡Ö¥é¥¤¥ó¤Î±¦Ã¼¤ò¥È¥ì¡¼¥¹¤¹¤ë´Ø¿ô¡×¤Ë¤¢¤ë»²¹Í²èÁü¤Î´ÝÈÖ¹æ¤È²¼µ´Ø¿ô¤Î´ÝÈÖ¹æ¤Ïº¸±¦¤¬È¿Å¾¤·¤Æ¤¤¤ë¤¬Âбþ¤·¤Æ¤¤¤ë¡£
void follow_line_hidari(long t_min) { SetSensorLight(S1); long t_start=CurrentTick(); //´Ø¿ô¤¬»Ï¤Þ¤Ã¤¿»þ´Ö long t0=CurrentTick(); //Çòor¹õ¤Î»þ´Ö¤òõÃΤ·»Ï¤á¤¿»þ´Ö long t_max=150; //Ϣ³¤·¤Æ¹õ¤Î¸Â³¦ÃÍ long t1=CurrentTick(); //¶Ê¤¬¤ëÆ°ºî¤ò¤·»Ï¤á¤¿»þ´Ö¤Èľ¿Ê¤ò½ª¤¨¤¿»þ´Ö long t_kosa=200; while(t1-t_start<t_min){ //t_min¤Î´Ö¸òº¹ÅÀ¤ÎȽÃǤò¤·¤Ê¤¤ if(SENSOR_1>60){ if(t1-t0<t_max){ OnFwd(OUT_A,40);Off(OUT_C); //¾¯¤·Çò¤ÎÉôʬ¤ËÆþ¤Ã¤¿¤é±¦ÀÞ }else{ OnFwd(OUT_A,20);OnRev(OUT_C,50); //Â礤¯Çò¤ÎÉôʬ¤Ë½Ð¤¿¤é±¦Àû²ó } }else if(SENSOR_1>50){ OnFwd(OUT_AC,40); //Çò¤È¹õ¤Î¶³¦Àþ¤Ê¤Î¤Çľ¿Ê t0=CurrentTick(); //¢Çòor¹õ¤òõÃΤ·¤Æ¤¤¤Ê¤¤¤Î¤Çt0¹¹¿· }else{ if(t1-t0<t_max){ OnFwd(OUT_C,40);Off(OUT_A); //¾¯¤·¹õ¤ÎÉôʬ¤ËÆþ¤Ã¤¿¤éº¸ÀÞ }else{ OnFwd(OUT_C,20);OnRev(OUT_A,50); //Â礤¯¹õ¤ÎÉôʬ¤Ë½Ð¤¿¤éº¸Àû²ó } } t1=CurrentTick(); //¡±¦º¸ÀÞorľ¿Ê¤¬½ª¤ï¤Ã¤¿¤Î¤Ç¹¹¿· } Off(OUT_AC); PlaySound(SOUND_CLICK); //²»¤òÌĤ餷¤³¤³¤«¤é¸òº¹ÅÀ¤ÎȽÃǤò¤¹¤ë¤è¤¦¤Ë¤Ê¤ë while(true){ if(SENSOR_1>60){ if(t1-t0<t_max){ OnFwd(OUT_A,40);Off(OUT_C); //¾¯¤·Çò¤ÎÉôʬ¤ËÆþ¤Ã¤¿¤é±¦ÀÞ }else{ OnFwd(OUT_A,20);OnRev(OUT_C,50); //Â礤¯Çò¤ÎÉôʬ¤Ë½Ð¤¿¤é±¦Àû²ó } }else if(SENSOR_1>50){ OnFwd(OUT_AC,30); //Çò¤È¹õ¤Î¶³¦Àþ¤Ê¤Î¤Çľ¿Ê t0=CurrentTick(); //Çòor¹õ¤òõÃΤ·¤Æ¤¤¤Ê¤¤¤Î¤Çt0¹¹¿· }else{ if(t1-t0<t_max){ OnFwd(OUT_C,40);Off(OUT_A); //¾¯¤·¹õ¤ÎÉôʬ¤ËÆþ¤Ã¤¿¤éº¸ÀÞ }else if(t1-t0<t_kosa){ OnFwd(OUT_C,20);OnRev(OUT_A,50); //Â礤¯¹õ¤ÎÉôʬ¤Ë½Ð¤¿¤éº¸Àû²ó }else{ Off(OUT_AC);break; //¤¹õ¤Î»þ´Ö¤¬°ìÄêÃͰʾå¤Ë¤Ê¤Ã¤¿¤é¸òº¹ÅÀ¤ÈȽÃǤ·while¤Î¥ë¡¼¥×¤«¤éÈ´¤±¤ë } } t1=CurrentTick(); //£±¦º¸ÀÞorľ¿Ê¤¬½ª¤ï¤Ã¤¿¤Î¤Ç¹¹¿· } Off(OUT_AC); //¤»ß¤Þ¤ë PlaySound(SOUND_CLICK); //²»¤òÌĤ餷¸òº¹ÅÀ¤ÈȽÃǤ·¤¿¤³¤È¤òÃΤ餻¤ë }
±ß¼þ¾å¤ò¸òº¹ÅÀȽÃǤ·¤Æ¤âÄä»ß¤»¤º¤Ë¿Ê¤à´Ø¿ô¡£¾åµ¤Î¡Ö¥é¥¤¥ó¤Îº¸Ã¼¤ò¥È¥ì¡¼¥¹¤¹¤ë´Ø¿ô¡×¡Ö¥é¥¤¥ó¤Î±¦Ã¼¤ò¥È¥ì¡¼¥¹¤¹¤ë´Ø¿ô¡×¤È¤Û¤È¤ó¤ÉƱ¤¸´Ø¿ô¡£¤·¤«¤·¡¢±ß¼þ¾å¤òÁö¹ÔÃæ¤Ë¡Ö¶õ¤´Ì¤òõÃΤ·¥Ü¡¼¥ë¤òÅö¤Æ¤ë´Ø¿ô¡×¤òÁȤ߹þ¤à¤¿¤á¡¢¤ï¤«¤ê¤ä¤¹¤¯¤¹¤ë¤¿¤á¤Ë¤³¤Î´Ø¿ô¤ò»ÈÍѤ·¤¿¡£
t_start¤Ï´Ø¿ô¤¬»Ï¤Þ¤Ã¤¿»þ´Ö¤òµÏ¿¤¹¤ë¡£t0¤ÏÇòor¹õ¤òõÃΤ·»Ï¤á¤¿»þ´Ö¤òµÏ¿¤¹¤ë¡£t1¤Ï¶Ê¤¬¤ëÆ°ºî¤ò¤·»Ï¤á¤¿»þ´Ö¤Èľ¿Ê¤ò½ª¤¨¤¿»þ´Ö¤òµÏ¿¡¤¹¹¿·¤¹¤ë¡£
void follow_line_ensyu(long t_min) { SetSensorLight(S1); long t_start=CurrentTick(); //´Ø¿ô¤¬»Ï¤Þ¤Ã¤¿»þ´Ö long t0=CurrentTick(); ¡¡ //Çòor¹õ¤Î»þ´Ö¤òõÃΤ·»Ï¤á¤¿»þ´Ö long t_max=150; //Ϣ³¤·¤Æ¹õ¤Î¸Â³¦ÃÍ long t_kousa=200; //¸òº¹ÅÀȽÃÇ long t1=CurrentTick(); //¶Ê¤¬¤ëÆ°ºî¤ò¤·»Ï¤á¤¿»þ´Ö¤Èľ¿Ê¤ò½ª¤¨¤¿»þ´Ö while(t1-t_start<t_min){ if(SENSOR_1>60){ if(t1-t0<t_max){ OnFwd(OUT_A,40);Off(OUT_C); }else{ OnFwd(OUT_A,30);OnRev(OUT_C,60); } }else if(SENSOR_1>50){ OnFwd(OUT_AC,30); t0=CurrentTick(); }else{ if(t1-t0<t_max){ OnFwd(OUT_C,40);Off(OUT_A); }else if(t1-t0<t_kousa){ OnFwd(OUT_C,30);OnRev(OUT_A,50); }else{ OnFwd(OUT_AC,40);Wait(200);PlaySound(SOUND_CLICK); } } t1=CurrentTick(); } Off(OUT_AC); PlaySound(SOUND_CLICK); }
Ķ²»ÇÈ¥»¥ó¥µ¡¼¤Ç¶õ¤´Ì¤òõÃΤ·¤½¤ÎÊý¸þ¤ò¸þ¤¤¤Æ¥Ü¡¼¥ë¤òÅö¤Æ¤ë´Ø¿ô¡£
void search_direction() { ResetTachoCount(OUT_ABC); //¥â¡¼¥¿¡¼¤Î³ÑÅÙ¤ò¥ê¥»¥Ã¥È OnFwd(OUT_A,50); OnRev(OUT_C,50); SetSensorLowspeed(S4); ¡¡¡¡¡¡¡¡//ü»Ò4¤ËĶ²»ÇÈ¥»¥ó¥µ¡¼ int d1; d1=1000; //ºÇ¾®µ÷Î¥¤ò1000¤ÈÄêµÁ¤¹¤ë long t0=CurrentTick(); long t1=CurrentTick(); long t2=CurrentTick(); while(t2-t0<=3570){ //3570¤Î´Ö²ó¤ê³¤±¤ë t2=CurrentTick(); if(SensorUS(S4)<d1){ //¥»¥ó¥µ¡¼¤ÇõÃΤ·ºÇ¾®µ÷Î¥¤è¤êû¤¤¾ì¹ç d1=SensorUS(S4); //ºÇ¾®ÃͤòºÆÄêµÁ PlaySound(SOUND_CLICK); t1=CurrentTick(); } t2=CurrentTick(); } t0=CurrentTick(); Off(OUT_AC); OnFwd(OUT_C,50); OnRev(OUT_A,50); Wait(t0-t1); //¥»¥ó¥µ¡¼¤ÇºÇ¸å¤ËºÇ¾®ÃͤÎd1¤òõÃΤ·¤¿°ÌÃÖ¤ò¸þ¤¯ Off(OUT_AC); Wait(1000); RotateMotorEx(OUT_AC,50,360,100,true,false); //¥Ü¡¼¥ë¤òž¤¬¤¹ RotateMotor(OUT_B,30,60); Wait(5000); RotateMotor(OUT_B,50,-60); RotateMotorEx(OUT_AC,50,380,100,true,false); }
¤Ï¤¸¤á¤Ëºî¤Ã¤¿¡Ö¶õ¤´Ì¤òõÃΤ·¥Ü¡¼¥ë¤òÅö¤Æ¤ë´Ø¿ô¡×¡£ÀèÀ¸¤Ë»ØŦ¤µ¤ìÀº³ÎÀ¤ò·ç¤¯¤³¤È¤¬È¯³Ð¤·¤¿¤¿¤áËפˤʤä¿¡£
void search_direction() { OnFwd(OUT_A,50); OnRev(OUT_C,50); SetSensorLowspeed(S4); int d1; d1=1000; long t0=CurrentTick(); long t1=CurrentTick(); while(t1-t0<3570){ if(SensorUS(S4)<d1){ d1=SensorUS(S4); PlaySound(SOUND_CLICK); } t1=CurrentTick(); } while(true){ if(SensorUS(S4)==d1){ PlaySound(SOUND_CLICK); Off(OUT_AC); break; } } }
¤Ê¤¼Àº³ÎÀ¤ò·ç¤¯¤«¤È¤¤¤¦¤È¡¢Æó¤ÄÌܤÎwhileʸ¤Ë¤¢¤ë"if(SensorUS(S4)==d1)"¤¬ºÇÂç¤Î¸¶°ø¡£¤³¤Î°ìʸ¤Î°ÕÌ£¤Ï¡Ö¤â¤·¥»¥ó¥µ¡¼¤ÎÃͤ¬"Á´¤¯"Ʊ¤¸¤Ê¤é¡×¤È¤¤¤¦°ÕÌ£¤Ë¤Ê¤ë¡£¤³¤Î"Á´¤¯"¤È¤¤¤¦¤â¤Î¤¬¶Ê¼Ô¤Ç¡¢1mm¤Ç¤â¤º¤ì¤Æ¤¤¤¿¤é¼Â¹Ô¤µ¤ì¤Ê¤¤¤³¤È¤ò¼¨¤·¤Æ¤¤¤ë¡£¥í¥Ü¥Ã¥È¤ÏÆ°¤¤¤Æ¤¤¤ë¤Î¤Ç"Á´¤¯"Ʊ¤¸¤³¤È¤Ï¤Û¤Ü¤¢¤êÆÀ¤Ê¤¤¤Î¤Ç¤Û¤È¤ó¤É¼Â¹Ô¤µ¤ì¤Ê¤¤¤¿¤á¤Ë¡¢¤³¤Î´Ø¿ô¤ÏÀº³ÎÀ¤ò·ç¤¯¤Î¤Ç¤¢¤ë¡£
task main() { follow_line_migi(1); //A~B¤Î±¦¤ò¿Ê¤à OnFwd(OUT_AC,50); //¼ÖÀþÊѹ¹ Wait(200); follow_line_hidari(1); ¡¡¡¡¡¡¡¡//B~K¤Îº¸¤ò¿Ê¤à PlaySound(SOUND_CLICK); Wait(1000); //K¤Ë¤Æ°ì»þÄä»ß OnFwd(OUT_C,50); Wait(500); follow_line_ensyu(15000); //±ß¼þ²ó¤ë search_direction(); //´Ì¤Ë¥Ü¡¼¥ëÅö¤Æ¤ë follow_line_hidari(5000); //〜G¤Þ¤Ç¿Ê¤à Wait(1000); //G¤Ë¤Æ°ì»þÄä»ß OnFwd(OUT_C,50); //G¤òº¸ÀÞ Wait(500); follow_line_migi(1); //G~E¤Î±¦¤ò¿Ê¤à follow_line_migi(15000); Wait(1000); //E¤Ë¤Æ°ì»þÄä»ß follow_line_migi(3000); ¡¡¡¡¡¡¡¡//E~L¤Î±¦¤ò¿Ê¤à Wait(1000); OnFwd(OUT_AC,50); Wait(1000); Off(OUT_AC); OnFwd(OUT_A,50); Wait(2000); Off(OUT_AC); }
¡¡¡¦·ëÏÀ¤«¤é¤¤¤¦¤È¡¢È¯É½Æü¤Ëȯɽ¤¹¤ë¤³¤È¤¬½ÐÍè¤Ê¤«¤Ã¤¿¡£
¡¡¡¦È¯É½ÆüÅöÆü¡¢ÀèÀ¸¤«¤é¤Î»ØŦ¤Ë¤è¤ê¡Ö¶õ¤´Ì¤òõÃΤ·¥Ü¡¼¥ë¤òÅö¤Æ¤ë´Ø¿ô¡×¤ÎõÃΤλÅÊý¤¬Àº³ÎÀ¤ò·ç¤¯»ö¤¬È¯³Ð¡£
¡¡¡¦¾åµ¤µ¤ì¤Æ¤¤¤ë¡Ö¶õ¤´Ì¤òõÃΤ·¥Ü¡¼¥ë¤òÅö¤Æ¤ë´Ø¿ô¡×¤ÏÅöÆü¤Î¹ÖµÁ¸å¤Ë½ñ¤Ä¾¤·¤¿¤â¤Î¡£
¡¡¡¦¤½¤Î¾¤Î´Ø¿ô¤ÎÆ°ºî¤Ë¤¢¤Þ¤êÉÔÈ÷¤Ï¤Ê¤«¤Ã¤¿¤¬ÅÅÃӤξÃÌפ¬·ã¤·¤«¤Ã¤¿¡£
¡¡¡¦¡Ö¶õ¤´Ì¤òõÃΤ·¥Ü¡¼¥ë¤òÅö¤Æ¤ë´Ø¿ô¡×¤òºî¤ëºÝÀèÀ¸¤¬¤ª¤Ã¤·¤ã¤Ã¤Æ¤¤¤¿¤³¤È¤òÀµ³Î¤ËÍý²ò¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢´°àú¤ËÍý²ò¤¹¤ë¤Þ¤ÇÀèÀ¸¤Ë¼ÁÌ䤹¤Ù¤¤À¤Ã¤¿¡£
¡¡¡¦ÅÅÃӤξÃÌפ¬·ã¤·¤«¤Ã¤¿¡£µ¡ÂΤ«¥×¥í¥°¥é¥à¤Ë¹©Éפò²Ã¤¨¤ì¤Ð¤â¤¦¾¯¤·ÅÅÃӤξÃÌפηڸº¤Ç¤¤¿¤È¹Í¤¨¤é¤ì¤ë¡£
¡¡¡¦NXTËÜÂΤλ٤¨¤¬Èó¾ï¤ËÉÔ°ÂÄê¤Ç¤Á¤ç¤Ã¤È¤·¤¿¿¶Æ°¤Ç¥Ð¥é¥ó¥¹¤òÊø¤·¤«¤±¤Æ¤·¤Þ¤¦¤³¤È¤¬¤¢¤Ã¤¿¤Î¤Ç²þÎɤ¬É¬Íס£¤Þ¤¿¸Â¤é¤ì¤¿ÉôÉʤò¤¤¤«¤Ë¹©Éפ¹¤ë¤«¤¬º£¸å¤Î²ÝÂê¤À¤È¹Í¤¨¤é¤ì¤ë¡£
º£²ó¤Ï¼ø¶ÈÆü¤Î¸áÁ°Ãæ¤Ë¥×¥í¥°¥é¥à¤¬´°À®¤·²ÝÂê¤âãÀ®¤·¤Æ¤¤¤¿¡£¤·¤«¤·¡¢¾åµ¤Ë¤¢¤ë¤è¤¦¤Ë¡Ö¶õ¤´Ì¤òõÃΤ·¥Ü¡¼¥ë¤òÅö¤Æ¤ë´Ø¿ô¡×¤¬¤¦¤Þ¤¯ºîÆ°¤»¤ºÀèÀ¸¤«¤é¤Î»ØŦ¤Ë¤è¤ê¤½¤Î´Ø¿ô¤À¤±ºî¤êľ¤¹¤³¤È¤Ë¤Ê¤êȯɽ¤¹¤ë¤³¤È¤¬½ÐÍè¤Ê¤«¤Ã¤¿¡£¤Þ¤¿¡¢°¤¤°ÕÌ£¤Ç¼êËܤˤʤäƤ·¤Þ¤Ã¤¿¡£¤³¤ì¤é¤è¤êÁ°²ó°Ê¾å¤Ë²ù¤·¤µ¤¬Êç¤Ã¤¿¡£¼¡²ó¤ÏÀäÂФËȯɽ¤·¤¿¤¤¡£