2019b/Member/kurisuke/Mission3
¤ò¥Æ¥ó¥×¥ì¡¼¥È¤Ë¤·¤ÆºîÀ®
[
¥È¥Ã¥×
] [
¿·µ¬
|
°ìÍ÷
|
¸¡º÷
|
ºÇ½ª¹¹¿·
|
¥Ø¥ë¥×
|
¥í¥°¥¤¥ó
]
³«»Ï¹Ô:
[[2019b/Member]]
Ìܼ¡
#contents
*²ÝÂê3 [#lb8d38cc]
ÀִݤÎÃæ¤ËÊÒÌ̤ϴ̤òÃÖ¤¤¤Æ¡¤¤â¤¦ÊÒÌ̤˴̤ξå¤Ë¥Ü¡¼¥ë¤ò¾è¤»¤¿¾õÂÖ¤ÇÀßÃÖ¤¹¤ë¡¥ÊÒÌ̤˾è¤Ã¤Æ¤¤¤ë¶õ¤´Ì¤ò¤â¤¦ÊÒÌ̤ζõ¤´Ì¤Ø±¿¤Ö¡¥A¤Þ¤¿¤ÏA'¤«¤é¥¹¥¿¡¼¥È¤·¡¤¥Ü¡¼¥ë¤ò´Ì¤Î¾å¤ËÃÖ¤¯¤³¤È¤Ç8ÅÀ²Ã»»¤µ¤ì¡¤¤¹¤Ù¤Æ±¿¤Ó½ª¤¨¤¿¤é½ªÎ»¡¥
&ref(2019b/Member/kurisuke/Mission3/Inked²ÝÂê3¡¡¥³¡¼¥¹_LI.jpg,100%,¥³¡¼¥¹¿Þ);
¾Ü¤·¤¤¥ë¡¼¥ë¤Ï[[2019b/Mission3]]¤ò»²¾È¡¥
**º£²ó¤Î¥Ý¥¤¥ó¥È [#bc27d36f]
´Ì¤ò¤È¤ëµ¡¹½¤È´Ì¤Ë¾è¤»¤ëµ¡¹½¤ò¹Í¤¨¤ëɬÍפ¬¤¢¤ë¡¥¤Þ¤¿¡¤¥í¥Ü¥Ã¥È¤òÆó¤Ä¤Ë¤¹¤ë¤«°ì¤Ä¤Ë¤¹¤ë¤«¤â¤½¤ì¤Ë±þ¤¸¤Æ¹Í¤¨¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¥
*¥í¥Ü¥Ã¥È¤ÎÀâÌÀ [#cc1875ac]
**¥í¥Ü¥Ã¥È¤òÆ°¤«¤¹µ¡¹½ [#f07f0a13]
&ref(2019b/Member/kurisuke/Mission3/½é´ü°ÌÃÖ.jpg,35%,µ¡ÂΤÎÁ´ÂοÞ);
&ref(2019b/Member/kurisuke/Mission3/¸åÎØ.jpg,35%,¸åÎØ);
¥í¥Ü¥Ã¥È¤òÆ°¤«¤¹µ¡¹½¤Ï¾å¤Î¼Ì¿¿¤Î¤è¤¦¤Ë¥Ü¡¼¥ë¤ò¤Ä¤«¤àµ¡¹½¡¤¥Ü¡¼¥ë¤ò¤¿¤á¤Æ¤ª¤¯¶¶¡¤¥Ü¡¼¥ë¤ò²¡¤¹¤Î¤Ë»È¤¦¹üÁȤߤ«¤é¤Ê¤Ã¤Æ¤¤¤ë¡¥¸å¤í¤Ï½é¤á¥¿¥¤¥ä¤ò¤Ä¤±¤º¡¤Æ͵¯Êª¤Ç»Ù¤¨¤ë·Á¤Ç¤¢¤Ã¤¿¤¬¡¤Ë໤¤¬Â礤½¤¦¤À¤Ã¤¿¤Î¤Ç¥¿¥¤¥ä¤ò¤Ä¤±¤¿¡¥¥é¥¤¥ó¥È¥ì¡¼¥¹¤Ï¡¤½é¤á¸÷¥»¥ó¥µ¤òÆó¤Ä»È¤Ã¤Æ¥×¥í¥°¥é¥à¤òºî¤Ã¤Æ¤¤¤¿¤¬¡¤¤¦¤Þ¤¯ºî¤ë¤³¤È¤¬¤Ç¤¤Ê¤«¤Ã¤¿¤Î¤Ç´ðËÜ°ì¤Ä¤Î¸÷¥»¥ó¥µ¤ò»È¤¤¸òº¹ÅÀǧ¼±¤ò¤¹¤ë¤È¤¤À¤±Æó¤Ä»È¤¦¤è¤¦¤Ë¤·¤¿¡¥¾Ü¤·¤¯¤Ï¡¤¥é¥¤¥ó¥È¥ì¡¼¥¹¤Î¥×¥í¥°¥é¥à¤ÇÀâÌÀ¤·¤Þ¤¹¡¥´Ì¤Î°ÌÃ֤ϡ¤¹üÁȤߤËÉÕ¤±¤¿Ä¶²»ÇÈ¥»¥ó¥µ¤Ç´¶ÃΤ¹¤ë¤è¤¦¤Ê»ÅÁȤߤˤ·¤¿¡¥
**¥Ü¡¼¥ë¤ò¤È¤ëµ¡¹½ [#g9635885]
½é¤á¤Ë¹Í¤¨¤¿¤Î¤¬¥¢¡¼¥à¤Îµ¡¹½¤Ç¥Ü¡¼¥ë¤ò¥¥ã¥Ã¥Á¤¹¤ëÊýË¡¤Ç¤¢¤Ã¤¿¤¬¡¤¤â¤Ã¤È¹©Éפ·¤¿¤È¤êÊý¤¬¤è¤¤¤È¤¤¤¦¤³¤È¤Ç²¼¤Î¿Þ¤Î¤è¤¦¤ÊÎØ¥´¥à¤ò»È¤Ã¤¿¤È¤êÊý¤Ë¤·¤¿¡¥
&ref(2019b/Member/kurisuke/Mission3/InkedÄϤൡ¹½.jpg,35%,¥Ü¡¼¥ë¥¥ã¥Ã¥Á);
&ref(2019b/Member/kurisuke/Mission3/¤È¤ëµ¡¹½.jpg,35%,¤È¤ëµ¡¹½);
¥Ü¡¼¥ë¤ò¤È¤ë¤Ë¤Ï¡¤¥â¡¼¥¿¤ò¼´¤Ë¤·¤ÆÎØ¥´¥à¤ò³Ý¤±¤¿ÄϤàÉôʬ¤ò¥Ü¡¼¥ë¤Î¾å¤Ë¹ß¤¹¡¥¤½¤·¤Æ¡¤¥Ü¡¼¥ë¤ò¤Î¤Ã¤±¤¿¾õÂ֤ǡ¤¤È¤ëµ¡¹½¤ò180Åٶ᤯²óž¤µ¤»¸å¤í¤Ë¤¢¤ë¥Ü¡¼¥ë¤ò¤¿¤á¤ë¶¶¤Ëž¤¬¤·¤Æ¤ª¤¯ÊýË¡¤Ç¤¢¤ë¡¥¤³¤Îµ¡¹½¤ÎÎɤ¤¤È¤³¤í¤Ï¡¤µ¡ÂΤ¬´Ì¤ÎÁ°¤è¤ê¾¯¤·¤º¤ì¤Æ»ß¤Þ¤Ã¤¿¤È¤·¤Æ¤âÎØ¥´¥à¤Î¿½ÌÀ¤Ë¤è¤ê¥Ü¡¼¥ë¤ò¥¥ã¥Ã¥Á¤·¤Æ¤¯¤ì¤ë¤È¤³¤í¤Ç¤¹¡¥¤³¤ì¤Ë¤è¤ê¡¤¥é¥¤¥ó¥È¥ì¡¼¥¹¤Ë¤«¤Ê¤ê¤ÎÀµ³ÎÀ¤òµá¤á¤Ê¤¯¤Æ¤âºÑ¤à¤³¤È¤Ë¤Ê¤ê¡¤¥é¥¤¥ó¥È¥ì¡¼¥¹¤Î¥×¥í¥°¥é¥à¤¬´Êñ¤Ë¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡¥
**¥Ü¡¼¥ë¤ò´Ì¤Ë¾è¤»¤ëµ¡¹½ [#e81f0973]
½é¤á¤Ï¡¤¼ÖÂΤÎÁ°¤Ç¥Ü¡¼¥ë¤ò¥¥ã¥Ã¥Á¤·¤Æ¸å¤í¤Ç¥Ü¡¼¥ë¤òÃÖ¤³¤¦¤È¹Í¤¨¤Æ¤¤¤¿¤¬¡¤¥é¥¤¥ó¥È¥ì¡¼¥¹¤ÎÊýË¡¤¬Æñ¤·¤¯¤Ê¤Ã¤¿¤ê¡¤¼ÖÂΤ¬Â礤¯¤Ê¤ê¤¹¤®¤¿¤ê¤È¤¤¤í¤¤¤í¤ÈÂçÊѤʤ³¤È¤¬Â¿¤¤¤Î¤Ç¡¤²¼¤Î¿Þ¤Î¤è¤¦¤Ë¥Ü¡¼¥ë¤Î¥¥ã¥Ã¥Á¤ÈÃÖ¤¯Æ°ºî¤ò¤É¤Á¤é¤âÁ°¤Ç¹Ô¤¦µ¡¹½¤òºî¤Ã¤¿¡¥
&ref(2019b/Member/kurisuke/Mission3/ÃÖ¤¯µ¡¹½ÀâÌÀ_LI.jpg,40%,ÃÖ¤¯µ¡¹½ÀâÌÀ);
&ref(2019b/Member/kurisuke/Mission3/ÃÖ¤¯µ¡¹½.jpg,35%,ÃÖ¤¯µ¡¹½);
¼Ì¿¿¤Î¡¤Î¤è¤¦¤Ë¸å¤í¤Ë¥â¡¼¥¿¤Ç²¼¤²¤ë¤È¡¤¢¤Î¤è¤¦¤Ë¥Ü¡¼¥ë¤ò¤¿¤á¤Æ¤ª¤¯¶¶¤¬»Ù¤¨¤ÎËÀ¤¬²¼¤¬¤ë¤³¤È¤Ç²¼¤¬¤ë¡¤¤½¤·¤Æ£¤Î¤è¤¦¤ËÄϤൡ¹½¤ò´Ì¤Î¾å¤Ë²¼¤²¤ë¤³¤È¤Ë¤è¤Ã¤Æ¥Ü¡¼¥ë¤¬°ì»þŪ¤Ë´Ì¤Î¾å¤Ë¾è¤ê¡¤¤â¤¦°ì¤Ä¤Î¼Ì¿¿¤Î¤è¤¦¤Ë¡¤Ç²¼¤²¤¿¹üÁȤߤÇÎØ¥´¥à¤Ë°ú¤Ã¤«¤«¤Ã¤Æ¤¤¤ë¥Ü¡¼¥ë¤ò²¡¤·¤ÆÍî¤È¤¹¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡¥¤³¤Î»þ¡¤¥Ü¡¼¥ë¤ò¶¶¤«¤é¤È¤ëµ¡¹½¤Ë¤¦¤Þ¤¯±¿¤Ö¤¿¤á¤Ë¶¶¤Ë²¼¤Î¤è¤¦¤Ê¹©Éפ¬»Ü¤·¤Æ¤¤¤ë¡¥
&ref(2019b/Member/kurisuke/Mission3/¥¥ã¥Ã¥Á¤Î¥¹¥È¥Ã¥Ñ¡¼.jpg,35%,¥¹¥È¥Ã¥Ñ¡¼);
&ref(2019b/Member/kurisuke/Mission3/ÃÖ¤¯µ¡¹½¤Î¹©É×.png,50%,ÃÖ¤¯µ¡¹½¤Î¹©É×);
¾å¤Î¼Ì¿¿¤Î¤è¤¦¤Ë¡¤¶¶¤È¥Ü¡¼¥ë¤ò¤È¤ëµ¡¹½¤Î´Ö¤Ë¤Ï¥¹¥È¥Ã¥Ñ¡¼¤¬¤Ä¤¤¤Æ¤¤¤ë¡¥»ÅÁȤߤÏÎ٤οޤò»²¹Í¤Ë¤·¤Æ¤Û¤·¤¤¡¥¶¶¤Î½é´ü°ÌÃ֤Ͼ¯¤··¹¤¤¤Æ¤ª¤ê¡¤¥Ü¡¼¥ë¤Ï²¼¤Ë¤¿¤Þ¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡¥¤È¤ëµ¡¹½¤¬²¼¤ê¤ë¤ÈƱ»þ¤Ë¥¹¥È¥Ã¥Ñ¡¼¤Ï¾å¤¬¤ê¡¤¤½¤Î¤¿¤Þ¤Ã¤¿¥Ü¡¼¥ë¤ò°ì¤Ä¤À¤±¤¹¤¯¤¤¾å¤²¤Æ¤È¤ëµ¡¹½¤Ëž¤¬¤·¤Æ±¿¤Ö¡¥¤Þ¤¿¡¤¥¹¥È¥Ã¥Ñ¡¼¤¬¾å¤¬¤ë¤³¤È¤Ë¤è¤ê¸å¤í¤Ë¤¢¤ë¥Ü¡¼¥ë¤¬¤È¤ëµ¡¹½¤ËÍî¤Á¤Ê¤¤¤è¤¦¤Ë¤»¤»ß¤á¤ëÌò³ä¤â·ó¤Í¤Æ¤¤¤ë¡¥¤Þ¤¿¡¤¶¶¤¬½é´ü°ÌÃ֤λþ¤Ë·¹¤¤¤Æ¤ª¤ê¡¤¥Ü¡¼¥ë¤¬¼«Á³¤Ë¥¹¥È¥Ã¥Ñ¡¼¤Î¾å¤Ë¤¿¤Þ¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡¥
*¥×¥í¥°¥é¥à¤ÎÀâÌÀ [#sdb892ed]
**¥é¥¤¥ó¥È¥ì¡¼¥¹¤Î¥×¥í¥°¥é¥à [#ka9e2cb4]
#define turn_right OnFwd(OUT_B,38); OnFwd(OUT_C,-25);//±¦ÀÞ
#define turn_left OnFwd(OUT_C,38); OnFwd(OUT_B,-25);//º¸ÀÞ
#define around_right OnFwd(OUT_B,43); OnFwd(OUT_C,-50);//±¦Àû²ó
#define around_left OnFwd(OUT_C,35); OnFwd(OUT_B,-25);//º¸Àû²ó
#define go_straight OnFwdSync(OUT_BC,43,0);//ľ¿Ê
#define black 25 //¹õ¤ÎÃͤÏ25
#define gray 46 //¥°¥ì¡¼¤ÎÃͤÏ46
#define white 52 //Çò¤ÎÃͤÏ52
#define INBOX MAILBOX1 //¼õ¿®ÍѤΥ᡼¥ë¥Ü¥Ã¥¯¥¹
#define c 13 //¥â¡¼¥¿BC¤ò»ß¤Þ¤ë¥á¥Ã¥»
¾å¤Î¤è¤¦¤Ë¡¤¥í¥Ü¥Ã¥È¤ÎÆ°¤¤È¥é¥¤¥ó¥È¥ì¡¼¥¹»þ¤ÎïçÃͤÎÃͤòÀßÄꤹ¤ë¡¥
void follow_line(long tmin,long tmax) //º¸¥é¥¤¥ó¥È¥ì¡¼¥¹
{
SetSensorLight(S1); //º¸¤Î¸÷¥»¥ó¥µ¡¼
SetSensorLight(S2); //±¦¤Î¸÷¥»¥ó¥µ¡¼
long t = CurrentTick();
long t_start = CurrentTick();
while((CurrentTick()-t<70 || CurrentTick()-t_start<tmin) && (CurrentTick()-
t_start<tmax) && (msg != c)){
ReceiveRemoteNumber(INBOX,true,msg);//¥á¥Ã¥»¤¬Á÷¤é¤ì¤Æ¤¤¤Ê¤¤¤«
if(SENSOR_1<black){
if(SENSOR_2<black){
go_straight;}
else{ turn_left;
t = CurrentTick(); }
}
else if(SENSOR_1<gray){
go_straight;
t = CurrentTick();}
else if(SENSOR_1<white){
turn_right;
t = CurrentTick();
}
else if(SENSOR_1>=white){
around_right;
t = CurrentTick();}
}
Off(OUT_BC);
Wait(1000);
}
void line_follow(long tmin,long tmax) //±¦¥é¥¤¥ó¥È¥ì¡¼¥¹
{
SetSensorLight(S1); //º¸¤Î¸÷¥»¥ó¥µ¡¼
SetSensorLight(S2); //±¦¤Î¸÷¥»¥ó¥µ¡¼
long t = CurrentTick();
long t_start = CurrentTick();
while((CurrentTick()-t<70 || CurrentTick()-t_start<tmin) && (CurrentTick()-
t_start<tmax) && (msg != c)){
ReceiveRemoteNumber(INBOX,true,msg);
if(SENSOR_2<black){
if(SENSOR_1<black){
go_straight;}
else{ turn_right;
t = CurrentTick(); }
}
else if(SENSOR_2<gray){
go_straight;
t = CurrentTick();}
else if(SENSOR_2<white){
turn_left;
t = CurrentTick();
}
else if(SENSOR_1>=white){
around_left;
t = CurrentTick();}
}
Off(OUT_BC);
Wait(1000);
}
¥é¥¤¥ó¥È¥ì¡¼¥¹¤Î¥×¥í¥°¥é¥à¤Ï¡¤¤Û¤È¤ó¤É²ÝÂê2¤ÈƱ¤¸¤Ç¤¢¤ë¡¥while¤Î·Ñ³¾ò·ï¤Ëmsg¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸¤ò¼õ¤±¼è¤ë´Ø¿ô¤ËĶ²»ÇÈ¥»¥ó¥µ¤¬´Ì¤òǧ¼±¤·¤¿¤È¤¤ËÁ÷¤é¤ì¤ëc¤È¤¤¤¦¥â¡¼¥¿BC¤¬»ß¤Þ¤ë¤è¤¦¤Ê¥á¥Ã¥»¤¬Á÷¤é¤ì¤ë¤Þ¤Ç¤Ï¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³¤±¤ë¤È¤¤¤¦¾ò·ï¤òÉÕ¤±¤¯¤ï¤¨¤¿¡¥¤Þ¤¿¡¤¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³«»Ï¤¹¤ë¤È¤¤Ë¤Ïɬ¤ºc¤È¤¤¤¦¥á¥Ã¥»¤¬¤ò·«¤é¤ì¤Æ¤¤¤Ê¤¤¤«³Îǧ¤¹¤ë¤è¤¦¤Ë¤·¤¿¡¥¥í¥Ü¥Ã¥È¤Îµ¡ÂΤΤȤ³¤í¤Ç¤âÀâÌÀ¤·¤¿¤¬¡¤½é¤á¤Ï¸÷¥»¥ó¥µ¤òÆó¤ÄÉÕ¤±¤Æ¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤·¤è¤¦¤È»î¤ß¤¿¤¬¤Ê¤«¤Ê¤«¤¦¤Þ¤¯¤¤¤«¤Ê¤«¤Ã¤¿¤Î¤Ç´ðËܤϤҤȤĤθ÷¥»¥ó¥µ¤Ç¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤·¸òº¹ÅÀǧ¼±¤Î»þ¤À¤±Æó¤Ä»È¤Ã¤¿¡¥¸òº¹ÅÀǧ¼±¤Î»ÅÁȤߤÏñ½ã¤Ë¡¤Æó¤Ä¤Î¸÷¥»¥ó¥µ¤¬¹õ¤ÎïçÃͤò¤È¤Ã¤¿¤È¤¤Ë¸òº¹ÅÀ¤Èǧ¼±¤¹¤ë¤è¤¦¤Ë¤·¤¿¡¥
&ref(2019b/Member/kurisuke/Mission3/¸òº¹ÅÀ.png,40%,¸òº¹ÅÀÀâÌÀ);
**¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò»Ï¤á¤ëÁ°¤ÎÆ°ºî [#o11cbdad]
¤³¤³¤Ç»È¤¦¡¤Ê¸»ú¤ÎÃÍ¡¥
#define P 40
#define I 40
#define D 90
#define speed2 40
long d;
long wa = 0;
¥é¥¤¥ó¥È¥ì¡¼¥¹¤Î½é¤á¤Ë¥¢¡¼¥à¤Î½é´ü°ÌÃÖ¤ò·è¤á¤Æ¤ª¤¯¡¥¤³¤³¤ò´ð½à¤Ë¤·¤Æ¡¤¥¢¡¼¥à¤ÎÆ°¤¯Æ°ºî¤ò·è¤á¤ë¡¥¤³¤³¤ÇÍѤ¤¤¿¡¤RotateMotorPID¤ÏÆ°¤¯³ÑÅÙ¤òÀµ³Î¤Ë¤¹¤ë¤¿¤á¤ËÍѤ¤¤Æ¤¤¤ë¡¥
void first_set() //¥¢¡¼¥à¤ò½é´ü°ÌÃ֤ˤ¹¤ë
{
Wait(1000);
OnFwd(OUT_B,speed2);
OnFwd(OUT_C,speed2);
Wait(2000);
Off(OUT_BC);
RotateMotorPID(OUT_C,-speed2,60,P,I,D);
RotateMotorPID(OUT_B,speed2,-40,P,I,D);
}
¤Þ¤¿¡¤Ä¶²»ÇÈ¥»¥ó¥µ¤ÎÃͤ¬ÊѲ½¤·¤Æ¤âÂбþ¤Ç¤¤ë¤è¤¦¤Ë50²ó¾²¤È¤Îµ÷Î¥¤ò¬¤Ã¤Æ¡¤¤½¤ÎÊ¿¶Ñ¤ò¥»¥ó¥µ¤Îµ÷Î¥¤È¤·¤ÆÀßÄꤹ¤ë¡¥
void search() //Ķ²»ÇÈ¥»¥ó¥µ¤ÎÃͤò³Îǧ¤¹¤ë
{
SetSensorLowspeed(S4);//ü»Ò4¤ËĶ²»ÇÈ¥»¥ó¥µ¡¼
while(i < 51){
wa = wa + SensorUS(S4);
i++;
}
d = wa / i; //£µ£°²ó¬¤Ã¤¿¤Î¾²¤È¤ÎÊ¿¶Ñµ÷Î¥
}
**¥Ü¡¼¥ë¤ò¤È¤ë¥×¥í¥°¥é¥à [#c2c9fd2c]
¤³¤ì¤¬¡¤¥Ü¡¼¥ë¥¥ã¥Ã¥Á¤Î¥×¥í¥°¥é¥à¤Ç¤¢¤ë¡¥²¼¤Î3¹Ô¤Î¥×¥í¥°¥é¥à¤Ç½é´ü°ÌÃÖ¤ËÌᤷ¤Æ¤¤¤ë¡¥
void ball_catch()
{
Wait(100);
OnFwd(OUT_B,25);//¤È¤ëµ¡¹½¤ò²¼¤Þ¤Ç²¼¤²¤ë
Wait(1000);
Off(OUT_B);
OnFwd(OUT_C,40);Wait(1000);//Ķ²»ÇÈ¥»¥ó¥µ¤Î¤Ä¤¤¤Æ¤¤¤ë¹üÁȤߤò¸Â³¦¤Þ¤Ç²¼¤²¤ë
Off(OUT_C);
OnFwd(OUT_B,-20);Wait(2000);//¤È¤ëµ¡¹½¤ò´Ì¤Î¾å¤ËÃÖ¤¯
Off(OUT_B);
RotateMotor(OUT_B,20,150);//¤È¤ëµ¡¹½¤ò¸å¤í¤ËÌᤷ¤Æ¥Ü¡¼¥ë¤ò¶¶¤ËÍî¤È¤¹
Off(OUT_B);
OnFwd(OUT_C,-35);Wait(700);
Off(OUT_BC);
RotateMotor(OUT_B,-20,30);
}
**¥Ü¡¼¥ë¤ò¾è¤»¤ë¥×¥í¥°¥é¥à [#i93a26be]
¤³¤ì¤¬¡¤¥Ü¡¼¥ë¤ò´Ì¤Ë¾è¤»¤ë¥×¥í¥°¥é¥à¤Ç¤¢¤ë¡¥¥Ü¡¼¥ë¤¬´°Á´¤Ë¥¹¥È¥Ã¥Ñ¡¼¤Þ¤Çž¤¬¤ë¤Þ¤ÇÂԤĻþ´Ö¤Ï¥Ü¡¼¥ë¤¬ºÇ¸å¤Î°ì¸Ä¤Î»þ¤Ç¤âÂбþ¤Ç¤¤ë¤è¤¦¤ËŤ¯¤È¤Ã¤Æ¤¢¤ë¡¥
#define speed1 20 //¥¹¥Ô¡¼¥É
void put_ball() //¥Ü¡¼¥ë¤òÃÖ¤¯
{
RotateMotor(OUT_B,speed1,30);//¤È¤ëµ¡¹½¤ò¾¯¤·²¼¤²¤Æ¥¹¥È¥Ã¥Ñ¡¼¤Ë¥Ü¡¼¥ë¤¬°ú¤Ã¤«¤«¤ê¤ä¤¹¤¯¤¹¤ë
OnFwd(OUT_C,2 * speed1);//Ķ²»ÇÈ¥»¥ó¥µ¤Î¤Ä¤¤¤¿¹üÁȤߤò¸Â³¦¤Þ¤Ç²¼¤²¤ë
Wait(1000);
RotateMotor(OUT_C,speed1,-5);//¶¶¤Î³ÑÅÙ¤ò¾¯¤··¹¤±¤Æ¥Ü¡¼¥ë¤ò¥¹¥È¥Ã¥Ñ¡¼¤Î¾å¤ËÍè¤ë¤è¤¦¤Ë¤¹¤ë
Wait(8000);//¥Ü¡¼¥ë¤¬´°Á´¤Ëž¤¬¤ë¤Þ¤ÇÂÔ¤Ä
RotateMotor(OUT_B,speed1,-120);//¶õ¤´Ì¤Î¾å¤Ë¤È¤ëµ¡¹½¤ò¥»¥Ã¥È
Wait(600);
RotateMotor(OUT_C,speed1,-30); //Ķ²»ÇÈ¥»¥ó¥µ¤Î¤Ä¤¤¤¿¹üÁȤߤǥܡ¼¥ë¤òÆͤ¯
Wait(400);
RotateMotor(OUT_B,speed1 + 10,50); //¥»¥ó¥µ¤ò²¼¤í¤·¤¿¤Þ¤Þ¤È¤ëµ¡¹½¤ò¾å¤²¡¤¥Ü¡¼¥ë¤òÍî¤È¤¹
Wait(500);
OnFwd(OUT_C,2 * speed1);//¤³¤³¤«¤é¡¤½é´ü°ÌÃÖ¤ËÌ᤹¥×¥í¥°¥é¥à
Wait(1000);
RotateMotor(OUT_B,speed1,70);
RotateMotor(OUT_C,speed1,-40);
RotateMotor(OUT_B,speed1,-30);
}
**¤½¤Î¾¤ÎÆ°ºî¤Î¥×¥í¥°¥é¥à [#n3a2b99e]
¥Ü¡¼¥ë¤ò¤È¤Ã¤¿¸å¤Ë´Ì¤ò¤É¤«¤¹Æ°ºî¤Î¥×¥í¥°¥é¥à¡¥OnFwdSync¤ò»È¤¦¤³¤È¤ÇÀµ³Î¤Ë¿¿¤Ãľ¤°¿Ê¤à¤è¤¦¤Ë¤·¤¿¡¥
void poi(long ts, long tb)
{
OnFwdSync(OUT_BC,40,0); //B¤ÈC¤Î¥Ñ¥ï¡¼¤òƱ¤¸¤Ë¤·¤Æľ¿Ê¤µ¤»¤ë
Wait(ts);
Off(OUT_BC);
OnFwdSync(OUT_BC,-40,0);
Wait(tb);
Off(OUT_BC);
}
¥¹¥ì¥¤¥Ö¤Ç¤ÎÆ°ºî¤¬´°Î»¤¹¤ë¤Þ¤Ç¡¤¥Þ¥¹¥¿¡¼¤ÎÆ°¤¤ò»ß¤á¤ë¥×¥í¥°¥é¥à¡¥b¤¬12¤È¤¤¤¦ÃͤǤ¢¤ê¡¤¥¹¥ì¥¤¥Ö¦¤«¤é£â¤È¤¤¤¦¥á¥Ã¥»¤¬Á÷¤é¤ì¤ë¤Þ¤Ç·«¤êÊÖ¤¹¡¥
#define b 12
void wait()
{
while(b != 12){
ReceiveRemoteNumber(INBOX,true,b);}
b = b - 12;
}
**¥á¥¤¥ó¥×¥í¥°¥é¥à [#q873a5c8]
¤³¤³¤Ç¡¤ÍѤ¤¤ëʸ»ú¤ÎÃÍ¡¥
#define OUTBOX MAILBOX2 //Á÷¿®¿®ÍѤΥ᡼¥ë¥Ü¥Ã¥¯¥¹
#define INBOX MAILBOX1 //¼õ¿®ÍѤΥ᡼¥ë¥Ü¥Ã¥¯¥¹
#define a 11 //tmin¤¬0¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³«»Ï¤¹¤ë¥á¥Ã¥»
#define b 12 //¥Ü¡¼¥ë¥¥ã¥Ã¥Á¤Î¥×¥í¥°¥é¥à¤òµ¯Æ°¤µ¤»¤ë¥á¥Ã¥»
#define c 13 //¥â¡¼¥¿BC¤ò»ß¤Þ¤ë¥á¥Ã¥»
#define f 15 //´Ì¤ò¤É¤«¤¹¥á¥Ã¥»
#define g 17 //tmin¤¬5000¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³«»Ï¤¹¤ë¥á¥Ã¥»
#define j 18 //º¸ÀޤΥá¥Ã¥»
#define k 19 //±¦ÀޤΥá¥Ã¥»
#difine l 20 //¥Ð¥Ã¥¯¤Î¥á¥Ã¥»
#define m 21 //±¦¥È¥ì¡¼¥¹¤Î¥á¥Ã¥»
int msg; //¼õ¤±¼è¤Ã¤¿Ãͤò³ÊǼ¤¹¤ëÊÑ¿ô
long t = 0;
[¥Þ¥¹¥¿¡¼¤Î¥×¥í¥°¥é¥à]
¥Ü¡¼¥ë¤ò¤È¤ë¤È¤³¤í¤Ï¡¤·«¤êÊÖ¤·¤ò»È¤Ã¤Æ´Êñ¤Ë¤·¤è¤¦¤È»×¤Ã¤¿¤¬¡¤¹Í¤¨¤ë»þ´Ö¤¬¤Ê¤«¤Ã¤¿¤¿¤áŤ¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡¥ÀáÌܤÎÆ°ºî¤Î¸å¤Ï²»¤¬ÌĤë¤è¤¦¤Ë¤·¤Æ¤¤¤ë¡¥¥á¥Ã¥»¤òÁ÷¤Ã¤ÆÆ°ºî¤òÂ¥¤¹¤è¤¦¤Ê»ÅÁȤߤˤ·¤¿¤¬¤´¤Á¤ã¤´¤Á¤ã¤·¤ÆŤ¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡¥
task main()
{
SetSensorLowspeed(S4);//ü»Ò4¤ËĶ²»ÇÈ¥»¥ó¥µ¡¼
first_set();
search();
PlaySound(SOUND_CLICK);
//£±¸ÄÌܤΥܡ¼¥ë¤ò¤È¤ë
SendRemoteNumber(CONN,OUTBOX,a);
while(SensorUS(S4) > (d*3/4)){
t++;}//´Ì¤È¤Îµ÷Î¥¤¬Â¬¤Ã¤¿µ÷Î¥¤Î3/4¤ÎÃͤˤʤë¤Þ¤ÇÂÔ¤Ä
PlaySound(SOUND_CLICK);
SendRemoteNumber(CONN,OUTBOX,c);//while¤«¤éÈ´¤±½Ð¤»¤¿¤é¡¤¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò½ª¤ï¤ê¤Ë¤¹¤ë¥á¥Ã¥»¤òÁ÷¤ë
wait();
ball_catch();
SendRemoteNumber(CONN,OUTBOX,f);//´Ì¤ò±ó¤¯¤Ø¤É¤«¤¹
wait();
//£²¸ÄÌܤΥܡ¼¥ë¤ò¤È¤ë
search();
PlaySound(SOUND_CLICK);
SendRemoteNumber(CONN,OUTBOX,g);//E¤Þ¤Ç¥é¥¤¥ó¥È¥ì¡¼¥¹
while(SensorUS(S4) > (d*3/4)){
t++;}
PlaySound(SOUND_CLICK);
SendRemoteNumber(CONN,OUTBOX,c);
wait();
ball_catch();
SendRemoteNumber(CONN,OUTBOX,f);
wait();
//£³¸ÄÌܤΥܡ¼¥ë¤ò¤È¤ë
search();
PlaySound(SOUND_CLICK);
SendRemoteNumber(CONN,OUTBOX,g);//F¤Þ¤Ç¥é¥¤¥ó¥È¥ì¡¼¥¹
while(SensorUS(S4) > (d*3/4)){
t++;}
PlaySound(SOUND_CLICK);
SendRemoteNumber(CONN,OUTBOX,c);
wait();
ball_catch();
SendRemoteNumber(CONN,OUTBOX,f);
wait();
SendRemoteNumber(CONN,OUTBOX,a);//F-G
wait();
SendRemoteNumber(CONN,OUTBOX,j);//º¸ÀÞ
wait();
PlaySound(SOUND_CLICK);
SendRemoteNumber(CONN,OUTBOX,a);//G-H
wait();
SendRemoteNumber(CONN,OUTBOX,j);//º¸ÀÞ
PlaySound(SOUND_CLICK);
SendRemoteNumber(CONN,OUTBOX,m);//H-H'
wait();
SendRemoteNumber(CONN,OUTBOX,k);//±¦ÀÞ
//£±¸ÄÌܤΥܡ¼¥ë¤òÃÖ¤¯
SendRemoteNumber(CONN,OUTBOX,m);//H'-G'
wait();
SendRemoteNumber(CONN,OUTBOX,k);//±¦ÀÞ
wait();
SendRemoteNumber(CONN,OUTBOX,m);//G'-F'
while(SensorUS(S4) > (d*3/4)){
t++;}
PlaySound(SOUND_CLICK);
SendRemoteNumber(CONN,OUTBOX,c);//¥é¥¤¥ó¥È¥ì¡¼¥¹½ªÎ»
wait();
put_ball();
//£²¸ÄÌܤΥܡ¼¥ë¤òÃÖ¤¯
SendRemoteNumber(CONN,OUTBOX,l);//G'¤Þ¤Ç¥Ð¥Ã¥¯
wait();
SendRemoteNumber(CONN,OUTBOX,j);//º¸ÀÞ
wait();
SendRemoteNumber(CONN,OUTBOX,m);//G'-D'
wait();
SendRemoteNumber(CONN,OUTBOX,k);//±¦ÀÞ
wait();
SendRemoteNumber(CONN,OUTBOX,m);//D'-E'
while(SensorUS(S4) > (d*3/4)){
t++;}
PlaySound(SOUND_CLICK);
SendRemoteNumber(CONN,OUTBOX,c);//¥é¥¤¥ó¥È¥ì¡¼¥¹½ªÎ»
wait();
put_ball();
//3¸ÄÌܤΥܡ¼¥ë¤òÃÖ¤¯
SendRemoteNumber(CONN,OUTBOX,l);//¥Ð¥Ã¥¯
wait();
SendRemoteNumber(CONN,OUTBOX,j);//º¸ÀÞ
wait();
SendRemoteNumber(CONN,OUTBOX,m);//D'-C'
while(SensorUS(S4) > (d*3/4)){
t++;}
PlaySound(SOUND_CLICK);
SendRemoteNumber(CONN,OUTBOX,c);//¥é¥¤¥ó¥È¥ì¡¼¥¹½ªÎ»
wait();
put_ball(); //½ªÎ»¡¡
}
[¥¹¥ì¥¤¥Ö¤Î¥×¥í¥°¥é¥à]
´ðËܤϡ¤¥Þ¥¹¥¿¡¼¤«¤é¥á¥Ã¥»¤ò¼õ¤±¼è¤ê¡¤¤½¤Î¥á¥Ã¥»¤Ë¹ç¤Ã¤¿Æ°ºî¤ò¤·¤Æ¤«¤é¥Þ¥¹¥¿¡¼¤Ë½ªÎ»¥á¥Ã¥»¤òÁ÷¤ëή¤ì¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡¥
task main()
{
while(true){
ReceiveRemoteNumber(INBOX,true,msg);
if(msg == a){ //º¸¥é¥¤¥ó¥È¥ì¡¼¥¹
follow_line(0,400000);
SendResponseNumber(OUTBOX,b);
}
if(msg == f){//´Ì¤ò°ÜÆ°
poi(3000,3000);
SendResponseNumber(OUTBOX,b);
}
if(msg == g){//º¸¥é¥¤¥ó¥È¥ì¡¼¥¹(¸òº¹ÅÀ̵»ë¤¢¤ê)
follow_line(50000,400000);
SendResponseNumber(OUTBOX,b);
}
if(msg == j){//º¸ÀÞ
around_left;
Wait(2000);
Off(OUT_BC);
SendResponseNumber(OUTBOX,b);
}
if(msg == k){//±¦ÀÞ
around_right;
wait(2000);
Off(OUT_BC);
SendResponseNumber(OUTBOX,b);
}
if(msg == l){//¥Ð¥Ã¥¯
OnFwdSync(OUT_BC,-40,0); //B¤ÈC¤Î¥Ñ¥ï¡¼¤òƱ¤¸¤Ë¤¹¤ë
Wait(1000);
Off(OUT_BC);
SendResponseNumber(OUTBOX,b);
}
if(msg == m){//±¦¥é¥¤¥ó¥È¥ì¡¼¥¹
line_follow(0,500000);
SendResponseNumber(OUTBOX,b);
¡¡¡¡}
}
}
*²ÝÂê3¤ÎÈ¿¾Ê¤È´¶ÁÛ [#d08b4e71]
·ë²Ì¤Ï¼ºÇÔ¤·¤¿¡¥¥é¥¤¥ó¥È¥ì¡¼¥¹¤ÎÃͤòĶ²»ÇÈ¥»¥ó¥µ¤Î¤è¤¦¤ËïçÃͤò¬¤Ã¤Æ¤«¤é¥È¥ì¡¼¥¹¤¹¤ë¤è¤¦¤Ë¤¹¤ì¤Ð¡¤ÅÅÃӤλÄÎ̤¬Â¿¤¯¤Æ¤â¾¯¤Ê¤¯¤Æ¤â´Ø·¸¤Ê¤¯Æ°¤¤¤Æ¤¯¤ì¤¿¤Î¤«¤Ê¤È»×¤¦¡¥¤Þ¤¿¡¤¥×¥í¥°¥é¥à¤ò¤â¤Ã¤È´Êñ¤Ë¤Ç¤¤¿¤Î¤Ç¤Ï¤Ê¤¤¤«¤È¸å²ù¤·¤Æ¤¤¤ë¡¥»þ´Ö¤¬¤Ê¤«¤Ã¤¿¤Î¤È¼«Ê¬¤Î¥×¥í¥°¥é¥à¤Îµ»½ÑÉÔ¤Ǥ¢¤Ã¤¿¡¥¤³¤Î¹ÖµÁ¤Î¤ª¤«¤²¤Ç¡¤¥×¥í¥°¥é¥à¤ä¥í¥Ü¥Ã¥È¤Î°·¤¤¤Ë¤Ï¤Ê¤ì¤ë¤³¤È¤¬¤Ç¤¤¿¤Î¤Ç¡¤¤³¤Î·Ð¸³¤òÀ¸¤«¤·¤Æ´èÄ¥¤Ã¤Æ¤¤¤¤¿¤¤¡¥
½ªÎ»¹Ô:
[[2019b/Member]]
Ìܼ¡
#contents
*²ÝÂê3 [#lb8d38cc]
ÀִݤÎÃæ¤ËÊÒÌ̤ϴ̤òÃÖ¤¤¤Æ¡¤¤â¤¦ÊÒÌ̤˴̤ξå¤Ë¥Ü¡¼¥ë¤ò¾è¤»¤¿¾õÂÖ¤ÇÀßÃÖ¤¹¤ë¡¥ÊÒÌ̤˾è¤Ã¤Æ¤¤¤ë¶õ¤´Ì¤ò¤â¤¦ÊÒÌ̤ζõ¤´Ì¤Ø±¿¤Ö¡¥A¤Þ¤¿¤ÏA'¤«¤é¥¹¥¿¡¼¥È¤·¡¤¥Ü¡¼¥ë¤ò´Ì¤Î¾å¤ËÃÖ¤¯¤³¤È¤Ç8ÅÀ²Ã»»¤µ¤ì¡¤¤¹¤Ù¤Æ±¿¤Ó½ª¤¨¤¿¤é½ªÎ»¡¥
&ref(2019b/Member/kurisuke/Mission3/Inked²ÝÂê3¡¡¥³¡¼¥¹_LI.jpg,100%,¥³¡¼¥¹¿Þ);
¾Ü¤·¤¤¥ë¡¼¥ë¤Ï[[2019b/Mission3]]¤ò»²¾È¡¥
**º£²ó¤Î¥Ý¥¤¥ó¥È [#bc27d36f]
´Ì¤ò¤È¤ëµ¡¹½¤È´Ì¤Ë¾è¤»¤ëµ¡¹½¤ò¹Í¤¨¤ëɬÍפ¬¤¢¤ë¡¥¤Þ¤¿¡¤¥í¥Ü¥Ã¥È¤òÆó¤Ä¤Ë¤¹¤ë¤«°ì¤Ä¤Ë¤¹¤ë¤«¤â¤½¤ì¤Ë±þ¤¸¤Æ¹Í¤¨¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¥
*¥í¥Ü¥Ã¥È¤ÎÀâÌÀ [#cc1875ac]
**¥í¥Ü¥Ã¥È¤òÆ°¤«¤¹µ¡¹½ [#f07f0a13]
&ref(2019b/Member/kurisuke/Mission3/½é´ü°ÌÃÖ.jpg,35%,µ¡ÂΤÎÁ´ÂοÞ);
&ref(2019b/Member/kurisuke/Mission3/¸åÎØ.jpg,35%,¸åÎØ);
¥í¥Ü¥Ã¥È¤òÆ°¤«¤¹µ¡¹½¤Ï¾å¤Î¼Ì¿¿¤Î¤è¤¦¤Ë¥Ü¡¼¥ë¤ò¤Ä¤«¤àµ¡¹½¡¤¥Ü¡¼¥ë¤ò¤¿¤á¤Æ¤ª¤¯¶¶¡¤¥Ü¡¼¥ë¤ò²¡¤¹¤Î¤Ë»È¤¦¹üÁȤߤ«¤é¤Ê¤Ã¤Æ¤¤¤ë¡¥¸å¤í¤Ï½é¤á¥¿¥¤¥ä¤ò¤Ä¤±¤º¡¤Æ͵¯Êª¤Ç»Ù¤¨¤ë·Á¤Ç¤¢¤Ã¤¿¤¬¡¤Ë໤¤¬Â礤½¤¦¤À¤Ã¤¿¤Î¤Ç¥¿¥¤¥ä¤ò¤Ä¤±¤¿¡¥¥é¥¤¥ó¥È¥ì¡¼¥¹¤Ï¡¤½é¤á¸÷¥»¥ó¥µ¤òÆó¤Ä»È¤Ã¤Æ¥×¥í¥°¥é¥à¤òºî¤Ã¤Æ¤¤¤¿¤¬¡¤¤¦¤Þ¤¯ºî¤ë¤³¤È¤¬¤Ç¤¤Ê¤«¤Ã¤¿¤Î¤Ç´ðËÜ°ì¤Ä¤Î¸÷¥»¥ó¥µ¤ò»È¤¤¸òº¹ÅÀǧ¼±¤ò¤¹¤ë¤È¤¤À¤±Æó¤Ä»È¤¦¤è¤¦¤Ë¤·¤¿¡¥¾Ü¤·¤¯¤Ï¡¤¥é¥¤¥ó¥È¥ì¡¼¥¹¤Î¥×¥í¥°¥é¥à¤ÇÀâÌÀ¤·¤Þ¤¹¡¥´Ì¤Î°ÌÃ֤ϡ¤¹üÁȤߤËÉÕ¤±¤¿Ä¶²»ÇÈ¥»¥ó¥µ¤Ç´¶ÃΤ¹¤ë¤è¤¦¤Ê»ÅÁȤߤˤ·¤¿¡¥
**¥Ü¡¼¥ë¤ò¤È¤ëµ¡¹½ [#g9635885]
½é¤á¤Ë¹Í¤¨¤¿¤Î¤¬¥¢¡¼¥à¤Îµ¡¹½¤Ç¥Ü¡¼¥ë¤ò¥¥ã¥Ã¥Á¤¹¤ëÊýË¡¤Ç¤¢¤Ã¤¿¤¬¡¤¤â¤Ã¤È¹©Éפ·¤¿¤È¤êÊý¤¬¤è¤¤¤È¤¤¤¦¤³¤È¤Ç²¼¤Î¿Þ¤Î¤è¤¦¤ÊÎØ¥´¥à¤ò»È¤Ã¤¿¤È¤êÊý¤Ë¤·¤¿¡¥
&ref(2019b/Member/kurisuke/Mission3/InkedÄϤൡ¹½.jpg,35%,¥Ü¡¼¥ë¥¥ã¥Ã¥Á);
&ref(2019b/Member/kurisuke/Mission3/¤È¤ëµ¡¹½.jpg,35%,¤È¤ëµ¡¹½);
¥Ü¡¼¥ë¤ò¤È¤ë¤Ë¤Ï¡¤¥â¡¼¥¿¤ò¼´¤Ë¤·¤ÆÎØ¥´¥à¤ò³Ý¤±¤¿ÄϤàÉôʬ¤ò¥Ü¡¼¥ë¤Î¾å¤Ë¹ß¤¹¡¥¤½¤·¤Æ¡¤¥Ü¡¼¥ë¤ò¤Î¤Ã¤±¤¿¾õÂ֤ǡ¤¤È¤ëµ¡¹½¤ò180Åٶ᤯²óž¤µ¤»¸å¤í¤Ë¤¢¤ë¥Ü¡¼¥ë¤ò¤¿¤á¤ë¶¶¤Ëž¤¬¤·¤Æ¤ª¤¯ÊýË¡¤Ç¤¢¤ë¡¥¤³¤Îµ¡¹½¤ÎÎɤ¤¤È¤³¤í¤Ï¡¤µ¡ÂΤ¬´Ì¤ÎÁ°¤è¤ê¾¯¤·¤º¤ì¤Æ»ß¤Þ¤Ã¤¿¤È¤·¤Æ¤âÎØ¥´¥à¤Î¿½ÌÀ¤Ë¤è¤ê¥Ü¡¼¥ë¤ò¥¥ã¥Ã¥Á¤·¤Æ¤¯¤ì¤ë¤È¤³¤í¤Ç¤¹¡¥¤³¤ì¤Ë¤è¤ê¡¤¥é¥¤¥ó¥È¥ì¡¼¥¹¤Ë¤«¤Ê¤ê¤ÎÀµ³ÎÀ¤òµá¤á¤Ê¤¯¤Æ¤âºÑ¤à¤³¤È¤Ë¤Ê¤ê¡¤¥é¥¤¥ó¥È¥ì¡¼¥¹¤Î¥×¥í¥°¥é¥à¤¬´Êñ¤Ë¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡¥
**¥Ü¡¼¥ë¤ò´Ì¤Ë¾è¤»¤ëµ¡¹½ [#e81f0973]
½é¤á¤Ï¡¤¼ÖÂΤÎÁ°¤Ç¥Ü¡¼¥ë¤ò¥¥ã¥Ã¥Á¤·¤Æ¸å¤í¤Ç¥Ü¡¼¥ë¤òÃÖ¤³¤¦¤È¹Í¤¨¤Æ¤¤¤¿¤¬¡¤¥é¥¤¥ó¥È¥ì¡¼¥¹¤ÎÊýË¡¤¬Æñ¤·¤¯¤Ê¤Ã¤¿¤ê¡¤¼ÖÂΤ¬Â礤¯¤Ê¤ê¤¹¤®¤¿¤ê¤È¤¤¤í¤¤¤í¤ÈÂçÊѤʤ³¤È¤¬Â¿¤¤¤Î¤Ç¡¤²¼¤Î¿Þ¤Î¤è¤¦¤Ë¥Ü¡¼¥ë¤Î¥¥ã¥Ã¥Á¤ÈÃÖ¤¯Æ°ºî¤ò¤É¤Á¤é¤âÁ°¤Ç¹Ô¤¦µ¡¹½¤òºî¤Ã¤¿¡¥
&ref(2019b/Member/kurisuke/Mission3/ÃÖ¤¯µ¡¹½ÀâÌÀ_LI.jpg,40%,ÃÖ¤¯µ¡¹½ÀâÌÀ);
&ref(2019b/Member/kurisuke/Mission3/ÃÖ¤¯µ¡¹½.jpg,35%,ÃÖ¤¯µ¡¹½);
¼Ì¿¿¤Î¡¤Î¤è¤¦¤Ë¸å¤í¤Ë¥â¡¼¥¿¤Ç²¼¤²¤ë¤È¡¤¢¤Î¤è¤¦¤Ë¥Ü¡¼¥ë¤ò¤¿¤á¤Æ¤ª¤¯¶¶¤¬»Ù¤¨¤ÎËÀ¤¬²¼¤¬¤ë¤³¤È¤Ç²¼¤¬¤ë¡¤¤½¤·¤Æ£¤Î¤è¤¦¤ËÄϤൡ¹½¤ò´Ì¤Î¾å¤Ë²¼¤²¤ë¤³¤È¤Ë¤è¤Ã¤Æ¥Ü¡¼¥ë¤¬°ì»þŪ¤Ë´Ì¤Î¾å¤Ë¾è¤ê¡¤¤â¤¦°ì¤Ä¤Î¼Ì¿¿¤Î¤è¤¦¤Ë¡¤Ç²¼¤²¤¿¹üÁȤߤÇÎØ¥´¥à¤Ë°ú¤Ã¤«¤«¤Ã¤Æ¤¤¤ë¥Ü¡¼¥ë¤ò²¡¤·¤ÆÍî¤È¤¹¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡¥¤³¤Î»þ¡¤¥Ü¡¼¥ë¤ò¶¶¤«¤é¤È¤ëµ¡¹½¤Ë¤¦¤Þ¤¯±¿¤Ö¤¿¤á¤Ë¶¶¤Ë²¼¤Î¤è¤¦¤Ê¹©Éפ¬»Ü¤·¤Æ¤¤¤ë¡¥
&ref(2019b/Member/kurisuke/Mission3/¥¥ã¥Ã¥Á¤Î¥¹¥È¥Ã¥Ñ¡¼.jpg,35%,¥¹¥È¥Ã¥Ñ¡¼);
&ref(2019b/Member/kurisuke/Mission3/ÃÖ¤¯µ¡¹½¤Î¹©É×.png,50%,ÃÖ¤¯µ¡¹½¤Î¹©É×);
¾å¤Î¼Ì¿¿¤Î¤è¤¦¤Ë¡¤¶¶¤È¥Ü¡¼¥ë¤ò¤È¤ëµ¡¹½¤Î´Ö¤Ë¤Ï¥¹¥È¥Ã¥Ñ¡¼¤¬¤Ä¤¤¤Æ¤¤¤ë¡¥»ÅÁȤߤÏÎ٤οޤò»²¹Í¤Ë¤·¤Æ¤Û¤·¤¤¡¥¶¶¤Î½é´ü°ÌÃ֤Ͼ¯¤··¹¤¤¤Æ¤ª¤ê¡¤¥Ü¡¼¥ë¤Ï²¼¤Ë¤¿¤Þ¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡¥¤È¤ëµ¡¹½¤¬²¼¤ê¤ë¤ÈƱ»þ¤Ë¥¹¥È¥Ã¥Ñ¡¼¤Ï¾å¤¬¤ê¡¤¤½¤Î¤¿¤Þ¤Ã¤¿¥Ü¡¼¥ë¤ò°ì¤Ä¤À¤±¤¹¤¯¤¤¾å¤²¤Æ¤È¤ëµ¡¹½¤Ëž¤¬¤·¤Æ±¿¤Ö¡¥¤Þ¤¿¡¤¥¹¥È¥Ã¥Ñ¡¼¤¬¾å¤¬¤ë¤³¤È¤Ë¤è¤ê¸å¤í¤Ë¤¢¤ë¥Ü¡¼¥ë¤¬¤È¤ëµ¡¹½¤ËÍî¤Á¤Ê¤¤¤è¤¦¤Ë¤»¤»ß¤á¤ëÌò³ä¤â·ó¤Í¤Æ¤¤¤ë¡¥¤Þ¤¿¡¤¶¶¤¬½é´ü°ÌÃ֤λþ¤Ë·¹¤¤¤Æ¤ª¤ê¡¤¥Ü¡¼¥ë¤¬¼«Á³¤Ë¥¹¥È¥Ã¥Ñ¡¼¤Î¾å¤Ë¤¿¤Þ¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡¥
*¥×¥í¥°¥é¥à¤ÎÀâÌÀ [#sdb892ed]
**¥é¥¤¥ó¥È¥ì¡¼¥¹¤Î¥×¥í¥°¥é¥à [#ka9e2cb4]
#define turn_right OnFwd(OUT_B,38); OnFwd(OUT_C,-25);//±¦ÀÞ
#define turn_left OnFwd(OUT_C,38); OnFwd(OUT_B,-25);//º¸ÀÞ
#define around_right OnFwd(OUT_B,43); OnFwd(OUT_C,-50);//±¦Àû²ó
#define around_left OnFwd(OUT_C,35); OnFwd(OUT_B,-25);//º¸Àû²ó
#define go_straight OnFwdSync(OUT_BC,43,0);//ľ¿Ê
#define black 25 //¹õ¤ÎÃͤÏ25
#define gray 46 //¥°¥ì¡¼¤ÎÃͤÏ46
#define white 52 //Çò¤ÎÃͤÏ52
#define INBOX MAILBOX1 //¼õ¿®ÍѤΥ᡼¥ë¥Ü¥Ã¥¯¥¹
#define c 13 //¥â¡¼¥¿BC¤ò»ß¤Þ¤ë¥á¥Ã¥»
¾å¤Î¤è¤¦¤Ë¡¤¥í¥Ü¥Ã¥È¤ÎÆ°¤¤È¥é¥¤¥ó¥È¥ì¡¼¥¹»þ¤ÎïçÃͤÎÃͤòÀßÄꤹ¤ë¡¥
void follow_line(long tmin,long tmax) //º¸¥é¥¤¥ó¥È¥ì¡¼¥¹
{
SetSensorLight(S1); //º¸¤Î¸÷¥»¥ó¥µ¡¼
SetSensorLight(S2); //±¦¤Î¸÷¥»¥ó¥µ¡¼
long t = CurrentTick();
long t_start = CurrentTick();
while((CurrentTick()-t<70 || CurrentTick()-t_start<tmin) && (CurrentTick()-
t_start<tmax) && (msg != c)){
ReceiveRemoteNumber(INBOX,true,msg);//¥á¥Ã¥»¤¬Á÷¤é¤ì¤Æ¤¤¤Ê¤¤¤«
if(SENSOR_1<black){
if(SENSOR_2<black){
go_straight;}
else{ turn_left;
t = CurrentTick(); }
}
else if(SENSOR_1<gray){
go_straight;
t = CurrentTick();}
else if(SENSOR_1<white){
turn_right;
t = CurrentTick();
}
else if(SENSOR_1>=white){
around_right;
t = CurrentTick();}
}
Off(OUT_BC);
Wait(1000);
}
void line_follow(long tmin,long tmax) //±¦¥é¥¤¥ó¥È¥ì¡¼¥¹
{
SetSensorLight(S1); //º¸¤Î¸÷¥»¥ó¥µ¡¼
SetSensorLight(S2); //±¦¤Î¸÷¥»¥ó¥µ¡¼
long t = CurrentTick();
long t_start = CurrentTick();
while((CurrentTick()-t<70 || CurrentTick()-t_start<tmin) && (CurrentTick()-
t_start<tmax) && (msg != c)){
ReceiveRemoteNumber(INBOX,true,msg);
if(SENSOR_2<black){
if(SENSOR_1<black){
go_straight;}
else{ turn_right;
t = CurrentTick(); }
}
else if(SENSOR_2<gray){
go_straight;
t = CurrentTick();}
else if(SENSOR_2<white){
turn_left;
t = CurrentTick();
}
else if(SENSOR_1>=white){
around_left;
t = CurrentTick();}
}
Off(OUT_BC);
Wait(1000);
}
¥é¥¤¥ó¥È¥ì¡¼¥¹¤Î¥×¥í¥°¥é¥à¤Ï¡¤¤Û¤È¤ó¤É²ÝÂê2¤ÈƱ¤¸¤Ç¤¢¤ë¡¥while¤Î·Ñ³¾ò·ï¤Ëmsg¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸¤ò¼õ¤±¼è¤ë´Ø¿ô¤ËĶ²»ÇÈ¥»¥ó¥µ¤¬´Ì¤òǧ¼±¤·¤¿¤È¤¤ËÁ÷¤é¤ì¤ëc¤È¤¤¤¦¥â¡¼¥¿BC¤¬»ß¤Þ¤ë¤è¤¦¤Ê¥á¥Ã¥»¤¬Á÷¤é¤ì¤ë¤Þ¤Ç¤Ï¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³¤±¤ë¤È¤¤¤¦¾ò·ï¤òÉÕ¤±¤¯¤ï¤¨¤¿¡¥¤Þ¤¿¡¤¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³«»Ï¤¹¤ë¤È¤¤Ë¤Ïɬ¤ºc¤È¤¤¤¦¥á¥Ã¥»¤¬¤ò·«¤é¤ì¤Æ¤¤¤Ê¤¤¤«³Îǧ¤¹¤ë¤è¤¦¤Ë¤·¤¿¡¥¥í¥Ü¥Ã¥È¤Îµ¡ÂΤΤȤ³¤í¤Ç¤âÀâÌÀ¤·¤¿¤¬¡¤½é¤á¤Ï¸÷¥»¥ó¥µ¤òÆó¤ÄÉÕ¤±¤Æ¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤·¤è¤¦¤È»î¤ß¤¿¤¬¤Ê¤«¤Ê¤«¤¦¤Þ¤¯¤¤¤«¤Ê¤«¤Ã¤¿¤Î¤Ç´ðËܤϤҤȤĤθ÷¥»¥ó¥µ¤Ç¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤·¸òº¹ÅÀǧ¼±¤Î»þ¤À¤±Æó¤Ä»È¤Ã¤¿¡¥¸òº¹ÅÀǧ¼±¤Î»ÅÁȤߤÏñ½ã¤Ë¡¤Æó¤Ä¤Î¸÷¥»¥ó¥µ¤¬¹õ¤ÎïçÃͤò¤È¤Ã¤¿¤È¤¤Ë¸òº¹ÅÀ¤Èǧ¼±¤¹¤ë¤è¤¦¤Ë¤·¤¿¡¥
&ref(2019b/Member/kurisuke/Mission3/¸òº¹ÅÀ.png,40%,¸òº¹ÅÀÀâÌÀ);
**¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò»Ï¤á¤ëÁ°¤ÎÆ°ºî [#o11cbdad]
¤³¤³¤Ç»È¤¦¡¤Ê¸»ú¤ÎÃÍ¡¥
#define P 40
#define I 40
#define D 90
#define speed2 40
long d;
long wa = 0;
¥é¥¤¥ó¥È¥ì¡¼¥¹¤Î½é¤á¤Ë¥¢¡¼¥à¤Î½é´ü°ÌÃÖ¤ò·è¤á¤Æ¤ª¤¯¡¥¤³¤³¤ò´ð½à¤Ë¤·¤Æ¡¤¥¢¡¼¥à¤ÎÆ°¤¯Æ°ºî¤ò·è¤á¤ë¡¥¤³¤³¤ÇÍѤ¤¤¿¡¤RotateMotorPID¤ÏÆ°¤¯³ÑÅÙ¤òÀµ³Î¤Ë¤¹¤ë¤¿¤á¤ËÍѤ¤¤Æ¤¤¤ë¡¥
void first_set() //¥¢¡¼¥à¤ò½é´ü°ÌÃ֤ˤ¹¤ë
{
Wait(1000);
OnFwd(OUT_B,speed2);
OnFwd(OUT_C,speed2);
Wait(2000);
Off(OUT_BC);
RotateMotorPID(OUT_C,-speed2,60,P,I,D);
RotateMotorPID(OUT_B,speed2,-40,P,I,D);
}
¤Þ¤¿¡¤Ä¶²»ÇÈ¥»¥ó¥µ¤ÎÃͤ¬ÊѲ½¤·¤Æ¤âÂбþ¤Ç¤¤ë¤è¤¦¤Ë50²ó¾²¤È¤Îµ÷Î¥¤ò¬¤Ã¤Æ¡¤¤½¤ÎÊ¿¶Ñ¤ò¥»¥ó¥µ¤Îµ÷Î¥¤È¤·¤ÆÀßÄꤹ¤ë¡¥
void search() //Ķ²»ÇÈ¥»¥ó¥µ¤ÎÃͤò³Îǧ¤¹¤ë
{
SetSensorLowspeed(S4);//ü»Ò4¤ËĶ²»ÇÈ¥»¥ó¥µ¡¼
while(i < 51){
wa = wa + SensorUS(S4);
i++;
}
d = wa / i; //£µ£°²ó¬¤Ã¤¿¤Î¾²¤È¤ÎÊ¿¶Ñµ÷Î¥
}
**¥Ü¡¼¥ë¤ò¤È¤ë¥×¥í¥°¥é¥à [#c2c9fd2c]
¤³¤ì¤¬¡¤¥Ü¡¼¥ë¥¥ã¥Ã¥Á¤Î¥×¥í¥°¥é¥à¤Ç¤¢¤ë¡¥²¼¤Î3¹Ô¤Î¥×¥í¥°¥é¥à¤Ç½é´ü°ÌÃÖ¤ËÌᤷ¤Æ¤¤¤ë¡¥
void ball_catch()
{
Wait(100);
OnFwd(OUT_B,25);//¤È¤ëµ¡¹½¤ò²¼¤Þ¤Ç²¼¤²¤ë
Wait(1000);
Off(OUT_B);
OnFwd(OUT_C,40);Wait(1000);//Ķ²»ÇÈ¥»¥ó¥µ¤Î¤Ä¤¤¤Æ¤¤¤ë¹üÁȤߤò¸Â³¦¤Þ¤Ç²¼¤²¤ë
Off(OUT_C);
OnFwd(OUT_B,-20);Wait(2000);//¤È¤ëµ¡¹½¤ò´Ì¤Î¾å¤ËÃÖ¤¯
Off(OUT_B);
RotateMotor(OUT_B,20,150);//¤È¤ëµ¡¹½¤ò¸å¤í¤ËÌᤷ¤Æ¥Ü¡¼¥ë¤ò¶¶¤ËÍî¤È¤¹
Off(OUT_B);
OnFwd(OUT_C,-35);Wait(700);
Off(OUT_BC);
RotateMotor(OUT_B,-20,30);
}
**¥Ü¡¼¥ë¤ò¾è¤»¤ë¥×¥í¥°¥é¥à [#i93a26be]
¤³¤ì¤¬¡¤¥Ü¡¼¥ë¤ò´Ì¤Ë¾è¤»¤ë¥×¥í¥°¥é¥à¤Ç¤¢¤ë¡¥¥Ü¡¼¥ë¤¬´°Á´¤Ë¥¹¥È¥Ã¥Ñ¡¼¤Þ¤Çž¤¬¤ë¤Þ¤ÇÂԤĻþ´Ö¤Ï¥Ü¡¼¥ë¤¬ºÇ¸å¤Î°ì¸Ä¤Î»þ¤Ç¤âÂбþ¤Ç¤¤ë¤è¤¦¤ËŤ¯¤È¤Ã¤Æ¤¢¤ë¡¥
#define speed1 20 //¥¹¥Ô¡¼¥É
void put_ball() //¥Ü¡¼¥ë¤òÃÖ¤¯
{
RotateMotor(OUT_B,speed1,30);//¤È¤ëµ¡¹½¤ò¾¯¤·²¼¤²¤Æ¥¹¥È¥Ã¥Ñ¡¼¤Ë¥Ü¡¼¥ë¤¬°ú¤Ã¤«¤«¤ê¤ä¤¹¤¯¤¹¤ë
OnFwd(OUT_C,2 * speed1);//Ķ²»ÇÈ¥»¥ó¥µ¤Î¤Ä¤¤¤¿¹üÁȤߤò¸Â³¦¤Þ¤Ç²¼¤²¤ë
Wait(1000);
RotateMotor(OUT_C,speed1,-5);//¶¶¤Î³ÑÅÙ¤ò¾¯¤··¹¤±¤Æ¥Ü¡¼¥ë¤ò¥¹¥È¥Ã¥Ñ¡¼¤Î¾å¤ËÍè¤ë¤è¤¦¤Ë¤¹¤ë
Wait(8000);//¥Ü¡¼¥ë¤¬´°Á´¤Ëž¤¬¤ë¤Þ¤ÇÂÔ¤Ä
RotateMotor(OUT_B,speed1,-120);//¶õ¤´Ì¤Î¾å¤Ë¤È¤ëµ¡¹½¤ò¥»¥Ã¥È
Wait(600);
RotateMotor(OUT_C,speed1,-30); //Ķ²»ÇÈ¥»¥ó¥µ¤Î¤Ä¤¤¤¿¹üÁȤߤǥܡ¼¥ë¤òÆͤ¯
Wait(400);
RotateMotor(OUT_B,speed1 + 10,50); //¥»¥ó¥µ¤ò²¼¤í¤·¤¿¤Þ¤Þ¤È¤ëµ¡¹½¤ò¾å¤²¡¤¥Ü¡¼¥ë¤òÍî¤È¤¹
Wait(500);
OnFwd(OUT_C,2 * speed1);//¤³¤³¤«¤é¡¤½é´ü°ÌÃÖ¤ËÌ᤹¥×¥í¥°¥é¥à
Wait(1000);
RotateMotor(OUT_B,speed1,70);
RotateMotor(OUT_C,speed1,-40);
RotateMotor(OUT_B,speed1,-30);
}
**¤½¤Î¾¤ÎÆ°ºî¤Î¥×¥í¥°¥é¥à [#n3a2b99e]
¥Ü¡¼¥ë¤ò¤È¤Ã¤¿¸å¤Ë´Ì¤ò¤É¤«¤¹Æ°ºî¤Î¥×¥í¥°¥é¥à¡¥OnFwdSync¤ò»È¤¦¤³¤È¤ÇÀµ³Î¤Ë¿¿¤Ãľ¤°¿Ê¤à¤è¤¦¤Ë¤·¤¿¡¥
void poi(long ts, long tb)
{
OnFwdSync(OUT_BC,40,0); //B¤ÈC¤Î¥Ñ¥ï¡¼¤òƱ¤¸¤Ë¤·¤Æľ¿Ê¤µ¤»¤ë
Wait(ts);
Off(OUT_BC);
OnFwdSync(OUT_BC,-40,0);
Wait(tb);
Off(OUT_BC);
}
¥¹¥ì¥¤¥Ö¤Ç¤ÎÆ°ºî¤¬´°Î»¤¹¤ë¤Þ¤Ç¡¤¥Þ¥¹¥¿¡¼¤ÎÆ°¤¤ò»ß¤á¤ë¥×¥í¥°¥é¥à¡¥b¤¬12¤È¤¤¤¦ÃͤǤ¢¤ê¡¤¥¹¥ì¥¤¥Ö¦¤«¤é£â¤È¤¤¤¦¥á¥Ã¥»¤¬Á÷¤é¤ì¤ë¤Þ¤Ç·«¤êÊÖ¤¹¡¥
#define b 12
void wait()
{
while(b != 12){
ReceiveRemoteNumber(INBOX,true,b);}
b = b - 12;
}
**¥á¥¤¥ó¥×¥í¥°¥é¥à [#q873a5c8]
¤³¤³¤Ç¡¤ÍѤ¤¤ëʸ»ú¤ÎÃÍ¡¥
#define OUTBOX MAILBOX2 //Á÷¿®¿®ÍѤΥ᡼¥ë¥Ü¥Ã¥¯¥¹
#define INBOX MAILBOX1 //¼õ¿®ÍѤΥ᡼¥ë¥Ü¥Ã¥¯¥¹
#define a 11 //tmin¤¬0¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³«»Ï¤¹¤ë¥á¥Ã¥»
#define b 12 //¥Ü¡¼¥ë¥¥ã¥Ã¥Á¤Î¥×¥í¥°¥é¥à¤òµ¯Æ°¤µ¤»¤ë¥á¥Ã¥»
#define c 13 //¥â¡¼¥¿BC¤ò»ß¤Þ¤ë¥á¥Ã¥»
#define f 15 //´Ì¤ò¤É¤«¤¹¥á¥Ã¥»
#define g 17 //tmin¤¬5000¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³«»Ï¤¹¤ë¥á¥Ã¥»
#define j 18 //º¸ÀޤΥá¥Ã¥»
#define k 19 //±¦ÀޤΥá¥Ã¥»
#difine l 20 //¥Ð¥Ã¥¯¤Î¥á¥Ã¥»
#define m 21 //±¦¥È¥ì¡¼¥¹¤Î¥á¥Ã¥»
int msg; //¼õ¤±¼è¤Ã¤¿Ãͤò³ÊǼ¤¹¤ëÊÑ¿ô
long t = 0;
[¥Þ¥¹¥¿¡¼¤Î¥×¥í¥°¥é¥à]
¥Ü¡¼¥ë¤ò¤È¤ë¤È¤³¤í¤Ï¡¤·«¤êÊÖ¤·¤ò»È¤Ã¤Æ´Êñ¤Ë¤·¤è¤¦¤È»×¤Ã¤¿¤¬¡¤¹Í¤¨¤ë»þ´Ö¤¬¤Ê¤«¤Ã¤¿¤¿¤áŤ¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡¥ÀáÌܤÎÆ°ºî¤Î¸å¤Ï²»¤¬ÌĤë¤è¤¦¤Ë¤·¤Æ¤¤¤ë¡¥¥á¥Ã¥»¤òÁ÷¤Ã¤ÆÆ°ºî¤òÂ¥¤¹¤è¤¦¤Ê»ÅÁȤߤˤ·¤¿¤¬¤´¤Á¤ã¤´¤Á¤ã¤·¤ÆŤ¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡¥
task main()
{
SetSensorLowspeed(S4);//ü»Ò4¤ËĶ²»ÇÈ¥»¥ó¥µ¡¼
first_set();
search();
PlaySound(SOUND_CLICK);
//£±¸ÄÌܤΥܡ¼¥ë¤ò¤È¤ë
SendRemoteNumber(CONN,OUTBOX,a);
while(SensorUS(S4) > (d*3/4)){
t++;}//´Ì¤È¤Îµ÷Î¥¤¬Â¬¤Ã¤¿µ÷Î¥¤Î3/4¤ÎÃͤˤʤë¤Þ¤ÇÂÔ¤Ä
PlaySound(SOUND_CLICK);
SendRemoteNumber(CONN,OUTBOX,c);//while¤«¤éÈ´¤±½Ð¤»¤¿¤é¡¤¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò½ª¤ï¤ê¤Ë¤¹¤ë¥á¥Ã¥»¤òÁ÷¤ë
wait();
ball_catch();
SendRemoteNumber(CONN,OUTBOX,f);//´Ì¤ò±ó¤¯¤Ø¤É¤«¤¹
wait();
//£²¸ÄÌܤΥܡ¼¥ë¤ò¤È¤ë
search();
PlaySound(SOUND_CLICK);
SendRemoteNumber(CONN,OUTBOX,g);//E¤Þ¤Ç¥é¥¤¥ó¥È¥ì¡¼¥¹
while(SensorUS(S4) > (d*3/4)){
t++;}
PlaySound(SOUND_CLICK);
SendRemoteNumber(CONN,OUTBOX,c);
wait();
ball_catch();
SendRemoteNumber(CONN,OUTBOX,f);
wait();
//£³¸ÄÌܤΥܡ¼¥ë¤ò¤È¤ë
search();
PlaySound(SOUND_CLICK);
SendRemoteNumber(CONN,OUTBOX,g);//F¤Þ¤Ç¥é¥¤¥ó¥È¥ì¡¼¥¹
while(SensorUS(S4) > (d*3/4)){
t++;}
PlaySound(SOUND_CLICK);
SendRemoteNumber(CONN,OUTBOX,c);
wait();
ball_catch();
SendRemoteNumber(CONN,OUTBOX,f);
wait();
SendRemoteNumber(CONN,OUTBOX,a);//F-G
wait();
SendRemoteNumber(CONN,OUTBOX,j);//º¸ÀÞ
wait();
PlaySound(SOUND_CLICK);
SendRemoteNumber(CONN,OUTBOX,a);//G-H
wait();
SendRemoteNumber(CONN,OUTBOX,j);//º¸ÀÞ
PlaySound(SOUND_CLICK);
SendRemoteNumber(CONN,OUTBOX,m);//H-H'
wait();
SendRemoteNumber(CONN,OUTBOX,k);//±¦ÀÞ
//£±¸ÄÌܤΥܡ¼¥ë¤òÃÖ¤¯
SendRemoteNumber(CONN,OUTBOX,m);//H'-G'
wait();
SendRemoteNumber(CONN,OUTBOX,k);//±¦ÀÞ
wait();
SendRemoteNumber(CONN,OUTBOX,m);//G'-F'
while(SensorUS(S4) > (d*3/4)){
t++;}
PlaySound(SOUND_CLICK);
SendRemoteNumber(CONN,OUTBOX,c);//¥é¥¤¥ó¥È¥ì¡¼¥¹½ªÎ»
wait();
put_ball();
//£²¸ÄÌܤΥܡ¼¥ë¤òÃÖ¤¯
SendRemoteNumber(CONN,OUTBOX,l);//G'¤Þ¤Ç¥Ð¥Ã¥¯
wait();
SendRemoteNumber(CONN,OUTBOX,j);//º¸ÀÞ
wait();
SendRemoteNumber(CONN,OUTBOX,m);//G'-D'
wait();
SendRemoteNumber(CONN,OUTBOX,k);//±¦ÀÞ
wait();
SendRemoteNumber(CONN,OUTBOX,m);//D'-E'
while(SensorUS(S4) > (d*3/4)){
t++;}
PlaySound(SOUND_CLICK);
SendRemoteNumber(CONN,OUTBOX,c);//¥é¥¤¥ó¥È¥ì¡¼¥¹½ªÎ»
wait();
put_ball();
//3¸ÄÌܤΥܡ¼¥ë¤òÃÖ¤¯
SendRemoteNumber(CONN,OUTBOX,l);//¥Ð¥Ã¥¯
wait();
SendRemoteNumber(CONN,OUTBOX,j);//º¸ÀÞ
wait();
SendRemoteNumber(CONN,OUTBOX,m);//D'-C'
while(SensorUS(S4) > (d*3/4)){
t++;}
PlaySound(SOUND_CLICK);
SendRemoteNumber(CONN,OUTBOX,c);//¥é¥¤¥ó¥È¥ì¡¼¥¹½ªÎ»
wait();
put_ball(); //½ªÎ»¡¡
}
[¥¹¥ì¥¤¥Ö¤Î¥×¥í¥°¥é¥à]
´ðËܤϡ¤¥Þ¥¹¥¿¡¼¤«¤é¥á¥Ã¥»¤ò¼õ¤±¼è¤ê¡¤¤½¤Î¥á¥Ã¥»¤Ë¹ç¤Ã¤¿Æ°ºî¤ò¤·¤Æ¤«¤é¥Þ¥¹¥¿¡¼¤Ë½ªÎ»¥á¥Ã¥»¤òÁ÷¤ëή¤ì¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡¥
task main()
{
while(true){
ReceiveRemoteNumber(INBOX,true,msg);
if(msg == a){ //º¸¥é¥¤¥ó¥È¥ì¡¼¥¹
follow_line(0,400000);
SendResponseNumber(OUTBOX,b);
}
if(msg == f){//´Ì¤ò°ÜÆ°
poi(3000,3000);
SendResponseNumber(OUTBOX,b);
}
if(msg == g){//º¸¥é¥¤¥ó¥È¥ì¡¼¥¹(¸òº¹ÅÀ̵»ë¤¢¤ê)
follow_line(50000,400000);
SendResponseNumber(OUTBOX,b);
}
if(msg == j){//º¸ÀÞ
around_left;
Wait(2000);
Off(OUT_BC);
SendResponseNumber(OUTBOX,b);
}
if(msg == k){//±¦ÀÞ
around_right;
wait(2000);
Off(OUT_BC);
SendResponseNumber(OUTBOX,b);
}
if(msg == l){//¥Ð¥Ã¥¯
OnFwdSync(OUT_BC,-40,0); //B¤ÈC¤Î¥Ñ¥ï¡¼¤òƱ¤¸¤Ë¤¹¤ë
Wait(1000);
Off(OUT_BC);
SendResponseNumber(OUTBOX,b);
}
if(msg == m){//±¦¥é¥¤¥ó¥È¥ì¡¼¥¹
line_follow(0,500000);
SendResponseNumber(OUTBOX,b);
¡¡¡¡}
}
}
*²ÝÂê3¤ÎÈ¿¾Ê¤È´¶ÁÛ [#d08b4e71]
·ë²Ì¤Ï¼ºÇÔ¤·¤¿¡¥¥é¥¤¥ó¥È¥ì¡¼¥¹¤ÎÃͤòĶ²»ÇÈ¥»¥ó¥µ¤Î¤è¤¦¤ËïçÃͤò¬¤Ã¤Æ¤«¤é¥È¥ì¡¼¥¹¤¹¤ë¤è¤¦¤Ë¤¹¤ì¤Ð¡¤ÅÅÃӤλÄÎ̤¬Â¿¤¯¤Æ¤â¾¯¤Ê¤¯¤Æ¤â´Ø·¸¤Ê¤¯Æ°¤¤¤Æ¤¯¤ì¤¿¤Î¤«¤Ê¤È»×¤¦¡¥¤Þ¤¿¡¤¥×¥í¥°¥é¥à¤ò¤â¤Ã¤È´Êñ¤Ë¤Ç¤¤¿¤Î¤Ç¤Ï¤Ê¤¤¤«¤È¸å²ù¤·¤Æ¤¤¤ë¡¥»þ´Ö¤¬¤Ê¤«¤Ã¤¿¤Î¤È¼«Ê¬¤Î¥×¥í¥°¥é¥à¤Îµ»½ÑÉÔ¤Ǥ¢¤Ã¤¿¡¥¤³¤Î¹ÖµÁ¤Î¤ª¤«¤²¤Ç¡¤¥×¥í¥°¥é¥à¤ä¥í¥Ü¥Ã¥È¤Î°·¤¤¤Ë¤Ï¤Ê¤ì¤ë¤³¤È¤¬¤Ç¤¤¿¤Î¤Ç¡¤¤³¤Î·Ð¸³¤òÀ¸¤«¤·¤Æ´èÄ¥¤Ã¤Æ¤¤¤¤¿¤¤¡¥
¥Ú¡¼¥¸Ì¾: