2018b/Member/tomflat14/Mission2
¤ò¥Æ¥ó¥×¥ì¡¼¥È¤Ë¤·¤ÆºîÀ®
[
¥È¥Ã¥×
] [
¿·µ¬
|
°ìÍ÷
|
¸¡º÷
|
ºÇ½ª¹¹¿·
|
¥Ø¥ë¥×
|
¥í¥°¥¤¥ó
]
³«»Ï¹Ô:
Ìܼ¡
#contents
* ²ÝÂꣲ [#v2998a0d]
²¼¤Î¿Þ¤Î¤è¤¦¤Ê¥³¡¼¥¹¤òºîÀ®¤·¡¢»ØÄꤵ¤ì¤¿¥³¡¼¥¹¤òÁö¹Ô¤·ÅÓÃæ¤Ç¥´¡¼¥ëÉÕ¶á¤Î¶õ¤´Ì¤Ë¥Ü¡¼¥ë¤òÅö¤Æ¤ë¥í¥Ü¥Ã¥È¤òºîÀ®¤¹¤ë¡£
#ref(./2018b-mission2.png,10)
º£²ó¡¢»ä¤¬Áö¹Ô¤µ¤»¤ë¥³¡¼¥¹¤ÏÂè°ì¥³¡¼¥¹¤Ç
¥í¥Ü¥Ã¥È¤òĹÊý·ÁXÆâ¤Ë¤ª¤¡¢A¤ò¥¹¥¿¡¼¥È
B¤ò±¦ÀÞ
K¤Ç°ì»þÄä»ß¤·¤Æº¸ÀÞ
J¤òľ¿Ê
I¤òľ¿Ê
H¤òº¸ÀÞ
G¤Ç°ì»þÄä»ß¤·¤Æº¸ÀÞ
E¤Ç°ì»þÄä»ß¤·¤Æ±¦ÀÞ
L¤ò·Ð¤ÆÀµÊý·ÁYÆâ¤ËÆþ¤Ã¤ÆÄä»ß
¥Ü¡¼¥ë¤Ï¥í¥Ü¥Ã¥È¤¬¸ÌKJIH¾å¤Ë¤¢¤ë»þ¤ËQÃÏÅÀ¤Î¶õ¤´Ì¤ËÅö¤Æ¤ë
¤È¤¤¤¦¤â¤Î¤À
¿Þ¤Çɽ¤¹¤È¡¦¡¦¡¦¡¡
#ref(ko-su.png):
*¥í¥Ü¥Ã¥È¤Î³µÍ× [#g730a7c1]
¥í¥Ü¥Ã¥È¤ÎÁ´ÂÎÁü¢¡Ê¿Ê¹ÔÊý¸þ¤Ï¼Ì¿¿±¦Êý¸þ¡Ë
#ref(19651.jpg):
°ì¤ÄÌܤΥ⡼¥¿¡¼¤Ë¥Ü¡¼¥ë¤òž¤¬¤¹µ¡Ç½¤òÉÕ¤±¡¢Æó¤ÄÌܤȻ°¤ÄÌܤ˥¿¥¤¥ä¤òÉÕ¤±¤¿¡£¤Þ¤¿¡¢¸åÊý¤Ë¥¿¥¤¥ä¤òÉÕ¤±Á°²ó¤Î²ÝÂê1¤ÈƱÍͤ˻°Îؼַ¿¤Î¥í¥Ü¥Ã¥È¤Ë¤·¤¿¡£NXTËÜÂΤϽſ´¤¬¤Ç¤¤ë¤À¤±¥â¡¼¥¿¡¼¤Ë¤Ä¤¤¤Æ¤¤¤ë¥¿¥¤¥ä¤Î¾åÉÕ¶á¤ËÍè¤ë¤è¤¦¤Ë¤·¤¿¡£¤·¤«¤·ËÜÂΤÎξÏƤò·×2ËܤÎËÀ¤Ç¤·¤«»Ù¤¨¤Æ¤¤¤Ê¤¤¤Î¤ÇÉÔ°ÂÄê¤Ê¤Î¤¬È¿¾ÊÅÀ¡£
Ìð°õ¤ÎÊý¸þ¤ËËÀ¤òÆ°¤«¤·¥Ü¡¼¥ë¤òž¤¬¤¹¢
#ref(19651_LIV2.jpg):
¸÷¥»¥ó¥µ¡¼¤ÈĶ²»ÇÈ¥»¥ó¥µ¡¼¡¢¸åÎؤϰʲ¼¤Î¼Ì¿¿¤Î¤è¤¦¤Ë¼è¤êÉÕ¤±¤¿¡£
#ref(19655_LI.jpg):
¿Ê¹ÔÊý¸þ¤È¤ÏµÕ¸þ¤¤ËĶ²»ÇÈ¥»¥ó¥µ¡¼¤òÉÕ¤±¤Æ¤¤¤ë¡£¤Ï¤¸¤á¤ÏĶ²»ÇÈ¥»¥ó¥µ¡¼¤Ç¶õ¤´Ì¤òȯõÃΤ·¤¿¸å¤Ë360ÅÙÀû²ó¤·¤Æ¥Ü¡¼¥ë¤òÅö¤Æ¤ë¡Ö¤À¤±¡×¤È·Ú¤¯¹Í¤¨¤Æ¤¤¤¿¤¬¡¢¤¢¤Þ¤«¤Ã¤¿¡£¸íº¹¤¬À¸¤¸¤ë¸¶°ø¤È¤Ê¤ê¡¢¶õ¤´Ì¤òÀº³Î¤ËõÃΤ¹¤ë¤³¤È¤Ï¤Ç¤¤¿¤¬Àû²ó»þ¤Ë²ó¤ê¤¹¤®¤¿¤ê²ó¤é¤Ê¤¹¤®¤¿¤ê¤·¤Æ¥Ü¡¼¥ë¤¬¶õ¤´Ì¤ËÅö¤¿¤é¤Ê¤¤¤³¤È¤¬¤¢¤Ã¤¿¡£
*¥×¥í¥°¥é¥à [#g58dc551]
»È¤¨¤ë¸÷¥»¥ó¥µ¡¼¤¬°ì¤Ä¤À¤±¤Ê¤Î¤ÇÉý2cm¤Î¹õÀþ¤Î¤Õ¤Á¤ò¸÷¥»¥ó¥µ¡¼¤ÇõÃΤ·¤Ê¤¬¤é¥È¥ì¡¼¥¹¤·¤Æ¤¤¤¯¤è¤¦¤Ë¤·¤¿¡£
¡ÖÇò¡×¡ÖÇò¤È¹õ¤Î¶³¦Àþ¡×¡Ö¹õ¡×¤ÇÆ°¤¤òÊѤ¨¤ë¤è¤¦¤Ë¤·¤¿¡£¤³¤Î¤È¤¤Î¸÷¥»¥ó¥µ¡¼¤ÎÃͤϤ½¤ì¤¾¤ì60¤è¤ê¾å¡¢60°Ê²¼50¤è¤ê¾å¡¢50°Ê²¼¤ò¼¨¤¹¡ÊºÙ¤«¤¤Ãͤϲ¼¿Þ¤ò»²¾È¡Ë¡£¤½¤ì¤¾¤ì¤ÎÆ°¤¤Ï¹õ¤ÎÎΰè¤Ë¶Ê¤¬¤ë¡¢Ä¾¿Ê¡¢Çò¤ÎÎΰè¤Ë¶Ê¤¬¤ë¡¡¤È¤¤¤¦Æ°¤¤ò¤¹¤ë¡£¤½¤·¤Æ¡ÖÇò¡×¤Þ¤¿¤Ï¡Ö¹õ¡×¤Î»þ´Ö¤¬150¤òĶ¤¨¤ë¤ÈÀû²ó¤ËÀÚ¤êÂؤï¤ëÍÍ¤Ë¥×¥í¥°¥é¥à¤·¤¿¡£
¤½¤ì¤¾¤ì¤Î¸÷¥»¥ó¥µ¡¼¤ÎºÙ¤«¤¤ÃÍ¢
#ref(line.png):
°Ê¾å¤è¤ê
1,¥é¥¤¥ó¤Î±¦Ã¼¤ò¥È¥ì¡¼¥¹¤¹¤ë´Ø¿ô
2,¥é¥¤¥ó¤Îº¸Ã¼¤ò¥È¥ì¡¼¥¹¤¹¤ë´Ø¿ô
3,±ß¼þ¾å¤òÁö¹Ô¤¹¤ë´Ø¿ô
4,¶õ¤´Ì¤òõÃΤ·¥Ü¡¼¥ë¤òÅö¤Æ¤ë´Ø¿ô
¹ç·×4¤Ä¤Î´Ø¿ô¤ò»ÈÍѤ·¥×¥í¥°¥é¥à¤òºîÀ®¤·¤¿¡£
**¥é¥¤¥ó¤Î±¦Ã¼¤ò¥È¥ì¡¼¥¹¤¹¤ë´Ø¿ô [#r12b3ac8]
¤Ï¤¸¤á¤Î²¿ÉáÊt_min´Ö¡Ë¤«¤Ï¸òº¹ÅÀ¤òȽÃǤ·¤Æ¤âÄä»ß¤»¤º¡¢¤½¤Î»þ´Ö¤Î·Ð²á¸å¤Ï¸òº¹ÅÀȽÃǤò¤¹¤ë¤ÈÄä»ß¤¹¤ë´Ø¿ô¤È¤Ê¤Ã¤Æ¤¤¤ë¡£
¤³¤³¤Ç¤½¤ì¤¾¤ì¤Î´Ø¿ô¤ÇÄêµÁ¤·¤¿t_start,t0,t1¤ÎÀâÌÀ¤ò¤¹¤ë¡£t_start¤Ï´Ø¿ô¤¬»Ï¤Þ¤Ã¤¿»þ´Ö¤òµÏ¿¤¹¤ë¡£t0¤ÏÇòor¹õ¤òõÃΤ·»Ï¤á¤¿»þ´Ö¤òµÏ¿¤¹¤ë¡£t1¤Ï¶Ê¤¬¤ëÆ°ºî¤ò¤·»Ï¤á¤¿»þ´Ö¤Èľ¿Ê¤ò½ª¤¨¤¿»þ´Ö¤òµÏ¿¡¤¹¹¿·¤¹¤ë¡£
½¾¤Ã¤Æ¡¢t1-t0¤ÇÇòor¹õ¤òϢ³¤ÇõÃΤ·Â³¤±¤¿»þ´Ö¤ò¼¨¤¹¡£
»²¹Í¢
#ref(./21594.jpg)
¤³¤Î¿Þ¤Î²«¿§¤Î´ÝÈÖ¹æ¤È²¼µ´Ø¿ô¤Î¥³¥á¥ó¥È¤Î´ÝÈֹ椬Âбþ¤·¤Æ¤¤¤ë¡£
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); //²»¤òÌĤ餷¸òº¹ÅÀ¤ÈȽÃǤ·¤¿¤³¤È¤òÃΤ餻¤ë
}
**¥é¥¤¥ó¤Îº¸Ã¼¤ò¥È¥ì¡¼¥¹¤¹¤ë´Ø¿ô [#da00466a]
¡Ö¥é¥¤¥ó¤Î±¦Ã¼¤ò¥È¥ì¡¼¥¹¤¹¤ë´Ø¿ô¡×¤ÈƱÍͤˡ¢¤Ï¤¸¤á¤Î²¿ÉáÊ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); //²»¤òÌĤ餷¸òº¹ÅÀ¤ÈȽÃǤ·¤¿¤³¤È¤òÃΤ餻¤ë
}
**±ß¼þ¾å¤òÁö¹Ô¤¹¤ë´Ø¿ô [#s78b5dee]
±ß¼þ¾å¤ò¸òº¹ÅÀȽÃǤ·¤Æ¤âÄä»ß¤»¤º¤Ë¿Ê¤à´Ø¿ô¡£¾åµ¤Î¡Ö¥é¥¤¥ó¤Îº¸Ã¼¤ò¥È¥ì¡¼¥¹¤¹¤ë´Ø¿ô¡×¡Ö¥é¥¤¥ó¤Î±¦Ã¼¤ò¥È¥ì¡¼¥¹¤¹¤ë´Ø¿ô¡×¤È¤Û¤È¤ó¤ÉƱ¤¸´Ø¿ô¡£¤·¤«¤·¡¢±ß¼þ¾å¤òÁö¹ÔÃæ¤Ë¡Ö¶õ¤´Ì¤òõÃΤ·¥Ü¡¼¥ë¤òÅö¤Æ¤ë´Ø¿ô¡×¤òÁȤ߹þ¤à¤¿¤á¡¢¤ï¤«¤ê¤ä¤¹¤¯¤¹¤ë¤¿¤á¤Ë¤³¤Î´Ø¿ô¤ò»ÈÍѤ·¤¿¡£
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);
}
**¶õ¤´Ì¤òõÃΤ·¥Ü¡¼¥ë¤òÅö¤Æ¤ë´Ø¿ô [#sd91fe1c]
Ķ²»ÇÈ¥»¥ó¥µ¡¼¤Ç¶õ¤´Ì¤òõÃΤ·¤½¤ÎÊý¸þ¤ò¸þ¤¤¤Æ¥Ü¡¼¥ë¤òÅö¤Æ¤ë´Ø¿ô¡£
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);
}
***Ë×°Æ [#ca601e09]
¤Ï¤¸¤á¤Ëºî¤Ã¤¿¡Ö¶õ¤´Ì¤òõÃΤ·¥Ü¡¼¥ë¤òÅö¤Æ¤ë´Ø¿ô¡×¡£ÀèÀ¸¤Ë»ØŦ¤µ¤ìÀº³ÎÀ¤ò·ç¤¯¤³¤È¤¬È¯³Ð¤·¤¿¤¿¤áËפˤʤä¿¡£
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¤Ç¤â¤º¤ì¤Æ¤¤¤¿¤é¼Â¹Ô¤µ¤ì¤Ê¤¤¤³¤È¤ò¼¨¤·¤Æ¤¤¤ë¡£¥í¥Ü¥Ã¥È¤ÏÆ°¤¤¤Æ¤¤¤ë¤Î¤Ç"Á´¤¯"Ʊ¤¸¤³¤È¤Ï¤Û¤Ü¤¢¤êÆÀ¤Ê¤¤¤Î¤Ç¤Û¤È¤ó¤É¼Â¹Ô¤µ¤ì¤Ê¤¤¤¿¤á¤Ë¡¢¤³¤Î´Ø¿ô¤ÏÀº³ÎÀ¤ò·ç¤¯¤Î¤Ç¤¢¤ë¡£
** ´°À®¤·¤¿¥×¥í¥°¥é¥à [#r2c92666]
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);
}
*¤Þ¤È¤á [#n5faf5d7]
**·ë²Ì [#f3dce85a]
¡¡¡¦·ëÏÀ¤«¤é¤¤¤¦¤È¡¢È¯É½Æü¤Ëȯɽ¤¹¤ë¤³¤È¤¬½ÐÍè¤Ê¤«¤Ã¤¿¡£
¡¡¡¦È¯É½ÆüÅöÆü¡¢ÀèÀ¸¤«¤é¤Î»ØŦ¤Ë¤è¤ê¡Ö¶õ¤´Ì¤òõÃΤ·¥Ü¡¼¥ë¤òÅö¤Æ¤ë´Ø¿ô¡×¤ÎõÃΤλÅÊý¤¬Àº³ÎÀ¤ò·ç¤¯»ö¤¬È¯³Ð¡£
¡¡¡¦¾åµ¤µ¤ì¤Æ¤¤¤ë¡Ö¶õ¤´Ì¤òõÃΤ·¥Ü¡¼¥ë¤òÅö¤Æ¤ë´Ø¿ô¡×¤ÏÅöÆü¤Î¹ÖµÁ¸å¤Ë½ñ¤Ä¾¤·¤¿¤â¤Î¡£
¡¡¡¦¤½¤Î¾¤Î´Ø¿ô¤ÎÆ°ºî¤Ë¤¢¤Þ¤êÉÔÈ÷¤Ï¤Ê¤«¤Ã¤¿¤¬ÅÅÃӤξÃÌפ¬·ã¤·¤«¤Ã¤¿¡£
**¹Í»¡ [#rf327cfc]
¡¡¡¦¡Ö¶õ¤´Ì¤òõÃΤ·¥Ü¡¼¥ë¤òÅö¤Æ¤ë´Ø¿ô¡×¤òºî¤ëºÝÀèÀ¸¤¬¤ª¤Ã¤·¤ã¤Ã¤Æ¤¤¤¿¤³¤È¤òÀµ³Î¤ËÍý²ò¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢´°àú¤ËÍý²ò¤¹¤ë¤Þ¤ÇÀèÀ¸¤Ë¼ÁÌ䤹¤Ù¤¤À¤Ã¤¿¡£
¡¡¡¦ÅÅÃӤξÃÌפ¬·ã¤·¤«¤Ã¤¿¡£µ¡ÂΤ«¥×¥í¥°¥é¥à¤Ë¹©Éפò²Ã¤¨¤ì¤Ð¤â¤¦¾¯¤·ÅÅÃӤξÃÌפηڸº¤Ç¤¤¿¤È¹Í¤¨¤é¤ì¤ë¡£
¡¡¡¦NXTËÜÂΤλ٤¨¤¬Èó¾ï¤ËÉÔ°ÂÄê¤Ç¤Á¤ç¤Ã¤È¤·¤¿¿¶Æ°¤Ç¥Ð¥é¥ó¥¹¤òÊø¤·¤«¤±¤Æ¤·¤Þ¤¦¤³¤È¤¬¤¢¤Ã¤¿¤Î¤Ç²þÎɤ¬É¬Íס£¤Þ¤¿¸Â¤é¤ì¤¿ÉôÉʤò¤¤¤«¤Ë¹©Éפ¹¤ë¤«¤¬º£¸å¤Î²ÝÂê¤À¤È¹Í¤¨¤é¤ì¤ë¡£
**´¶ÁÛ [#a3f4c67a]
º£²ó¤Ï¼ø¶ÈÆü¤Î¸áÁ°Ãæ¤Ë¥×¥í¥°¥é¥à¤¬´°À®¤·²ÝÂê¤âãÀ®¤·¤Æ¤¤¤¿¡£¤·¤«¤·¡¢¾åµ¤Ë¤¢¤ë¤è¤¦¤Ë¡Ö¶õ¤´Ì¤òõÃΤ·¥Ü¡¼¥ë¤òÅö¤Æ¤ë´Ø¿ô¡×¤¬¤¦¤Þ¤¯ºîÆ°¤»¤ºÀèÀ¸¤«¤é¤Î»ØŦ¤Ë¤è¤ê¤½¤Î´Ø¿ô¤À¤±ºî¤êľ¤¹¤³¤È¤Ë¤Ê¤êȯɽ¤¹¤ë¤³¤È¤¬½ÐÍè¤Ê¤«¤Ã¤¿¡£¤Þ¤¿¡¢°¤¤°ÕÌ£¤Ç¼êËܤˤʤäƤ·¤Þ¤Ã¤¿¡£¤³¤ì¤é¤è¤êÁ°²ó°Ê¾å¤Ë²ù¤·¤µ¤¬Êç¤Ã¤¿¡£¼¡²ó¤ÏÀäÂФËȯɽ¤·¤¿¤¤¡£
½ªÎ»¹Ô:
Ìܼ¡
#contents
* ²ÝÂꣲ [#v2998a0d]
²¼¤Î¿Þ¤Î¤è¤¦¤Ê¥³¡¼¥¹¤òºîÀ®¤·¡¢»ØÄꤵ¤ì¤¿¥³¡¼¥¹¤òÁö¹Ô¤·ÅÓÃæ¤Ç¥´¡¼¥ëÉÕ¶á¤Î¶õ¤´Ì¤Ë¥Ü¡¼¥ë¤òÅö¤Æ¤ë¥í¥Ü¥Ã¥È¤òºîÀ®¤¹¤ë¡£
#ref(./2018b-mission2.png,10)
º£²ó¡¢»ä¤¬Áö¹Ô¤µ¤»¤ë¥³¡¼¥¹¤ÏÂè°ì¥³¡¼¥¹¤Ç
¥í¥Ü¥Ã¥È¤òĹÊý·ÁXÆâ¤Ë¤ª¤¡¢A¤ò¥¹¥¿¡¼¥È
B¤ò±¦ÀÞ
K¤Ç°ì»þÄä»ß¤·¤Æº¸ÀÞ
J¤òľ¿Ê
I¤òľ¿Ê
H¤òº¸ÀÞ
G¤Ç°ì»þÄä»ß¤·¤Æº¸ÀÞ
E¤Ç°ì»þÄä»ß¤·¤Æ±¦ÀÞ
L¤ò·Ð¤ÆÀµÊý·ÁYÆâ¤ËÆþ¤Ã¤ÆÄä»ß
¥Ü¡¼¥ë¤Ï¥í¥Ü¥Ã¥È¤¬¸ÌKJIH¾å¤Ë¤¢¤ë»þ¤ËQÃÏÅÀ¤Î¶õ¤´Ì¤ËÅö¤Æ¤ë
¤È¤¤¤¦¤â¤Î¤À
¿Þ¤Çɽ¤¹¤È¡¦¡¦¡¦¡¡
#ref(ko-su.png):
*¥í¥Ü¥Ã¥È¤Î³µÍ× [#g730a7c1]
¥í¥Ü¥Ã¥È¤ÎÁ´ÂÎÁü¢¡Ê¿Ê¹ÔÊý¸þ¤Ï¼Ì¿¿±¦Êý¸þ¡Ë
#ref(19651.jpg):
°ì¤ÄÌܤΥ⡼¥¿¡¼¤Ë¥Ü¡¼¥ë¤òž¤¬¤¹µ¡Ç½¤òÉÕ¤±¡¢Æó¤ÄÌܤȻ°¤ÄÌܤ˥¿¥¤¥ä¤òÉÕ¤±¤¿¡£¤Þ¤¿¡¢¸åÊý¤Ë¥¿¥¤¥ä¤òÉÕ¤±Á°²ó¤Î²ÝÂê1¤ÈƱÍͤ˻°Îؼַ¿¤Î¥í¥Ü¥Ã¥È¤Ë¤·¤¿¡£NXTËÜÂΤϽſ´¤¬¤Ç¤¤ë¤À¤±¥â¡¼¥¿¡¼¤Ë¤Ä¤¤¤Æ¤¤¤ë¥¿¥¤¥ä¤Î¾åÉÕ¶á¤ËÍè¤ë¤è¤¦¤Ë¤·¤¿¡£¤·¤«¤·ËÜÂΤÎξÏƤò·×2ËܤÎËÀ¤Ç¤·¤«»Ù¤¨¤Æ¤¤¤Ê¤¤¤Î¤ÇÉÔ°ÂÄê¤Ê¤Î¤¬È¿¾ÊÅÀ¡£
Ìð°õ¤ÎÊý¸þ¤ËËÀ¤òÆ°¤«¤·¥Ü¡¼¥ë¤òž¤¬¤¹¢
#ref(19651_LIV2.jpg):
¸÷¥»¥ó¥µ¡¼¤ÈĶ²»ÇÈ¥»¥ó¥µ¡¼¡¢¸åÎؤϰʲ¼¤Î¼Ì¿¿¤Î¤è¤¦¤Ë¼è¤êÉÕ¤±¤¿¡£
#ref(19655_LI.jpg):
¿Ê¹ÔÊý¸þ¤È¤ÏµÕ¸þ¤¤ËĶ²»ÇÈ¥»¥ó¥µ¡¼¤òÉÕ¤±¤Æ¤¤¤ë¡£¤Ï¤¸¤á¤ÏĶ²»ÇÈ¥»¥ó¥µ¡¼¤Ç¶õ¤´Ì¤òȯõÃΤ·¤¿¸å¤Ë360ÅÙÀû²ó¤·¤Æ¥Ü¡¼¥ë¤òÅö¤Æ¤ë¡Ö¤À¤±¡×¤È·Ú¤¯¹Í¤¨¤Æ¤¤¤¿¤¬¡¢¤¢¤Þ¤«¤Ã¤¿¡£¸íº¹¤¬À¸¤¸¤ë¸¶°ø¤È¤Ê¤ê¡¢¶õ¤´Ì¤òÀº³Î¤ËõÃΤ¹¤ë¤³¤È¤Ï¤Ç¤¤¿¤¬Àû²ó»þ¤Ë²ó¤ê¤¹¤®¤¿¤ê²ó¤é¤Ê¤¹¤®¤¿¤ê¤·¤Æ¥Ü¡¼¥ë¤¬¶õ¤´Ì¤ËÅö¤¿¤é¤Ê¤¤¤³¤È¤¬¤¢¤Ã¤¿¡£
*¥×¥í¥°¥é¥à [#g58dc551]
»È¤¨¤ë¸÷¥»¥ó¥µ¡¼¤¬°ì¤Ä¤À¤±¤Ê¤Î¤ÇÉý2cm¤Î¹õÀþ¤Î¤Õ¤Á¤ò¸÷¥»¥ó¥µ¡¼¤ÇõÃΤ·¤Ê¤¬¤é¥È¥ì¡¼¥¹¤·¤Æ¤¤¤¯¤è¤¦¤Ë¤·¤¿¡£
¡ÖÇò¡×¡ÖÇò¤È¹õ¤Î¶³¦Àþ¡×¡Ö¹õ¡×¤ÇÆ°¤¤òÊѤ¨¤ë¤è¤¦¤Ë¤·¤¿¡£¤³¤Î¤È¤¤Î¸÷¥»¥ó¥µ¡¼¤ÎÃͤϤ½¤ì¤¾¤ì60¤è¤ê¾å¡¢60°Ê²¼50¤è¤ê¾å¡¢50°Ê²¼¤ò¼¨¤¹¡ÊºÙ¤«¤¤Ãͤϲ¼¿Þ¤ò»²¾È¡Ë¡£¤½¤ì¤¾¤ì¤ÎÆ°¤¤Ï¹õ¤ÎÎΰè¤Ë¶Ê¤¬¤ë¡¢Ä¾¿Ê¡¢Çò¤ÎÎΰè¤Ë¶Ê¤¬¤ë¡¡¤È¤¤¤¦Æ°¤¤ò¤¹¤ë¡£¤½¤·¤Æ¡ÖÇò¡×¤Þ¤¿¤Ï¡Ö¹õ¡×¤Î»þ´Ö¤¬150¤òĶ¤¨¤ë¤ÈÀû²ó¤ËÀÚ¤êÂؤï¤ëÍÍ¤Ë¥×¥í¥°¥é¥à¤·¤¿¡£
¤½¤ì¤¾¤ì¤Î¸÷¥»¥ó¥µ¡¼¤ÎºÙ¤«¤¤ÃÍ¢
#ref(line.png):
°Ê¾å¤è¤ê
1,¥é¥¤¥ó¤Î±¦Ã¼¤ò¥È¥ì¡¼¥¹¤¹¤ë´Ø¿ô
2,¥é¥¤¥ó¤Îº¸Ã¼¤ò¥È¥ì¡¼¥¹¤¹¤ë´Ø¿ô
3,±ß¼þ¾å¤òÁö¹Ô¤¹¤ë´Ø¿ô
4,¶õ¤´Ì¤òõÃΤ·¥Ü¡¼¥ë¤òÅö¤Æ¤ë´Ø¿ô
¹ç·×4¤Ä¤Î´Ø¿ô¤ò»ÈÍѤ·¥×¥í¥°¥é¥à¤òºîÀ®¤·¤¿¡£
**¥é¥¤¥ó¤Î±¦Ã¼¤ò¥È¥ì¡¼¥¹¤¹¤ë´Ø¿ô [#r12b3ac8]
¤Ï¤¸¤á¤Î²¿ÉáÊt_min´Ö¡Ë¤«¤Ï¸òº¹ÅÀ¤òȽÃǤ·¤Æ¤âÄä»ß¤»¤º¡¢¤½¤Î»þ´Ö¤Î·Ð²á¸å¤Ï¸òº¹ÅÀȽÃǤò¤¹¤ë¤ÈÄä»ß¤¹¤ë´Ø¿ô¤È¤Ê¤Ã¤Æ¤¤¤ë¡£
¤³¤³¤Ç¤½¤ì¤¾¤ì¤Î´Ø¿ô¤ÇÄêµÁ¤·¤¿t_start,t0,t1¤ÎÀâÌÀ¤ò¤¹¤ë¡£t_start¤Ï´Ø¿ô¤¬»Ï¤Þ¤Ã¤¿»þ´Ö¤òµÏ¿¤¹¤ë¡£t0¤ÏÇòor¹õ¤òõÃΤ·»Ï¤á¤¿»þ´Ö¤òµÏ¿¤¹¤ë¡£t1¤Ï¶Ê¤¬¤ëÆ°ºî¤ò¤·»Ï¤á¤¿»þ´Ö¤Èľ¿Ê¤ò½ª¤¨¤¿»þ´Ö¤òµÏ¿¡¤¹¹¿·¤¹¤ë¡£
½¾¤Ã¤Æ¡¢t1-t0¤ÇÇòor¹õ¤òϢ³¤ÇõÃΤ·Â³¤±¤¿»þ´Ö¤ò¼¨¤¹¡£
»²¹Í¢
#ref(./21594.jpg)
¤³¤Î¿Þ¤Î²«¿§¤Î´ÝÈÖ¹æ¤È²¼µ´Ø¿ô¤Î¥³¥á¥ó¥È¤Î´ÝÈֹ椬Âбþ¤·¤Æ¤¤¤ë¡£
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); //²»¤òÌĤ餷¸òº¹ÅÀ¤ÈȽÃǤ·¤¿¤³¤È¤òÃΤ餻¤ë
}
**¥é¥¤¥ó¤Îº¸Ã¼¤ò¥È¥ì¡¼¥¹¤¹¤ë´Ø¿ô [#da00466a]
¡Ö¥é¥¤¥ó¤Î±¦Ã¼¤ò¥È¥ì¡¼¥¹¤¹¤ë´Ø¿ô¡×¤ÈƱÍͤˡ¢¤Ï¤¸¤á¤Î²¿ÉáÊ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); //²»¤òÌĤ餷¸òº¹ÅÀ¤ÈȽÃǤ·¤¿¤³¤È¤òÃΤ餻¤ë
}
**±ß¼þ¾å¤òÁö¹Ô¤¹¤ë´Ø¿ô [#s78b5dee]
±ß¼þ¾å¤ò¸òº¹ÅÀȽÃǤ·¤Æ¤âÄä»ß¤»¤º¤Ë¿Ê¤à´Ø¿ô¡£¾åµ¤Î¡Ö¥é¥¤¥ó¤Îº¸Ã¼¤ò¥È¥ì¡¼¥¹¤¹¤ë´Ø¿ô¡×¡Ö¥é¥¤¥ó¤Î±¦Ã¼¤ò¥È¥ì¡¼¥¹¤¹¤ë´Ø¿ô¡×¤È¤Û¤È¤ó¤ÉƱ¤¸´Ø¿ô¡£¤·¤«¤·¡¢±ß¼þ¾å¤òÁö¹ÔÃæ¤Ë¡Ö¶õ¤´Ì¤òõÃΤ·¥Ü¡¼¥ë¤òÅö¤Æ¤ë´Ø¿ô¡×¤òÁȤ߹þ¤à¤¿¤á¡¢¤ï¤«¤ê¤ä¤¹¤¯¤¹¤ë¤¿¤á¤Ë¤³¤Î´Ø¿ô¤ò»ÈÍѤ·¤¿¡£
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);
}
**¶õ¤´Ì¤òõÃΤ·¥Ü¡¼¥ë¤òÅö¤Æ¤ë´Ø¿ô [#sd91fe1c]
Ķ²»ÇÈ¥»¥ó¥µ¡¼¤Ç¶õ¤´Ì¤òõÃΤ·¤½¤ÎÊý¸þ¤ò¸þ¤¤¤Æ¥Ü¡¼¥ë¤òÅö¤Æ¤ë´Ø¿ô¡£
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);
}
***Ë×°Æ [#ca601e09]
¤Ï¤¸¤á¤Ëºî¤Ã¤¿¡Ö¶õ¤´Ì¤òõÃΤ·¥Ü¡¼¥ë¤òÅö¤Æ¤ë´Ø¿ô¡×¡£ÀèÀ¸¤Ë»ØŦ¤µ¤ìÀº³ÎÀ¤ò·ç¤¯¤³¤È¤¬È¯³Ð¤·¤¿¤¿¤áËפˤʤä¿¡£
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¤Ç¤â¤º¤ì¤Æ¤¤¤¿¤é¼Â¹Ô¤µ¤ì¤Ê¤¤¤³¤È¤ò¼¨¤·¤Æ¤¤¤ë¡£¥í¥Ü¥Ã¥È¤ÏÆ°¤¤¤Æ¤¤¤ë¤Î¤Ç"Á´¤¯"Ʊ¤¸¤³¤È¤Ï¤Û¤Ü¤¢¤êÆÀ¤Ê¤¤¤Î¤Ç¤Û¤È¤ó¤É¼Â¹Ô¤µ¤ì¤Ê¤¤¤¿¤á¤Ë¡¢¤³¤Î´Ø¿ô¤ÏÀº³ÎÀ¤ò·ç¤¯¤Î¤Ç¤¢¤ë¡£
** ´°À®¤·¤¿¥×¥í¥°¥é¥à [#r2c92666]
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);
}
*¤Þ¤È¤á [#n5faf5d7]
**·ë²Ì [#f3dce85a]
¡¡¡¦·ëÏÀ¤«¤é¤¤¤¦¤È¡¢È¯É½Æü¤Ëȯɽ¤¹¤ë¤³¤È¤¬½ÐÍè¤Ê¤«¤Ã¤¿¡£
¡¡¡¦È¯É½ÆüÅöÆü¡¢ÀèÀ¸¤«¤é¤Î»ØŦ¤Ë¤è¤ê¡Ö¶õ¤´Ì¤òõÃΤ·¥Ü¡¼¥ë¤òÅö¤Æ¤ë´Ø¿ô¡×¤ÎõÃΤλÅÊý¤¬Àº³ÎÀ¤ò·ç¤¯»ö¤¬È¯³Ð¡£
¡¡¡¦¾åµ¤µ¤ì¤Æ¤¤¤ë¡Ö¶õ¤´Ì¤òõÃΤ·¥Ü¡¼¥ë¤òÅö¤Æ¤ë´Ø¿ô¡×¤ÏÅöÆü¤Î¹ÖµÁ¸å¤Ë½ñ¤Ä¾¤·¤¿¤â¤Î¡£
¡¡¡¦¤½¤Î¾¤Î´Ø¿ô¤ÎÆ°ºî¤Ë¤¢¤Þ¤êÉÔÈ÷¤Ï¤Ê¤«¤Ã¤¿¤¬ÅÅÃӤξÃÌפ¬·ã¤·¤«¤Ã¤¿¡£
**¹Í»¡ [#rf327cfc]
¡¡¡¦¡Ö¶õ¤´Ì¤òõÃΤ·¥Ü¡¼¥ë¤òÅö¤Æ¤ë´Ø¿ô¡×¤òºî¤ëºÝÀèÀ¸¤¬¤ª¤Ã¤·¤ã¤Ã¤Æ¤¤¤¿¤³¤È¤òÀµ³Î¤ËÍý²ò¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢´°àú¤ËÍý²ò¤¹¤ë¤Þ¤ÇÀèÀ¸¤Ë¼ÁÌ䤹¤Ù¤¤À¤Ã¤¿¡£
¡¡¡¦ÅÅÃӤξÃÌפ¬·ã¤·¤«¤Ã¤¿¡£µ¡ÂΤ«¥×¥í¥°¥é¥à¤Ë¹©Éפò²Ã¤¨¤ì¤Ð¤â¤¦¾¯¤·ÅÅÃӤξÃÌפηڸº¤Ç¤¤¿¤È¹Í¤¨¤é¤ì¤ë¡£
¡¡¡¦NXTËÜÂΤλ٤¨¤¬Èó¾ï¤ËÉÔ°ÂÄê¤Ç¤Á¤ç¤Ã¤È¤·¤¿¿¶Æ°¤Ç¥Ð¥é¥ó¥¹¤òÊø¤·¤«¤±¤Æ¤·¤Þ¤¦¤³¤È¤¬¤¢¤Ã¤¿¤Î¤Ç²þÎɤ¬É¬Íס£¤Þ¤¿¸Â¤é¤ì¤¿ÉôÉʤò¤¤¤«¤Ë¹©Éפ¹¤ë¤«¤¬º£¸å¤Î²ÝÂê¤À¤È¹Í¤¨¤é¤ì¤ë¡£
**´¶ÁÛ [#a3f4c67a]
º£²ó¤Ï¼ø¶ÈÆü¤Î¸áÁ°Ãæ¤Ë¥×¥í¥°¥é¥à¤¬´°À®¤·²ÝÂê¤âãÀ®¤·¤Æ¤¤¤¿¡£¤·¤«¤·¡¢¾åµ¤Ë¤¢¤ë¤è¤¦¤Ë¡Ö¶õ¤´Ì¤òõÃΤ·¥Ü¡¼¥ë¤òÅö¤Æ¤ë´Ø¿ô¡×¤¬¤¦¤Þ¤¯ºîÆ°¤»¤ºÀèÀ¸¤«¤é¤Î»ØŦ¤Ë¤è¤ê¤½¤Î´Ø¿ô¤À¤±ºî¤êľ¤¹¤³¤È¤Ë¤Ê¤êȯɽ¤¹¤ë¤³¤È¤¬½ÐÍè¤Ê¤«¤Ã¤¿¡£¤Þ¤¿¡¢°¤¤°ÕÌ£¤Ç¼êËܤˤʤäƤ·¤Þ¤Ã¤¿¡£¤³¤ì¤é¤è¤êÁ°²ó°Ê¾å¤Ë²ù¤·¤µ¤¬Êç¤Ã¤¿¡£¼¡²ó¤ÏÀäÂФËȯɽ¤·¤¿¤¤¡£
¥Ú¡¼¥¸Ì¾: