2018b/Member/yuto/Mission3
¤ò¥Æ¥ó¥×¥ì¡¼¥È¤Ë¤·¤ÆºîÀ®
[
¥È¥Ã¥×
] [
¿·µ¬
|
°ìÍ÷
|
¸¡º÷
|
ºÇ½ª¹¹¿·
|
¥Ø¥ë¥×
|
¥í¥°¥¤¥ó
]
³«»Ï¹Ô:
[[2018b/Member]]
#contents
*²ÝÂꣳ [#q9913e0e]
**¥Ü¡¼¥ë±¿ÈÂ¥í¥Ü¥Ã¥È [#ifa577be]
ÀĤÈÀ֤Υܡ¼¥ë¤ò±¿È¤·¤Æ¡¢¤½¤ì¤¾¤ì½êÄê¤Î350㎖´Ì¤Î¾å¤Ë¾è¤»¤ë¡£
**¥³¡¼¥¹ [#e372aa9d]
·ÐÏ©¿Þ¥í¥Ü¥Ã¥È¤òÆ°¤«¤¹¡£
&ref(2018b-mission3.png);
»ä¤¿¤Á¤Î¥°¥ë¡¼¥×¤Ç¤Ï¡¢¾å¤Î¿Þ¤Î¤è¤¦¤Ë
+X¤«¤é¥¹¥¿¡¼¥È
+G¤ÇÀÖ¤¤¥Ü¡¼¥ë¤ò¼è¤ë
+F¤òÄ̲ᤷE¤òľ¿Ê
+D¤Ç´Ì¤òõ¤·¥Ü¡¼¥ë¤òÃÖ¤¯
+¥Ü¡¼¥ë¤òÃÖ¤¤¤¿¤éD¤ËÌá¤ë
+E¤ò±¦ÀÞ
+I¤òľ¿Ê¤·¤ÆÀĤ¤¥Ü¡¼¥ë¤ò¼è¤ë
+´Ì¤òõ¤·¥Ü¡¼¥ë¤òÃÖ¤¯
¤È¤¤¤¦·ÐÏ©¤Ç¥í¥Ü¥Ã¥È¤òÆ°¤«¤·¤¿¡£
*¥í¥Ü¥Ã¥È¤ÎÀâÌÀ [#l0d0c84d]
**¥í¥Ü¥Ã¥È¤ÎÁ´ÂÎ [#v01c7fed]
&ref(KIMG0103.jpg);
º£²ó¤Î¥ß¥Ã¥·¥ç¥ó¤Ç¤ÏNXT¤ÎËÜÂΤ¬£²¤Ä»È¤¨¤¿¤Î¤Ç¡¢NXT¤ÎËÜÂΤò£±¤Ä¤º¤Ä»È¤Ã¤Æ£²¤Ä¤Î¥í¥Ü¥Ã¥È¤òºî¤ë¤«¡¢£²¤Ä¤ÎNXT¤òÄÌ¿®¤·¤Æ£±¤Ä¤Î¥í¥Ü¥Ã¥È¤òºî¤ë¤«ÁªÂò¤Ç¤¤¿¡££²¤Ä¤Î¥í¥Ü¥Ã¥È¤òºî¤ë¤È¡¢°ÜÆ°¡¦¥Ü¡¼¥ë¤ÎÄϤߡ¦¥Ü¡¼¥ë¤Î»ý¤Á¾å¤²¤Ë£´¤Ä¤Î¥â¡¼¥¿¤¬É¬Íפˤʤꡢ¿ô¤¬Â¤ê¤Ê¤«¤Ã¤¿¡£ÀèÀ¸¤Ë£³¤Ä¤Î¥â¡¼¥¿¤Ç¤âÆ°¤«¤»¤ë¥í¥Ü¥Ã¥È¤ÎÁȤßΩ¤ÆÊý¤ò¶µ¤¨¤Æ¤â¤é¤Ã¤¿¤¬¡¢£±¤Ä¤Î¥í¥Ü¥Ã¥È¤òºî¤Ã¤¿Êý¤¬´Êñ¤À¤È¤¤¤¦·ëÏÀ¤Ë»ê¤ê¡¢»ä¤¿¤Á¤Î¥°¥ë¡¼¥×¤Ç¤Ï£²¤Ä¤ÎNXT¤òÄÌ¿®¤·¤Æ£±¤Ä¤Î¥í¥Ü¥Ã¥È¤òºî¤ë¤³¤È¤Ë·è¤á¤¿¡£ ¤Þ¤¿¡¢£²¤Ä¤ÎNXT¤ò²£¤Ëʤ٤뤳¤È¤È¡¢¸å¤í¤Î¥¿¥¤¥ä¡Ê¶îÆ°Îءˤò£²¤Ä¤Ä¤±¤ë¤³¤È¤Ç¥¿¥¤¥ä£±¤Ä¤Ë¤«¤«¤ë½Å¤µ¤òʬ»¶¤µ¤»¤Æ¡¢µÞ¥«¡¼¥Ö¤Ê¤É¶Ê¤¬¤ê¤ä¤¹¤¯¤·¤¿¤È¤³¤í¤ò¹©Éפ·¤¿¡£
**¥¢¡¼¥à [#pe11c5d3]
&ref(KIMG0096_LI.jpg);
¥¢¡¼¥à¤Ï¥â¡¼¥¿¤ò²ó¤¹¤³¤È¤Ç¡¢¿Þ¤Î¤è¤¦¤ÊÆ°¤¤ò¤¹¤ë¤è¤¦¤Ë¤·¤¿¡£¤Þ¤¿¡¢¤Ä¤«¤àÉôʬ¤ò¤È¤Æ¤â¹©Éפ·¡¢¥Ü¡¼¥ë¤òÍî¤È¤·¤º¤é¤¯¡¢¤Ä¤«¤ß¤ä¤¹¤¤·Á¤Ë¤·¤¿¡£
**¤½¤Î¾ [#tefda66a]
¤Û¤«¤ÎÉôʬ¤Ï´ðËÜŪ¤ËÂ裲¤Î²ÝÂê¤È¹½Â¤¤ÏÊѤï¤Ã¤Æ¤¤¤Ê¤¤¡£¤¿¤ÀÍ£°ìÊѤ¨¤¿¤³¤È¤Ï¡¢Ä¶²»ÇÈ¥»¥ó¥µ¤ò²¼¤Ë¼è¤êÉÕ¤±¤¿¤³¤È¤Ç¤¢¤ë¡£¤³¤ì¤Ë¤è¤Ã¤Æ¡¢¥Ü¡¼¥ë¤Î°ÌÃÖ¤â¤ï¤«¤ë¤è¤¦¤Ë¤·¤¿¡£
*¥×¥í¥°¥é¥ß¥ó¥° [#j1d1cde9]
**¥Ü¡¼¥ë¤ò»ý¤Ä¥×¥í¥°¥é¥ß¥ó¥° [#m90e211a]
#define UP OnFwd(OUT_B,20);Wait(4750);Off(OUT_BC); //ÏӾ夲
#define DOWN OnRev(OUT_B,20);Wait(2600);Off(OUT_BC); //ÏÓ²¼¤²
#define CATCH OnRev(OUT_C,15);Wait(725);Off(OUT_BC); //¼êÄϤß
task main()
{
DOWN
CATCH
UP
}
**¥Ü¡¼¥ë¤òÎ¥¤¹¥×¥í¥°¥é¥ß¥ó¥° [#a79d16f7]
#define LOST OnFwd(OUT_C,15);Wait(685);Off(OUT_C);¡¡¡¡//¼êÎ¥¤¹
task main()
{ //¥Ü¡¼¥ë¤ò»ý¤Ã¤ÆÏӤϾ夬¤Ã¤Æ¤¤¤ë¾õÂÖ
LOST
}
**¥é¥¤¥ó¥È¥ì¡¼¥¹¤Î¥×¥í¥°¥é¥ß¥ó¥° [#f633af55]
&ref(IMG_1130.jpg);
¥×¥í¥°¥é¥ß¥ó¥°ÆâÍƤϤۤȤó¤ÉÊѤï¤Ã¤Æ¤¤¤Ê¤¤¡£º£²ó¤â¤³¤Î¤è¤¦¤ÊÆ°¤¤ò¤¹¤ë¤è¤¦¤Ë¤·¤¿¡£¥×¥í¥°¥é¥à¤Ï¡¢
#define turn_l1 OnFwd(OUT_B,33);OnRev(OUT_C,33); //º¸Àû²ó
#define turn_r1 OnFwd(OUT_C,33);OnRev(OUT_B,33); //±¦Àû²ó
#define turn_l0 OnFwd(OUT_B,30);Off(OUT_C); //º¸ÀÞ
#define turn_r0 Off(OUT_B);OnFwd(OUT_C,30); //±¦ÀÞ
#define go_s OnFwd(OUT_BC,30); //ľ¿Ê
SetSensorLight(S1);¡¡//1È֤˷Ҥ¬¤Ã¤Æ¤¤¤ë¸÷¥»¥ó¥µ¤ò»È¤¦
if(SENSOR_1>58){ //¤â¤·¸÷¥»¥ó¥µ¤¬58°Ê¾å¤ÎÃͤò¬Äꤷ¤¿¤é
turn_r1; //±¦Àû²ó
}else if(SENSOR_1>53){ ¡¡//¤â¤·¸÷¥»¥ó¥µ¤¬53°Ê¾å57°Ê²¼¤ÎÃͤò¬Äꤷ¤¿¤é
turn_r0;¡¡//±¦ÀÞ
}else if(SENSOR_1>44){¡¡//¤â¤·¸÷¥»¥ó¥µ¤¬44°Ê¾å52°Ê²¼¤ÎÃͤò¬Äꤷ¤¿¤é
go_s; ¡¡//ľ¿Ê
}else if(SENSOR_1>34){¡¡//¤â¤·¸÷¥»¥ó¥µ¤¬34°Ê¾å43°Ê²¼¤ÎÃͤò¬Äꤷ¤¿¤é
turn_l0;¡¡//º¸ÀÞ
}else{¡¡//¤â¤·¸÷¥»¥ó¥µ¤¬33°Ê²¼¤ÎÃͤò¬Äꤷ¤¿¤é
turn_l1;¡¡//º¸Àû²ó
}
}
¸òº¹ÅÀ¤âÁ°²ó¤ÈƱÍͤǤ¢¤ë¡£¥×¥í¥°¥é¥ß¥ó¥°¤Ï¡¢
void tuuzyou()
{
SetSensorLight(S1); //1È֤˷Ҥ¬¤Ã¤Æ¤¤¤ë¸÷¥»¥ó¥µ¤ò»È¤¦
long t0; //long·¿¤Ît0¤òÄêµÁ
t0=CurrentTick(); ¡¡¡¡//¸½ºß¤Î»þ´Ö¤òµÏ¿
while(CurrentTick()-t0<90){ //¸½ºß¤Î»þ´Ö¤Èt0¤Îº¹¤¬0.09Éðʲ¼¤Î»þ¡¢°Ê²¼¤Î¥×¥í¥°
¥é¥à¤ò·«¤êÊÖ¤¹
if(SENSOR_1>58){ //¤â¤·¸÷¥»¥ó¥µ¤¬58°Ê¾å¤ÎÃͤò¬Äꤷ¤¿¤é
turn_r1; //±¦Àû²ó
t0=CurrentTick();¡¡//t0¤ò¹¹¿·¤¹¤ë
}else if(SENSOR_1>53){ ¡¡//¤â¤·¸÷¥»¥ó¥µ¤¬53°Ê¾å57°Ê²¼¤ÎÃͤò¬Äꤷ¤¿¤é
turn_r0;¡¡//±¦ÀÞ
t0=CurrentTick();¡¡//t0¤ò¹¹¿·¤¹¤ë
}else if(SENSOR_1>44){¡¡//¤â¤·¸÷¥»¥ó¥µ¤¬44°Ê¾å52°Ê²¼¤ÎÃͤò¬Äꤷ¤¿¤é
go_s; ¡¡//ľ¿Ê
t0=CurrentTick();¡¡//t0¤ò¹¹¿·¤¹¤ë
}else if(SENSOR_1>34){¡¡//¤â¤·¸÷¥»¥ó¥µ¤¬34°Ê¾å43°Ê²¼¤ÎÃͤò¬Äꤷ¤¿¤é
turn_l0;¡¡//º¸ÀÞ
t0=CurrentTick();¡¡//t0¤ò¹¹¿·¤¹¤ë
}else{¡¡//¤â¤·¸÷¥»¥ó¥µ¤¬33°Ê²¼¤ÎÃͤò¬Äꤷ¤¿¤é
turn_l1;¡¡//º¸Àû²ó
}
¤Þ¤¿¡¢Á°²óƱÍ͵ޥ«¡¼¥Ö¤¬¤¢¤ë¤Î¤Ç¡¢¤½¤Î¥×¥í¥°¥é¥ß¥ó¥°¤Ï
void special()
{
SetSensorLight(S1); //1È֤˷Ҥ¬¤Ã¤Æ¤¤¤ë¸÷¥»¥ó¥µ¤ò»È¤¦
long t1; //long·¿¤Ît1¤òÄêµÁ¤¹¤ë
t1=CurrentTick()¡¡//¸½ºß¤Î»þ´Ö¤òµÏ¿
while(CurrentTick()-t1<23500){ //¸½ºß¤Î»þ´Ö¤Èt1¤Îº¹¤¬23,5Éðʲ¼¤Î»þ¡¢°Ê²¼¤Î¥×¥í¥°
¥é¥à¤ò·«¤êÊÖ¤¹
if(SENSOR_1>58){ //¤â¤·¸÷¥»¥ó¥µ¤¬58°Ê¾å¤ÎÃͤò¬Äꤷ¤¿¤é
turn_r1; //±¦Àû²ó
}else if(SENSOR_1>53){ ¡¡//¤â¤·¸÷¥»¥ó¥µ¤¬53°Ê¾å57°Ê²¼¤ÎÃͤò¬Äꤷ¤¿¤é
turn_r0;¡¡//±¦ÀÞ
}else if(SENSOR_1>44){¡¡//¤â¤·¸÷¥»¥ó¥µ¤¬44°Ê¾å52°Ê²¼¤ÎÃͤò¬Äꤷ¤¿¤é
go_s; ¡¡//ľ¿Ê
}else if(SENSOR_1>34){¡¡//¤â¤·¸÷¥»¥ó¥µ¤¬34°Ê¾å43°Ê²¼¤ÎÃͤò¬Äꤷ¤¿¤é
turn_l0;¡¡//º¸ÀÞ
}else{¡¡//¤â¤·¸÷¥»¥ó¥µ¤¬33°Ê²¼¤ÎÃͤò¬Äꤷ¤¿¤é
turn_l1;¡¡//º¸Àû²ó
}
}
}
**D¤Îľ³Ñ¤òǧ¼±¤¹¤ë¥×¥í¥°¥é¥ß¥ó¥° [#r9a828f4]
D¤Î°ÌÃ֤ǥܡ¼¥ë¤òõ¤½¤¦¤È¤·¤Æ¤¤¤¿¤Î¤Ç¡¢D¤Îľ³Ñ¤Ç»ß¤Þ¤é¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£¤³¤Î¤¿¤á¤Ë¤ÏD¤Îľ³Ñ¤òǧ¼±¤·¤¿¤é½ª¤ï¤ë¥×¥í¥°¥é¥à¤¬É¬ÍפǤ¢¤ë¡£¤·¤«¤·¡¢¡Ötuuzyou¡×¤Î¥×¥í¥°¥é¥à¤Ï¡Ö¿¿¤Ã¹õ¡×¤Î»þ´Ö¤¬Ä¹¤¤¤È¤¤Ë½ª¤ï¤ë¥×¥í¥°¥é¥à¤Ê¤Î¤Ç¡¢º¸¤Ë¶Ê¤¬¤ëľ³Ñ¤Ç¤Ê¤±¤ì¤Ð½ª¤ï¤é¤Ê¤¤¡£¤Ê¤Î¤Ç¡¢¿¿¤ÃÇò¤ò¸¡ÃΤ·¤¿¤é»ß¤Þ¤ë¥×¥í¥°¥é¥ß¥ó¥°¤òºî¤ë¡£Á°²ó¤Î¥×¥í¥°¥é¥à¤Î±þÍѤȤ·¤Æ
void sirotuuzyou()
{
SetSensorLight(S1);¡¡//1È֤˷Ҥ¬¤Ã¤Æ¤¤¤ë¸÷¥»¥ó¥µ¤ò»È¤¦
long t2; //long·¿¤Ît2¤òÄêµÁ
t2=CurrentTick(); ¡¡//¸½ºß¤Î»þ´Ö¤òµÏ¿
while(CurrentTick()-t2<90){ //¸½ºß¤Î»þ´Ö¤Èt2¤Îº¹¤¬0.9Éðʲ¼¤Î»þ¤Ë°Ê²¼¤Î¥×¥í¥°¥é¥à
¤ò·«¤êÊÖ¤¹
if(SENSOR_1>58){ //¤â¤·¸÷¥»¥ó¥µ¤¬58°Ê¾å¤ÎÃͤò¬Äꤷ¤¿¤é
turn_r1; //±¦Àû²ó
}else if(SENSOR_1>53){ ¡¡//¤â¤·¸÷¥»¥ó¥µ¤¬53°Ê¾å57°Ê²¼¤ÎÃͤò¬Äꤷ¤¿¤é
turn_r0;¡¡//±¦ÀÞ
t2=CurrentTick();¡¡//t2¤ò¹¹¿·¤¹¤ë
}else if(SENSOR_1>44){¡¡//¤â¤·¸÷¥»¥ó¥µ¤¬44°Ê¾å52°Ê²¼¤ÎÃͤò¬Äꤷ¤¿¤é
go_s; ¡¡//ľ¿Ê
t2=CurrentTick();¡¡//t2¤ò¹¹¿·¤¹¤ë
}else if(SENSOR_1>34){¡¡//¤â¤·¸÷¥»¥ó¥µ¤¬34°Ê¾å43°Ê²¼¤ÎÃͤò¬Äꤷ¤¿¤é
turn_l0;¡¡//º¸ÀÞ
t2=CurrentTick();¡¡//t2¤ò¹¹¿·¤¹¤ë
}else{¡¡//¤â¤·¸÷¥»¥ó¥µ¤¬33°Ê²¼¤ÎÃͤò¬Äꤷ¤¿¤é
turn_l1;¡¡//º¸Àû²ó
t2=CurrentTick();¡¡//t2¤ò¹¹¿·¤¹¤ë
}
}
}
**´Ì¤òõ¤·¤Æ´Ì¤ËÃÖ¤¯¥×¥í¥°¥é¥ß¥ó¥° [#qa805d09]
***¥í¥Ü¥Ã¥È¤«¤é¤Îµ÷Î¥¤¬ºÇ¾®¤Î¤â¤Î¤òõ¤¹¥×¥í¥°¥é¥à [#q71ca8c8]
¥³¥ó¥Æ¥¹¥È¤Ç¤Ï¥À¥ß¡¼¤Î´Ì¤âÃÖ¤±¤¿¤¬¡¢»ä¤¿¤Á¤Î¥°¥ë¡¼¥×¤Ï¥À¥ß¡¼¤Î´Ì¤òÃÖ¤«¤º¡¢¥Ü¡¼¥ë¤òÃÖ¤«¤Ê¤±¤ì¤Ð¤¤¤±¤Ê¤¤´Ì¤òɬ¤º¥í¥Ü¥Ã¥È¤È¤Îµ÷Î¥¤ò1ÈֶᤤʪÂΤˤ·¤¿¡£¤³¤ì¤Ë¤è¤ê¡¢´Ì¤òõ¤¹¥×¥í¥°¥é¥à¤ÏĶ²»ÇÈ¥»¥ó¥µ¤ò»È¤Ã¤Æ¡¢¥í¥Ü¥Ã¥È¤È¤Îµ÷Î¥¤¬ºÇ¾®¤ÎʪÂΤÎÊý¸þ¤ò¸þ¤¯¥×¥í¥°¥é¥à¤ò»È¤¦¡£¤½¤ì¤Ï°Ê²¼¤Î¤È¤ª¤ê¤Ç¤¢¤ë¡£
¤Þ¤º
#define speed 70
#define speed_s 50
const float diameter=5.54; //¥¿¥¤¥ä¤Îľ·Â(cm)
const float track=10.35; //¥¿¥¤¥ä¤Î¥È¥ì¥Ã¥ÉÉý(cm)
const float pi=3.1415; //±ß¼þΨ
¤ÈÄêµÁ¤¹¤ë¡£
void fwdDist(float d)
{
long angle;
angle= d/(diameter*pi)*360.0;
RotateMotorEx(OUT_BC,speed_s,angle,0,true,true);
}
void turnAng(long ang) //³ÑÅÙangÅ٤λþ·×²ó¤ê¤ÎÀû²ó¤ò¤¹¤ë
{
long angle;
angle=track/diameter*ang;
RotateMotorEx(OUT_BC,speed_s,angle,100,true,true);
}
int searchDirection(long ang) //¸½ºß¤ÎÊý¸þ¤òÃæ¿´¤ËangÅÙ¤ÎÈϰϤÇõ¤¹
//¾ã³²Êª¤Þ¤Ç¤Îµ÷Î¥¤òÊÖ¤¹
{
long angle,tacho_min=0,tacho_corr;
int d_min;
d_min=300; //²¾¤ÎºÇ¾®ÃÍ
angle=(track/diameter)*ang; //Àû²ó³ÑÅÙ¤«¤é¥¿¥¤¥ä¤Î²óž¤ò·×»»¤¹¤ë
turnAng(ang/2); //»ØÄꤵ¤ì¤¿³ÑÅÙ¤ÎȾʬ¤òÀû²ó¤¹¤ë
ResetTachoCount(OUT_BC); //³ÑÅٷ׬¤ò¥ê¥»¥Ã¥È
OnFwdSync(OUT_BC,speed_s,-100);¡¡//È¿»þ·×²ó¤ê¤ËÀû²ó¤¹¤ë
while(MotorTachoCount(OUT_B)<=angle){
if(SensorUS(S4)<d_min){
d_min=SensorUS(S4);¡¡//²¾¤ÎºÇ¾®Ãͤò¹¹¿·¤¹¤ë
tacho_min=MotorTachoCount(OUT_B);
}
} kono
OnFwdSyncEx(OUT_BC,speed_s,100,RESET_NONE);
until(MotorTachoCount(OUT_B)<=tacho_min||SensorUS(S4)<=d_min);
Wait(14);¡¡//ÈùÄ´À°
Off(OUT_BC);Wait(500);
return d_min;
}
¤³¤Î¥×¥í¥°¥é¥à¤ò¿Þ¤Ë¤¹¤ë¤È¤³¤¦¤Ç¤¢¤ë¡£
&ref(IMG_1053.jpg);
***´Ì¤Î¶á¤¯¤Ë°ÜÆ°¤¹¤ë [#t1449ba7]
¤¢¤é¤«¤¸¤áĶ²»ÇÈ¥»¥ó¥µ¤òÍѤ¤¤Æ´Ì¤Ë¥Ü¡¼¥ë¤òÃÖ¤¯¤Î¤ËŬ¤·¤Æ¤¤¤ëµ÷Î¥¤ò¬Äꤷ¤Æ¡¢´Ì¤È¥í¥Ü¥Ã¥È¤¬13.5cmÎ¥¤ì¤Æ¤¤¤ë¤È¥Ü¡¼¥ë¤ò¾è¤»¤ë¤³¤È¤¬¤Ç¤¤ë¤È¤¤¤¦¤³¤È¤¬¤ï¤«¤Ã¤¿¡£¤½¤Î·ë²Ì¤òÍѤ¤¤Æ°Ê²¼¤Î¥×¥í¥°¥é¥à¤òºî¤Ã¤¿¡£
SetSensorLowspeed(S4);¡¡//4È֤˷Ҥ¤¤ÀĶ²»ÇÈ¥»¥ó¥µ¤ò»È¤¦
int d=searchDirection(360);¡¡//int·¿¤Çd¤òÄêµÁ¤·¡¢¥í¥Ü¥Ã¥È¤ò360¡ë²óž¤µ¤»¤Æµ÷Î¥¤ò¬Äê
¤·¤Æ¤½¤ÎºÇ¾®Ãͤòõ¤¹
if (d>13.5){ //¤â¤·¸«¤Ä¤±¤¿ºÇ¾®Ãͤε÷Î¥¤¬13.5cm¤è¤êÂ礤«¤Ã¤¿¤é
fwdDist(d-13.5);¡¡//´Ì¤È¥í¥Ü¥Ã¥È¤Îµ÷Î¥¤¬13.5cm¤Ë¤Ê¤ë¤Þ¤Ç¶á¤Å¤¯
}
***´Ì¤«¤éƱ¤¸¾ì½ê¤ËÌá¤Ã¤Æ¤¯¤ë¥×¥í¥°¥é¥à [#ff1d5050]
void sagasu()
{
SetSensorLowspeed(S4);¡¡//4È֤˷Ҥ¤¤ÀĶ²»ÇÈ¥»¥ó¥µ¤ò»È¤¦
int d=searchDirection(360);¡¡//int·¿¤Çd¤òÄêµÁ¤·¡¢¥í¥Ü¥Ã¥È¤ò360¡ë²óž¤µ¤»¤Æµ÷Î¥¤ò
¬Äꤷ¤Æ¤½¤ÎºÇ¾®Ãͤòõ¤¹
if (d>13.5){ //¤â¤·¸«¤Ä¤±¤¿ºÇ¾®Ãͤε÷Î¥¤¬13.5cm¤è¤êÂ礤«¤Ã¤¿
¤é
long t3,t4; //long·¿¤Ît3,t4¤òÄêµÁ¤¹¤ë
t3=CurrentTick();¡¡//¥í¥Ü¥Ã¥È¤¬´Ì¤Ë¶á¤Å¤¯Á°¤Î»þ´Ö¤òt3¤ËµÏ¿
fwdDist(d-13.5);¡¡//´Ì¤È¥í¥Ü¥Ã¥È¤Îµ÷Î¥¤¬13.5cm¤Ë¤Ê¤ë¤Þ¤Ç¶á¤Å¤¯
t4=CurrentTick();¡¡//¥í¥Ü¥Ã¥È¤¬´Ì¤Ë¶á¤Å¤¤¤¿¸å¤Î»þ´Ö¤òt4¤ËµÏ¿
stoop;¡¡//¿Æµ¡¤Ï¥Ü¡¼¥ë¤òÃÖ¤¯ºÝ¤ËÆ°¤«¤Ê¤¤¤Î¤Ç¥â¡¼¥¿¤ÎÆ°¤¤ò°ìö»ß¤á¤ë
RemoteStartProgram(CONN,"lost.rxe"); //¿Æµ¡¤¬»Òµ¡¤ËÌ¿Îᤷ¤Æ¥Ü¡¼¥ëÃÖ¤¯
Wait(2000);¡¡//»Òµ¡¤¬¥Ü¡¼¥ë¤òÃÖ¤¤¤Æ¤¤¤ë»þ´Ö¡¢¿Æµ¡¤ÏÂÔ¤Ä
OnRev(OUT_BC,30);¡¡//¸µ¤Î°ÌÃÖ¡Êľ³ÑD¡Ë¤ËÌá¤ë¤¿¤á¤Ë¥í¥Ü¥Ã¥È¤ò¸åÂव¤»¤ë
Wait(t4-t3); //t4-t3¤Î»þ´Ö¸åÂव¤»¤ë...¡
}
}
¡¤Ît3¤Ï¥í¥Ü¥Ã¥È¤¬´Ì¤Ë¶á¤Å¤¯Á°¤Î»þ´Ö¤Ç¡¢t4¤Ï¥í¥Ü¥Ã¥È¤¬´Ì¤Ë¶á¤Å¤¤¤¿¸å¤Î»þ´Ö¤Ç¤¢¤ë¡£¤³¤ì¤è¤êt4-t3¤È¤Ï¡¢¥í¥Ü¥Ã¥È¤¬´Ì¤Ë¶á¤Å¤¯¤¿¤á¤ËÆ°¤¤¤¿»þ´Ö¤À¤±¸åÂव¤»¤ë¡£¤³¤ì¤Ë¤è¤ê¡¢¤É¤Î°ÌÃ֤˴̤¬¤¢¤Ã¤Æ¤â¸µ¤Î°ÌÃÖ¤ËÌá¤Ã¤Æ¤³¤é¤ì¤ë¡£
**¥á¥¤¥ó¥×¥í¥°¥é¥à [#hf156936]
task main()
{
go_s; //X¤«¤éÀÖ¤¤¥Ü¡¼¥ë¤ÎÊý¸þ¤Ëľ¿Ê
Wait(1000);¡¡//1ÉôÖľ¿Ê
stoop;¡¡//¥Ü¡¼¥ë¤òÄϤि¤á¥í¥Ü¥Ã¥È¤ÎÆ°¤¤ò°ìö»ß¤á¤ë
tukamu();¡¡//ÀÖ¤¤¥Ü¡¼¥ë¤òÄϤó¤Ç»ý¤Á¾å¤²¤ë
go_s;¡¡//¸òº¹ÅÀD¤òľ¿Ê
Wait(2000);¡¡//2ÉôÖľ¿Ê
special();¡¡//D-F´Ö¤ÎµÞ¥«¡¼¥Ö¤ÈF¤Îľ³Ñ¤¬¤¢¤Ã¤Æ¤â»ß¤Þ¤é¤Ê¤Ç¥é¥¤¥ó¥È¥ì¡¼¥¹
tuuzyou();¡¡//F-E´Ö¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤·¤ÆE¤Î¸òº¹ÅÀ¤òǧ¼±¤¹¤ë
massugu(); //E¤Î¸òº¹ÅÀ¤Ïľ¿Ê
sirotuuzyou();¡¡//D¤Îľ³Ñ¤Ç½ª¤ï¤ë¥×¥í¥°¥é¥à
sagasu();¡¡//´Ì¤òõ¤·¤Æ¡¢´Ì¤Ë¶á¤Å¤¤¤Æ¡¢ÀÖ¤¤¥Ü¡¼¥ë¤ò´Ì¤ËÃÖ¤¤¤Æ¸µ¤Î°ÌÃÖ¡Êľ³ÑD¡Ë¤Ë
Ìá¤ë
gyakuspe();¡¡//D-E´Ö¤ÎÁö¹Ô¤ÇE¤Îľ³Ñ¤¬¤¢¤Ã¤Æ¤â½ª¤ï¤é¤Ê¤¤¥×¥í¥°¥é¥à
gyakutuuzyou();¡¡//E-I´Ö¤ÎÁö¹Ô¤Ç¡¢I¤Î¸òº¹ÅÀ¤Ç½ª¤ï¤ë¥×¥í¥°¥é¥à
go_s;¡¡//ľ¿Ê¤·¤ÆÀĤ¤¥Ü¡¼¥ë¤ò»£¤ì¤ëµ÷Î¥¤Þ¤Ç°ÜÆ°¤¹¤ë
Wait(700);¡¡//0.7ÉôÖľ¿Ê
stoop;¡¡//¥Ü¡¼¥ë¤òÄϤि¤á¥í¥Ü¥Ã¥È¤ÎÆ°¤¤ò°ìö»ß¤á¤ë
tukamu(); ¡¡//¥Ü¡¼¥ë¤òÄϤó¤Ç»ý¤Á¾å¤²¤ë
sagasu2();¡¡//´Ì¤òõ¤·¤Æ¡¢´Ì¤Ë¶á¤Å¤¤¤Æ¡¢ÀĤ¤¥Ü¡¼¥ë¤ò´Ì¤Ë¾è¤»¤Æ½ªÎ»
}
*¤Þ¤È¤á¤È´¶ÁÛ [#s07b5cf7]
º£²ó¤Ï¥í¥Ü¥Ã¥È¤ÎÁȤßΩ¤Æ¤«¤é¤ä¤êľ¤·¤¿¤Î¤Ç¡¢¤È¤Æ¤â¶ìÏ«¤·¤¿¡£
¤Þ¤¿¡¢º£¤Þ¤Ç¤Î¥×¥í¥°¥é¥à¤ò¤¤¤í¤¤¤í¤È²þÎɤ·¤Ê¤¤¤È¤¤¤±¤Ê¤«¤Ã¤¿ÅÀ¤â¶ìÏ«¤·¤¿°ì¤Ä¤Ç¤¢¤ë¡£ÄÌ¿®¤Ï¡¢Íý²ò¤¹¤ë¤Þ¤Ç»þ´Ö¤¬¾¯¤·¤«¤«¤Ã¤¿¤¬¡¢´·¤ì¤Æ¤·¤Þ¤¨¤ÐÊØÍø¤ÊÉð´ï¤È¤·¤Æ»È¤¨¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£
½ªÎ»¹Ô:
[[2018b/Member]]
#contents
*²ÝÂꣳ [#q9913e0e]
**¥Ü¡¼¥ë±¿ÈÂ¥í¥Ü¥Ã¥È [#ifa577be]
ÀĤÈÀ֤Υܡ¼¥ë¤ò±¿È¤·¤Æ¡¢¤½¤ì¤¾¤ì½êÄê¤Î350㎖´Ì¤Î¾å¤Ë¾è¤»¤ë¡£
**¥³¡¼¥¹ [#e372aa9d]
·ÐÏ©¿Þ¥í¥Ü¥Ã¥È¤òÆ°¤«¤¹¡£
&ref(2018b-mission3.png);
»ä¤¿¤Á¤Î¥°¥ë¡¼¥×¤Ç¤Ï¡¢¾å¤Î¿Þ¤Î¤è¤¦¤Ë
+X¤«¤é¥¹¥¿¡¼¥È
+G¤ÇÀÖ¤¤¥Ü¡¼¥ë¤ò¼è¤ë
+F¤òÄ̲ᤷE¤òľ¿Ê
+D¤Ç´Ì¤òõ¤·¥Ü¡¼¥ë¤òÃÖ¤¯
+¥Ü¡¼¥ë¤òÃÖ¤¤¤¿¤éD¤ËÌá¤ë
+E¤ò±¦ÀÞ
+I¤òľ¿Ê¤·¤ÆÀĤ¤¥Ü¡¼¥ë¤ò¼è¤ë
+´Ì¤òõ¤·¥Ü¡¼¥ë¤òÃÖ¤¯
¤È¤¤¤¦·ÐÏ©¤Ç¥í¥Ü¥Ã¥È¤òÆ°¤«¤·¤¿¡£
*¥í¥Ü¥Ã¥È¤ÎÀâÌÀ [#l0d0c84d]
**¥í¥Ü¥Ã¥È¤ÎÁ´ÂÎ [#v01c7fed]
&ref(KIMG0103.jpg);
º£²ó¤Î¥ß¥Ã¥·¥ç¥ó¤Ç¤ÏNXT¤ÎËÜÂΤ¬£²¤Ä»È¤¨¤¿¤Î¤Ç¡¢NXT¤ÎËÜÂΤò£±¤Ä¤º¤Ä»È¤Ã¤Æ£²¤Ä¤Î¥í¥Ü¥Ã¥È¤òºî¤ë¤«¡¢£²¤Ä¤ÎNXT¤òÄÌ¿®¤·¤Æ£±¤Ä¤Î¥í¥Ü¥Ã¥È¤òºî¤ë¤«ÁªÂò¤Ç¤¤¿¡££²¤Ä¤Î¥í¥Ü¥Ã¥È¤òºî¤ë¤È¡¢°ÜÆ°¡¦¥Ü¡¼¥ë¤ÎÄϤߡ¦¥Ü¡¼¥ë¤Î»ý¤Á¾å¤²¤Ë£´¤Ä¤Î¥â¡¼¥¿¤¬É¬Íפˤʤꡢ¿ô¤¬Â¤ê¤Ê¤«¤Ã¤¿¡£ÀèÀ¸¤Ë£³¤Ä¤Î¥â¡¼¥¿¤Ç¤âÆ°¤«¤»¤ë¥í¥Ü¥Ã¥È¤ÎÁȤßΩ¤ÆÊý¤ò¶µ¤¨¤Æ¤â¤é¤Ã¤¿¤¬¡¢£±¤Ä¤Î¥í¥Ü¥Ã¥È¤òºî¤Ã¤¿Êý¤¬´Êñ¤À¤È¤¤¤¦·ëÏÀ¤Ë»ê¤ê¡¢»ä¤¿¤Á¤Î¥°¥ë¡¼¥×¤Ç¤Ï£²¤Ä¤ÎNXT¤òÄÌ¿®¤·¤Æ£±¤Ä¤Î¥í¥Ü¥Ã¥È¤òºî¤ë¤³¤È¤Ë·è¤á¤¿¡£ ¤Þ¤¿¡¢£²¤Ä¤ÎNXT¤ò²£¤Ëʤ٤뤳¤È¤È¡¢¸å¤í¤Î¥¿¥¤¥ä¡Ê¶îÆ°Îءˤò£²¤Ä¤Ä¤±¤ë¤³¤È¤Ç¥¿¥¤¥ä£±¤Ä¤Ë¤«¤«¤ë½Å¤µ¤òʬ»¶¤µ¤»¤Æ¡¢µÞ¥«¡¼¥Ö¤Ê¤É¶Ê¤¬¤ê¤ä¤¹¤¯¤·¤¿¤È¤³¤í¤ò¹©Éפ·¤¿¡£
**¥¢¡¼¥à [#pe11c5d3]
&ref(KIMG0096_LI.jpg);
¥¢¡¼¥à¤Ï¥â¡¼¥¿¤ò²ó¤¹¤³¤È¤Ç¡¢¿Þ¤Î¤è¤¦¤ÊÆ°¤¤ò¤¹¤ë¤è¤¦¤Ë¤·¤¿¡£¤Þ¤¿¡¢¤Ä¤«¤àÉôʬ¤ò¤È¤Æ¤â¹©Éפ·¡¢¥Ü¡¼¥ë¤òÍî¤È¤·¤º¤é¤¯¡¢¤Ä¤«¤ß¤ä¤¹¤¤·Á¤Ë¤·¤¿¡£
**¤½¤Î¾ [#tefda66a]
¤Û¤«¤ÎÉôʬ¤Ï´ðËÜŪ¤ËÂ裲¤Î²ÝÂê¤È¹½Â¤¤ÏÊѤï¤Ã¤Æ¤¤¤Ê¤¤¡£¤¿¤ÀÍ£°ìÊѤ¨¤¿¤³¤È¤Ï¡¢Ä¶²»ÇÈ¥»¥ó¥µ¤ò²¼¤Ë¼è¤êÉÕ¤±¤¿¤³¤È¤Ç¤¢¤ë¡£¤³¤ì¤Ë¤è¤Ã¤Æ¡¢¥Ü¡¼¥ë¤Î°ÌÃÖ¤â¤ï¤«¤ë¤è¤¦¤Ë¤·¤¿¡£
*¥×¥í¥°¥é¥ß¥ó¥° [#j1d1cde9]
**¥Ü¡¼¥ë¤ò»ý¤Ä¥×¥í¥°¥é¥ß¥ó¥° [#m90e211a]
#define UP OnFwd(OUT_B,20);Wait(4750);Off(OUT_BC); //ÏӾ夲
#define DOWN OnRev(OUT_B,20);Wait(2600);Off(OUT_BC); //ÏÓ²¼¤²
#define CATCH OnRev(OUT_C,15);Wait(725);Off(OUT_BC); //¼êÄϤß
task main()
{
DOWN
CATCH
UP
}
**¥Ü¡¼¥ë¤òÎ¥¤¹¥×¥í¥°¥é¥ß¥ó¥° [#a79d16f7]
#define LOST OnFwd(OUT_C,15);Wait(685);Off(OUT_C);¡¡¡¡//¼êÎ¥¤¹
task main()
{ //¥Ü¡¼¥ë¤ò»ý¤Ã¤ÆÏӤϾ夬¤Ã¤Æ¤¤¤ë¾õÂÖ
LOST
}
**¥é¥¤¥ó¥È¥ì¡¼¥¹¤Î¥×¥í¥°¥é¥ß¥ó¥° [#f633af55]
&ref(IMG_1130.jpg);
¥×¥í¥°¥é¥ß¥ó¥°ÆâÍƤϤۤȤó¤ÉÊѤï¤Ã¤Æ¤¤¤Ê¤¤¡£º£²ó¤â¤³¤Î¤è¤¦¤ÊÆ°¤¤ò¤¹¤ë¤è¤¦¤Ë¤·¤¿¡£¥×¥í¥°¥é¥à¤Ï¡¢
#define turn_l1 OnFwd(OUT_B,33);OnRev(OUT_C,33); //º¸Àû²ó
#define turn_r1 OnFwd(OUT_C,33);OnRev(OUT_B,33); //±¦Àû²ó
#define turn_l0 OnFwd(OUT_B,30);Off(OUT_C); //º¸ÀÞ
#define turn_r0 Off(OUT_B);OnFwd(OUT_C,30); //±¦ÀÞ
#define go_s OnFwd(OUT_BC,30); //ľ¿Ê
SetSensorLight(S1);¡¡//1È֤˷Ҥ¬¤Ã¤Æ¤¤¤ë¸÷¥»¥ó¥µ¤ò»È¤¦
if(SENSOR_1>58){ //¤â¤·¸÷¥»¥ó¥µ¤¬58°Ê¾å¤ÎÃͤò¬Äꤷ¤¿¤é
turn_r1; //±¦Àû²ó
}else if(SENSOR_1>53){ ¡¡//¤â¤·¸÷¥»¥ó¥µ¤¬53°Ê¾å57°Ê²¼¤ÎÃͤò¬Äꤷ¤¿¤é
turn_r0;¡¡//±¦ÀÞ
}else if(SENSOR_1>44){¡¡//¤â¤·¸÷¥»¥ó¥µ¤¬44°Ê¾å52°Ê²¼¤ÎÃͤò¬Äꤷ¤¿¤é
go_s; ¡¡//ľ¿Ê
}else if(SENSOR_1>34){¡¡//¤â¤·¸÷¥»¥ó¥µ¤¬34°Ê¾å43°Ê²¼¤ÎÃͤò¬Äꤷ¤¿¤é
turn_l0;¡¡//º¸ÀÞ
}else{¡¡//¤â¤·¸÷¥»¥ó¥µ¤¬33°Ê²¼¤ÎÃͤò¬Äꤷ¤¿¤é
turn_l1;¡¡//º¸Àû²ó
}
}
¸òº¹ÅÀ¤âÁ°²ó¤ÈƱÍͤǤ¢¤ë¡£¥×¥í¥°¥é¥ß¥ó¥°¤Ï¡¢
void tuuzyou()
{
SetSensorLight(S1); //1È֤˷Ҥ¬¤Ã¤Æ¤¤¤ë¸÷¥»¥ó¥µ¤ò»È¤¦
long t0; //long·¿¤Ît0¤òÄêµÁ
t0=CurrentTick(); ¡¡¡¡//¸½ºß¤Î»þ´Ö¤òµÏ¿
while(CurrentTick()-t0<90){ //¸½ºß¤Î»þ´Ö¤Èt0¤Îº¹¤¬0.09Éðʲ¼¤Î»þ¡¢°Ê²¼¤Î¥×¥í¥°
¥é¥à¤ò·«¤êÊÖ¤¹
if(SENSOR_1>58){ //¤â¤·¸÷¥»¥ó¥µ¤¬58°Ê¾å¤ÎÃͤò¬Äꤷ¤¿¤é
turn_r1; //±¦Àû²ó
t0=CurrentTick();¡¡//t0¤ò¹¹¿·¤¹¤ë
}else if(SENSOR_1>53){ ¡¡//¤â¤·¸÷¥»¥ó¥µ¤¬53°Ê¾å57°Ê²¼¤ÎÃͤò¬Äꤷ¤¿¤é
turn_r0;¡¡//±¦ÀÞ
t0=CurrentTick();¡¡//t0¤ò¹¹¿·¤¹¤ë
}else if(SENSOR_1>44){¡¡//¤â¤·¸÷¥»¥ó¥µ¤¬44°Ê¾å52°Ê²¼¤ÎÃͤò¬Äꤷ¤¿¤é
go_s; ¡¡//ľ¿Ê
t0=CurrentTick();¡¡//t0¤ò¹¹¿·¤¹¤ë
}else if(SENSOR_1>34){¡¡//¤â¤·¸÷¥»¥ó¥µ¤¬34°Ê¾å43°Ê²¼¤ÎÃͤò¬Äꤷ¤¿¤é
turn_l0;¡¡//º¸ÀÞ
t0=CurrentTick();¡¡//t0¤ò¹¹¿·¤¹¤ë
}else{¡¡//¤â¤·¸÷¥»¥ó¥µ¤¬33°Ê²¼¤ÎÃͤò¬Äꤷ¤¿¤é
turn_l1;¡¡//º¸Àû²ó
}
¤Þ¤¿¡¢Á°²óƱÍ͵ޥ«¡¼¥Ö¤¬¤¢¤ë¤Î¤Ç¡¢¤½¤Î¥×¥í¥°¥é¥ß¥ó¥°¤Ï
void special()
{
SetSensorLight(S1); //1È֤˷Ҥ¬¤Ã¤Æ¤¤¤ë¸÷¥»¥ó¥µ¤ò»È¤¦
long t1; //long·¿¤Ît1¤òÄêµÁ¤¹¤ë
t1=CurrentTick()¡¡//¸½ºß¤Î»þ´Ö¤òµÏ¿
while(CurrentTick()-t1<23500){ //¸½ºß¤Î»þ´Ö¤Èt1¤Îº¹¤¬23,5Éðʲ¼¤Î»þ¡¢°Ê²¼¤Î¥×¥í¥°
¥é¥à¤ò·«¤êÊÖ¤¹
if(SENSOR_1>58){ //¤â¤·¸÷¥»¥ó¥µ¤¬58°Ê¾å¤ÎÃͤò¬Äꤷ¤¿¤é
turn_r1; //±¦Àû²ó
}else if(SENSOR_1>53){ ¡¡//¤â¤·¸÷¥»¥ó¥µ¤¬53°Ê¾å57°Ê²¼¤ÎÃͤò¬Äꤷ¤¿¤é
turn_r0;¡¡//±¦ÀÞ
}else if(SENSOR_1>44){¡¡//¤â¤·¸÷¥»¥ó¥µ¤¬44°Ê¾å52°Ê²¼¤ÎÃͤò¬Äꤷ¤¿¤é
go_s; ¡¡//ľ¿Ê
}else if(SENSOR_1>34){¡¡//¤â¤·¸÷¥»¥ó¥µ¤¬34°Ê¾å43°Ê²¼¤ÎÃͤò¬Äꤷ¤¿¤é
turn_l0;¡¡//º¸ÀÞ
}else{¡¡//¤â¤·¸÷¥»¥ó¥µ¤¬33°Ê²¼¤ÎÃͤò¬Äꤷ¤¿¤é
turn_l1;¡¡//º¸Àû²ó
}
}
}
**D¤Îľ³Ñ¤òǧ¼±¤¹¤ë¥×¥í¥°¥é¥ß¥ó¥° [#r9a828f4]
D¤Î°ÌÃ֤ǥܡ¼¥ë¤òõ¤½¤¦¤È¤·¤Æ¤¤¤¿¤Î¤Ç¡¢D¤Îľ³Ñ¤Ç»ß¤Þ¤é¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£¤³¤Î¤¿¤á¤Ë¤ÏD¤Îľ³Ñ¤òǧ¼±¤·¤¿¤é½ª¤ï¤ë¥×¥í¥°¥é¥à¤¬É¬ÍפǤ¢¤ë¡£¤·¤«¤·¡¢¡Ötuuzyou¡×¤Î¥×¥í¥°¥é¥à¤Ï¡Ö¿¿¤Ã¹õ¡×¤Î»þ´Ö¤¬Ä¹¤¤¤È¤¤Ë½ª¤ï¤ë¥×¥í¥°¥é¥à¤Ê¤Î¤Ç¡¢º¸¤Ë¶Ê¤¬¤ëľ³Ñ¤Ç¤Ê¤±¤ì¤Ð½ª¤ï¤é¤Ê¤¤¡£¤Ê¤Î¤Ç¡¢¿¿¤ÃÇò¤ò¸¡ÃΤ·¤¿¤é»ß¤Þ¤ë¥×¥í¥°¥é¥ß¥ó¥°¤òºî¤ë¡£Á°²ó¤Î¥×¥í¥°¥é¥à¤Î±þÍѤȤ·¤Æ
void sirotuuzyou()
{
SetSensorLight(S1);¡¡//1È֤˷Ҥ¬¤Ã¤Æ¤¤¤ë¸÷¥»¥ó¥µ¤ò»È¤¦
long t2; //long·¿¤Ît2¤òÄêµÁ
t2=CurrentTick(); ¡¡//¸½ºß¤Î»þ´Ö¤òµÏ¿
while(CurrentTick()-t2<90){ //¸½ºß¤Î»þ´Ö¤Èt2¤Îº¹¤¬0.9Éðʲ¼¤Î»þ¤Ë°Ê²¼¤Î¥×¥í¥°¥é¥à
¤ò·«¤êÊÖ¤¹
if(SENSOR_1>58){ //¤â¤·¸÷¥»¥ó¥µ¤¬58°Ê¾å¤ÎÃͤò¬Äꤷ¤¿¤é
turn_r1; //±¦Àû²ó
}else if(SENSOR_1>53){ ¡¡//¤â¤·¸÷¥»¥ó¥µ¤¬53°Ê¾å57°Ê²¼¤ÎÃͤò¬Äꤷ¤¿¤é
turn_r0;¡¡//±¦ÀÞ
t2=CurrentTick();¡¡//t2¤ò¹¹¿·¤¹¤ë
}else if(SENSOR_1>44){¡¡//¤â¤·¸÷¥»¥ó¥µ¤¬44°Ê¾å52°Ê²¼¤ÎÃͤò¬Äꤷ¤¿¤é
go_s; ¡¡//ľ¿Ê
t2=CurrentTick();¡¡//t2¤ò¹¹¿·¤¹¤ë
}else if(SENSOR_1>34){¡¡//¤â¤·¸÷¥»¥ó¥µ¤¬34°Ê¾å43°Ê²¼¤ÎÃͤò¬Äꤷ¤¿¤é
turn_l0;¡¡//º¸ÀÞ
t2=CurrentTick();¡¡//t2¤ò¹¹¿·¤¹¤ë
}else{¡¡//¤â¤·¸÷¥»¥ó¥µ¤¬33°Ê²¼¤ÎÃͤò¬Äꤷ¤¿¤é
turn_l1;¡¡//º¸Àû²ó
t2=CurrentTick();¡¡//t2¤ò¹¹¿·¤¹¤ë
}
}
}
**´Ì¤òõ¤·¤Æ´Ì¤ËÃÖ¤¯¥×¥í¥°¥é¥ß¥ó¥° [#qa805d09]
***¥í¥Ü¥Ã¥È¤«¤é¤Îµ÷Î¥¤¬ºÇ¾®¤Î¤â¤Î¤òõ¤¹¥×¥í¥°¥é¥à [#q71ca8c8]
¥³¥ó¥Æ¥¹¥È¤Ç¤Ï¥À¥ß¡¼¤Î´Ì¤âÃÖ¤±¤¿¤¬¡¢»ä¤¿¤Á¤Î¥°¥ë¡¼¥×¤Ï¥À¥ß¡¼¤Î´Ì¤òÃÖ¤«¤º¡¢¥Ü¡¼¥ë¤òÃÖ¤«¤Ê¤±¤ì¤Ð¤¤¤±¤Ê¤¤´Ì¤òɬ¤º¥í¥Ü¥Ã¥È¤È¤Îµ÷Î¥¤ò1ÈֶᤤʪÂΤˤ·¤¿¡£¤³¤ì¤Ë¤è¤ê¡¢´Ì¤òõ¤¹¥×¥í¥°¥é¥à¤ÏĶ²»ÇÈ¥»¥ó¥µ¤ò»È¤Ã¤Æ¡¢¥í¥Ü¥Ã¥È¤È¤Îµ÷Î¥¤¬ºÇ¾®¤ÎʪÂΤÎÊý¸þ¤ò¸þ¤¯¥×¥í¥°¥é¥à¤ò»È¤¦¡£¤½¤ì¤Ï°Ê²¼¤Î¤È¤ª¤ê¤Ç¤¢¤ë¡£
¤Þ¤º
#define speed 70
#define speed_s 50
const float diameter=5.54; //¥¿¥¤¥ä¤Îľ·Â(cm)
const float track=10.35; //¥¿¥¤¥ä¤Î¥È¥ì¥Ã¥ÉÉý(cm)
const float pi=3.1415; //±ß¼þΨ
¤ÈÄêµÁ¤¹¤ë¡£
void fwdDist(float d)
{
long angle;
angle= d/(diameter*pi)*360.0;
RotateMotorEx(OUT_BC,speed_s,angle,0,true,true);
}
void turnAng(long ang) //³ÑÅÙangÅ٤λþ·×²ó¤ê¤ÎÀû²ó¤ò¤¹¤ë
{
long angle;
angle=track/diameter*ang;
RotateMotorEx(OUT_BC,speed_s,angle,100,true,true);
}
int searchDirection(long ang) //¸½ºß¤ÎÊý¸þ¤òÃæ¿´¤ËangÅÙ¤ÎÈϰϤÇõ¤¹
//¾ã³²Êª¤Þ¤Ç¤Îµ÷Î¥¤òÊÖ¤¹
{
long angle,tacho_min=0,tacho_corr;
int d_min;
d_min=300; //²¾¤ÎºÇ¾®ÃÍ
angle=(track/diameter)*ang; //Àû²ó³ÑÅÙ¤«¤é¥¿¥¤¥ä¤Î²óž¤ò·×»»¤¹¤ë
turnAng(ang/2); //»ØÄꤵ¤ì¤¿³ÑÅÙ¤ÎȾʬ¤òÀû²ó¤¹¤ë
ResetTachoCount(OUT_BC); //³ÑÅٷ׬¤ò¥ê¥»¥Ã¥È
OnFwdSync(OUT_BC,speed_s,-100);¡¡//È¿»þ·×²ó¤ê¤ËÀû²ó¤¹¤ë
while(MotorTachoCount(OUT_B)<=angle){
if(SensorUS(S4)<d_min){
d_min=SensorUS(S4);¡¡//²¾¤ÎºÇ¾®Ãͤò¹¹¿·¤¹¤ë
tacho_min=MotorTachoCount(OUT_B);
}
} kono
OnFwdSyncEx(OUT_BC,speed_s,100,RESET_NONE);
until(MotorTachoCount(OUT_B)<=tacho_min||SensorUS(S4)<=d_min);
Wait(14);¡¡//ÈùÄ´À°
Off(OUT_BC);Wait(500);
return d_min;
}
¤³¤Î¥×¥í¥°¥é¥à¤ò¿Þ¤Ë¤¹¤ë¤È¤³¤¦¤Ç¤¢¤ë¡£
&ref(IMG_1053.jpg);
***´Ì¤Î¶á¤¯¤Ë°ÜÆ°¤¹¤ë [#t1449ba7]
¤¢¤é¤«¤¸¤áĶ²»ÇÈ¥»¥ó¥µ¤òÍѤ¤¤Æ´Ì¤Ë¥Ü¡¼¥ë¤òÃÖ¤¯¤Î¤ËŬ¤·¤Æ¤¤¤ëµ÷Î¥¤ò¬Äꤷ¤Æ¡¢´Ì¤È¥í¥Ü¥Ã¥È¤¬13.5cmÎ¥¤ì¤Æ¤¤¤ë¤È¥Ü¡¼¥ë¤ò¾è¤»¤ë¤³¤È¤¬¤Ç¤¤ë¤È¤¤¤¦¤³¤È¤¬¤ï¤«¤Ã¤¿¡£¤½¤Î·ë²Ì¤òÍѤ¤¤Æ°Ê²¼¤Î¥×¥í¥°¥é¥à¤òºî¤Ã¤¿¡£
SetSensorLowspeed(S4);¡¡//4È֤˷Ҥ¤¤ÀĶ²»ÇÈ¥»¥ó¥µ¤ò»È¤¦
int d=searchDirection(360);¡¡//int·¿¤Çd¤òÄêµÁ¤·¡¢¥í¥Ü¥Ã¥È¤ò360¡ë²óž¤µ¤»¤Æµ÷Î¥¤ò¬Äê
¤·¤Æ¤½¤ÎºÇ¾®Ãͤòõ¤¹
if (d>13.5){ //¤â¤·¸«¤Ä¤±¤¿ºÇ¾®Ãͤε÷Î¥¤¬13.5cm¤è¤êÂ礤«¤Ã¤¿¤é
fwdDist(d-13.5);¡¡//´Ì¤È¥í¥Ü¥Ã¥È¤Îµ÷Î¥¤¬13.5cm¤Ë¤Ê¤ë¤Þ¤Ç¶á¤Å¤¯
}
***´Ì¤«¤éƱ¤¸¾ì½ê¤ËÌá¤Ã¤Æ¤¯¤ë¥×¥í¥°¥é¥à [#ff1d5050]
void sagasu()
{
SetSensorLowspeed(S4);¡¡//4È֤˷Ҥ¤¤ÀĶ²»ÇÈ¥»¥ó¥µ¤ò»È¤¦
int d=searchDirection(360);¡¡//int·¿¤Çd¤òÄêµÁ¤·¡¢¥í¥Ü¥Ã¥È¤ò360¡ë²óž¤µ¤»¤Æµ÷Î¥¤ò
¬Äꤷ¤Æ¤½¤ÎºÇ¾®Ãͤòõ¤¹
if (d>13.5){ //¤â¤·¸«¤Ä¤±¤¿ºÇ¾®Ãͤε÷Î¥¤¬13.5cm¤è¤êÂ礤«¤Ã¤¿
¤é
long t3,t4; //long·¿¤Ît3,t4¤òÄêµÁ¤¹¤ë
t3=CurrentTick();¡¡//¥í¥Ü¥Ã¥È¤¬´Ì¤Ë¶á¤Å¤¯Á°¤Î»þ´Ö¤òt3¤ËµÏ¿
fwdDist(d-13.5);¡¡//´Ì¤È¥í¥Ü¥Ã¥È¤Îµ÷Î¥¤¬13.5cm¤Ë¤Ê¤ë¤Þ¤Ç¶á¤Å¤¯
t4=CurrentTick();¡¡//¥í¥Ü¥Ã¥È¤¬´Ì¤Ë¶á¤Å¤¤¤¿¸å¤Î»þ´Ö¤òt4¤ËµÏ¿
stoop;¡¡//¿Æµ¡¤Ï¥Ü¡¼¥ë¤òÃÖ¤¯ºÝ¤ËÆ°¤«¤Ê¤¤¤Î¤Ç¥â¡¼¥¿¤ÎÆ°¤¤ò°ìö»ß¤á¤ë
RemoteStartProgram(CONN,"lost.rxe"); //¿Æµ¡¤¬»Òµ¡¤ËÌ¿Îᤷ¤Æ¥Ü¡¼¥ëÃÖ¤¯
Wait(2000);¡¡//»Òµ¡¤¬¥Ü¡¼¥ë¤òÃÖ¤¤¤Æ¤¤¤ë»þ´Ö¡¢¿Æµ¡¤ÏÂÔ¤Ä
OnRev(OUT_BC,30);¡¡//¸µ¤Î°ÌÃÖ¡Êľ³ÑD¡Ë¤ËÌá¤ë¤¿¤á¤Ë¥í¥Ü¥Ã¥È¤ò¸åÂव¤»¤ë
Wait(t4-t3); //t4-t3¤Î»þ´Ö¸åÂव¤»¤ë...¡
}
}
¡¤Ît3¤Ï¥í¥Ü¥Ã¥È¤¬´Ì¤Ë¶á¤Å¤¯Á°¤Î»þ´Ö¤Ç¡¢t4¤Ï¥í¥Ü¥Ã¥È¤¬´Ì¤Ë¶á¤Å¤¤¤¿¸å¤Î»þ´Ö¤Ç¤¢¤ë¡£¤³¤ì¤è¤êt4-t3¤È¤Ï¡¢¥í¥Ü¥Ã¥È¤¬´Ì¤Ë¶á¤Å¤¯¤¿¤á¤ËÆ°¤¤¤¿»þ´Ö¤À¤±¸åÂव¤»¤ë¡£¤³¤ì¤Ë¤è¤ê¡¢¤É¤Î°ÌÃ֤˴̤¬¤¢¤Ã¤Æ¤â¸µ¤Î°ÌÃÖ¤ËÌá¤Ã¤Æ¤³¤é¤ì¤ë¡£
**¥á¥¤¥ó¥×¥í¥°¥é¥à [#hf156936]
task main()
{
go_s; //X¤«¤éÀÖ¤¤¥Ü¡¼¥ë¤ÎÊý¸þ¤Ëľ¿Ê
Wait(1000);¡¡//1ÉôÖľ¿Ê
stoop;¡¡//¥Ü¡¼¥ë¤òÄϤि¤á¥í¥Ü¥Ã¥È¤ÎÆ°¤¤ò°ìö»ß¤á¤ë
tukamu();¡¡//ÀÖ¤¤¥Ü¡¼¥ë¤òÄϤó¤Ç»ý¤Á¾å¤²¤ë
go_s;¡¡//¸òº¹ÅÀD¤òľ¿Ê
Wait(2000);¡¡//2ÉôÖľ¿Ê
special();¡¡//D-F´Ö¤ÎµÞ¥«¡¼¥Ö¤ÈF¤Îľ³Ñ¤¬¤¢¤Ã¤Æ¤â»ß¤Þ¤é¤Ê¤Ç¥é¥¤¥ó¥È¥ì¡¼¥¹
tuuzyou();¡¡//F-E´Ö¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤·¤ÆE¤Î¸òº¹ÅÀ¤òǧ¼±¤¹¤ë
massugu(); //E¤Î¸òº¹ÅÀ¤Ïľ¿Ê
sirotuuzyou();¡¡//D¤Îľ³Ñ¤Ç½ª¤ï¤ë¥×¥í¥°¥é¥à
sagasu();¡¡//´Ì¤òõ¤·¤Æ¡¢´Ì¤Ë¶á¤Å¤¤¤Æ¡¢ÀÖ¤¤¥Ü¡¼¥ë¤ò´Ì¤ËÃÖ¤¤¤Æ¸µ¤Î°ÌÃÖ¡Êľ³ÑD¡Ë¤Ë
Ìá¤ë
gyakuspe();¡¡//D-E´Ö¤ÎÁö¹Ô¤ÇE¤Îľ³Ñ¤¬¤¢¤Ã¤Æ¤â½ª¤ï¤é¤Ê¤¤¥×¥í¥°¥é¥à
gyakutuuzyou();¡¡//E-I´Ö¤ÎÁö¹Ô¤Ç¡¢I¤Î¸òº¹ÅÀ¤Ç½ª¤ï¤ë¥×¥í¥°¥é¥à
go_s;¡¡//ľ¿Ê¤·¤ÆÀĤ¤¥Ü¡¼¥ë¤ò»£¤ì¤ëµ÷Î¥¤Þ¤Ç°ÜÆ°¤¹¤ë
Wait(700);¡¡//0.7ÉôÖľ¿Ê
stoop;¡¡//¥Ü¡¼¥ë¤òÄϤि¤á¥í¥Ü¥Ã¥È¤ÎÆ°¤¤ò°ìö»ß¤á¤ë
tukamu(); ¡¡//¥Ü¡¼¥ë¤òÄϤó¤Ç»ý¤Á¾å¤²¤ë
sagasu2();¡¡//´Ì¤òõ¤·¤Æ¡¢´Ì¤Ë¶á¤Å¤¤¤Æ¡¢ÀĤ¤¥Ü¡¼¥ë¤ò´Ì¤Ë¾è¤»¤Æ½ªÎ»
}
*¤Þ¤È¤á¤È´¶ÁÛ [#s07b5cf7]
º£²ó¤Ï¥í¥Ü¥Ã¥È¤ÎÁȤßΩ¤Æ¤«¤é¤ä¤êľ¤·¤¿¤Î¤Ç¡¢¤È¤Æ¤â¶ìÏ«¤·¤¿¡£
¤Þ¤¿¡¢º£¤Þ¤Ç¤Î¥×¥í¥°¥é¥à¤ò¤¤¤í¤¤¤í¤È²þÎɤ·¤Ê¤¤¤È¤¤¤±¤Ê¤«¤Ã¤¿ÅÀ¤â¶ìÏ«¤·¤¿°ì¤Ä¤Ç¤¢¤ë¡£ÄÌ¿®¤Ï¡¢Íý²ò¤¹¤ë¤Þ¤Ç»þ´Ö¤¬¾¯¤·¤«¤«¤Ã¤¿¤¬¡¢´·¤ì¤Æ¤·¤Þ¤¨¤ÐÊØÍø¤ÊÉð´ï¤È¤·¤Æ»È¤¨¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£
¥Ú¡¼¥¸Ì¾: