#contents
*²ÝÂꣳ [#i7bb9d12]
º£²ó¤Î²ÝÂê¤Ë¤Ä¤¤¤Æ¤Ï[[2019a/Mission3]]¤ÎÄ̤ê¤Ç¤¢¤ë¡£

&ref(./2019a-mission3-2.png,50%);

»ä¤¿¤Á¤Ï°Ê²¼¤Î¥ë¡¼¥È¤ÇÁö¹Ô¤·¡¢¥Ü¡¼¥ë¤ò±¿È¤¹¤ë¥×¥í¥°¥é¥à¤òºîÀ®¤¹¤ë¤³¤È¤Ë¤·¤¿¡£

A'(½Ðȯ) ¢ª K' ¢ª L'(¥Ü¡¼¥ë­¡¤ò¤Ä¤«¤à) ¢ª K' ¢ª J'(¥Ü¡¼¥ë­¡±¿È´°Î») ¢ª K' ¢ª M' ¢ª N' ¢ª N ¢ª B ¢ª M ¢ª K ¢ª L(¥Ü¡¼¥ë­¢¤ò¤Ä¤«¤à) ¢ª K ¢ª J(¥Ü¡¼¥ë­¢¤òÍÆ´ï¤ËÆþ¤ì¤ë¡£ÍÆ´ï¤ò»ý¤Á¾å¤²¤ë¡£) ¢ª C ¢ª B ¢ª N ¢ª C' ¢ª I' (¥Ü¡¼¥ë­¢­£­¤±¿È´°Î»)
*¥í¥Ü¥Ã¥È¤Î¹½Â¤ [#r33d348f]
**¥í¥Ü¥Ã¥ÈÁ´ÂΤˤĤ¤¤Æ [#i6e6edad]
&ref(./unnamed.jpg,20%);

º£²ó¤Î¥í¥Ü¥Ã¥È¤Ï£²Âæ¤ÎNXT¤òÄÌ¿®¤·¤Æ¥×¥í¥°¥é¥à¤òÀ©¸æ¤¹¤ë¤Î¤Ç¡¢¡Ö£²Âæ¤ÎNXT¤òÊÌ¡¹¤ËÀ©¸æ¤¹¤ë¡×¤Þ¤¿¤Ï¡Ö£²Âæ¤ÎNXT¤ò°ìÂ⽤µ¤»¤Æ¥í¥Ü¥Ã¥È¤òºî¤ë¡×¤È¤¤¤¦£²¤Ä¤ÎÊý¿Ë¤¬¹Í¤¨¤é¤ì¤ë¤¬»ä¤¿¤Á¤Ï¡¢£²Âæ¤ÎNXT¤ò°ìÂ⽤µ¤»¤Æ¥í¥Ü¥Ã¥È¤òºî¤Ã¤¿¡£¤Þ¤¿¡¢ÍÆ´ïÆâ¤Î¥Ü¡¼¥ë¤ò¤Ä¤«¤à¤Î¤ÏÆñ¤·¤¤¤È¹Í¤¨¤¿¤Î¤Ç¡¢¥Ü¡¼¥ë¤ÎÆþ¤Ã¤¿Íƴ老¤È»ý¤Á¾å¤²¡¢¤Á¤ã¤ÖÂæÊÖ¤·¤Î¤è¤¦¤Ë¤·¤ÆÍÆ´ïÆâ¤Î¥Ü¡¼¥ë¤ò±¿È¤¹¤ë¤³¤È¤Ë¤·¤¿¡£¤½¤ÎºÝ¡¢ÍÆ´ïÆâ¤Î¥Ü¡¼¥ë¤¬¤É¤¦¤·¤Æ¤â¥í¥Ü¥Ã¥È¤Ë¹ß¤ê¤«¤«¤Ã¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢¥í¥Ü¥Ã¥È¤Î¾å¤Ëºä¤òÉÕ¤±¡¢¥Ü¡¼¥ë¤ò¥í¥Ü¥Ã¥È¤Î¾å¤Çž¤¬¤¹¤³¤È¤ÇÍÆ´ïÆâ¤Î¥Ü¡¼¥ë¤ò±¿È¤µ¤»¤ë¤³¤È¤Ë¤·¤¿¡£
¥Ü¡¼¥ë­¡­¢¤ò¤Ä¤«¤à¥¢¡¼¥à¤ÈÍÆ´ï¤ò¤Ä¤«¤à¥¢¡¼¥à¤Î·×£²¤Ä¤Î¥¢¡¼¥à¤òºî¤Ã¤¿¡£
**¥Ü¡¼¥ë¤ò¤Ä¤«¤à¥¢¡¼¥à [#zf3e8572]
&ref(./IMG_2712.jpeg,20%);

¥â¡¼¥¿¡¼¤ò£²¤Ä»ÈÍѤ·¤¿¡££±¤Ä¤Ï¥Ü¡¼¥ë¤ò¤Ä¤«¤ß¡¢¤â¤¦£±¤Ä¤Ï¾å²¼¤ËÆ°¤«¤¹Ìò³ä¤ò¤·¤Æ¤¤¤ë¡£
**ÍÆ´ï¤ò¤Ä¤«¤à¥¢¡¼¥à [#b5b9756c]
&ref(./IMG_2713.jpeg,20%);

¥Ü¡¼¥ë¤ò¤Ä¤«¤à¥¢¡¼¥à¤ÈƱ¤¸µ¡¹½¤Ç¤¢¤ë¡£ÍÆ´ï¤òÍî¤È¤µ¤Ê¤¤¤¿¤á¤Ë¥¢¡¼¥à¤Ë¥¿¥¤¥ä¤ò·×£´¤ÄÉÕ¤±¤¿¡£
**¥í¥Ü¥Ã¥È¤Ë¼è¤êÉÕ¤±¤¿ºä [#y9f7be16]
&ref(./IMG_2708.jpeg,20%);

¥¢¡¼¥à¤ò»ý¤Á¾å¤²¤¿¤È¤­¤ÎºÇ¹âÅÀ¤Ë¤Á¤ç¤¦¤Éºä¤¬¤¯¤ë¤è¤¦¤Ë¤·¤¿¡£
**¸÷¥»¥ó¥µ¡¼ [#rec52c42]
&ref(./IMG_2710.jpeg,20%);

¼Ì¿¿¤Ë¤¢¤ë¤è¤¦¤Ë¸÷¥»¥ó¥µ¡¼¤ò£²¤Ä»ÈÍѤ·¤¿¡£
*¥×¥í¥°¥é¥à [#ve457ea5]
**¥é¥¤¥ó¥È¥ì¡¼¥¹ [#rc18d139]
&ref(./hikari.png,50%);

¾å¿Þ¤Î¤è¤¦¤ËÀþ¤ò£²¤Ä¤Î¸÷¥»¥ó¥µ¡¼¤Ç¶´¤ó¤À¡£

&ref(./hikari2.png,50%);


¸÷¥»¥ó¥µ¡¼¤Ï¿Þ¤Î¤è¤¦¤ÊÃͤò¤È¤Ã¤¿¡£¤³¤Î£³¤Ä¤ÎÃͤˡ¢£³£¸¤È£µ£³¤Î´Ö¤Î£´£µ¤È£µ£³¤È£¶£¸¤Î¤Î´Ö¤Î£¶£°¤ò²Ã¤¨¤Æ¡¢¸÷¥»¥ó¥µ¡¼¤ÎÃͤò£µÃʳ¬¤Ëʬ¤±¤¿¡£

²ÝÂꣲ¤ÈƱÍͤˣ±¤Ä¤Î¸÷¥»¥ó¥µ¡¼¤òÍѤ¤¤Æ²¼¿Þ¤Î¤è¤¦¤Ë¸÷¥»¥ó¥µ¡¼¤Î¼è¤ëÃͤȥí¥Ü¥Ã¥È¤ÎÆ°¤­¤òÂбþ¤µ¤»¤¿¡£

&ref(./hikari3.png,50%);

¤¿¤À¤·¡¢¸òº¹ÅÀ¤Ç¤Ï£²¤Ä¤Î¸÷¥»¥ó¥µ¡¼¤¬£³£¸¤È¤Ê¤ë¤Î¤Ç¡¢£²¤Ä¸÷¥»¥ó¥µ¡¼¤¬°ìÄê¤Î»þ´Ö£³£¸¤È¤Ê¤Ã¤¿¤È¤­¤Ë»ß¤Þ¤ë¤è¤¦¤Ë¤·¤¿¡£¤Þ¤¿¡¢¤³¤Î»þ´Ö¤òÊѲ½¤µ¤»¤ë¤³¤È¤Ç²¼¿Þ¤Î¤è¤¦¤Ê¾ì½ê¤Ç¤â»ß¤Þ¤ì¤ë¤è¤¦¤Ë¤·¤¿¡£

&ref(./hikari4.png,50%);

**define [#f77fd09f]
***¸÷¥»¥ó¥µ¡¼¤Î¼è¤ëÃÍ [#qbf2e711]
 #define BLACKS 38
 #define BLACK 45
 #define THRESHOLD 53
 #define WHITE 60
 #define WHITES 68
***¸÷¥»¥ó¥µ¡¼¤ËÂбþ¤·¤¿Æ°¤­ [#ya1e3ee1]
 #define left_s OnFwd(OUT_A,60);OnRev(OUT_B,60);
 #define left OnFwd(OUT_A,60);Off(OUT_B);
 #define right_s OnFwd(OUT_B,60);OnRev(OUT_A,90);
 #define right OnFwd(OUT_B,60);Off(OUT_A);
 #define forward OnFwd(OUT_AB,60);
***¤½¤Î¾define [#y1f5da39]
 #define CONN 1
 #define SIGNALON1 10 
 #define SIGNALOFF1 11
 #define SIGNALON2 20 
 #define SIGNALOFF2 21
 #define SIGNALON3 30
 #define SIGNALOFF3 31
 #define HALF 1900
 #define QUARTER 950
**¥µ¥Ö¥ë¡¼¥Á¥ó¡Ê¿Æµ¡¡Ë [#gd0e715d]
***¸òº¹ÅÀ¤Ç»ß¤Þ¤ë¥×¥í¥°¥é¥à¡Êº¸Â¦¤ò¥é¥¤¥ó¥È¥ì¡¼¥¹¡Ë [#hd7cd065]
 sub follow_line_left()
 {
    SetSensorLight(S1);
    SetSensorLight(S2);
   
    long t0=0,t1=0,stop_time=3;
 
    while(t1-t0<stop_time){
        if((SENSOR_1<BLACKS)&&(SENSOR_2<BLACKS)){
            t0=CurrentTick();
            forward;
            until((SENSOR_1<THRESHOLD)&&(SENSOR_2<THRESHOLD));
            t1=CurrentTick();
        }else if(SENSOR_1<BLACKS){
            left_s;
        }else if(SENSOR_1<BLACK){
            left;
        }else if(SENSOR_1<THRESHOLD){
            forward;     
        }else if(SENSOR_1<WHITE){
            right;
        }else if(SENSOR_1<WHITES){
            right_s;
        }
     }
     Off(OUT_AB);
     Wait(1000);
 }
***¸òº¹ÅÀ¤Ç»ß¤Þ¤ë¥×¥í¥°¥é¥à¡Ê±¦Â¦¤ò¥é¥¤¥ó¥È¥ì¡¼¥¹¡Ë [#p6fbb547]
 sub follow_line_right()
 {
    SetSensorLight(S1);
    SetSensorLight(S2);
   
    long t0=0,t1=0,stop_time=3;
 
    while(t1-t0<stop_time){
        if((SENSOR_1<BLACKS)&&(SENSOR_2<BLACKS)){
            t0=CurrentTick();
            forward;
            until((SENSOR_1<THRESHOLD)&&(SENSOR_2<THRESHOLD));
            t1=CurrentTick();
        }else if(SENSOR_2<BLACKS){
            right_s;
        }else if(SENSOR_2<BLACK){
            right;
        }else if(SENSOR_2<THRESHOLD){
            forward;     
        }else if(SENSOR_2<WHITE){
            left;
        }else if(SENSOR_2<WHITES){
            left_s;
         }
     }
     Off(OUT_AB);
     Wait(1000);
 }
***T»úÏ©¤Ç»ß¤Þ¤ë¥×¥í¥°¥é¥à¡Êº¸Â¦¤ò¥é¥¤¥ó¥È¥ì¡¼¥¹¡Ë [#cedceab8]
 sub follow_line_leftT()
 {
    SetSensorLight(S1);
    SetSensorLight(S2);
   
    long t0=0,t1=0,stop_time=1;
 
    while(t1-t0<stop_time){
        if((SENSOR_1<BLACKS)&&(SENSOR_2<BLACKS)){
            t0=CurrentTick();
            forward;
            until((SENSOR_1<THRESHOLD)&&(SENSOR_2<THRESHOLD));
            t1=CurrentTick();
        }else if(SENSOR_1<BLACKS){
            left_s;
        }else if(SENSOR_1<BLACK){
            left;
        }else if(SENSOR_1<THRESHOLD){
            forward;     
        }else if(SENSOR_1<WHITE){
            right;
        }else if(SENSOR_1<WHITES){
            right_s;
        }
     }
     Off(OUT_AB);
     Wait(1000);
 }
***T»úÏ©¤Ç»ß¤Þ¤ë¥×¥í¥°¥é¥à¡Ê±¦Â¦¤ò¥é¥¤¥ó¥È¥ì¡¼¥¹¡Ë [#de88804b]
 sub follow_line_rightT()
 {
    SetSensorLight(S1);
    SetSensorLight(S2);
   
    long t0=0,t1=0,stop_time=1;
 
    while(t1-t0<stop_time){
        if((SENSOR_1<BLACKS)&&(SENSOR_2<BLACKS)){
            t0=CurrentTick();
            forward;
            until((SENSOR_1<THRESHOLD)&&(SENSOR_2<THRESHOLD));
            t1=CurrentTick();
        }else if(SENSOR_2<BLACKS){
            right_s;
        }else if(SENSOR_2<BLACK){
            right;
        }else if(SENSOR_2<THRESHOLD){
            forward;     
        }else if(SENSOR_2<WHITE){
            left;
        }else if(SENSOR_2<WHITES){
            left_s;
         }
     }
     Off(OUT_AB);
     Wait(1000);
 }
***¤½¤Î¾¥µ¥Ö¥ë¡¼¥Á¥ó [#f6458069]
 sub start_right()
 {
     right;
     Wait(500);
 }

 sub start_left()
 {
     left;
     Wait(500);
 }

***»Òµ¡¤ËÌ¿Îá¤ò½Ð¤¹¥×¥í¥°¥é¥à [#f6458069]
 sub send_msg1()
 {
     int msg;
     while(msg!=SIGNALOFF1){
         SendRemoteNumber(CONN,MAILBOX1,SIGNALON1);
         ReceiveRemoteNumber(MAILBOX1,true,msg);
         } 
 } 

 sub send_msg2()
 {
     int msg;
     while(msg!=SIGNALOFF2){
         SendRemoteNumber(CONN,MAILBOX2,SIGNALON2);
         ReceiveRemoteNumber(MAILBOX2,true,msg);
         } 
 }
**¥µ¥Ö¥ë¡¼¥Á¥ó¡Ê»Òµ¡¡Ë [#x7ba3b6f]
***¥Ü¡¼¥ë¤ò¤Ä¤«¤à¥×¥í¥°¥é¥à [#a7ed61f9]
 sub ball_catch1()
 {
     OnFwd(OUT_A,40);
     Wait(200);
     OnRev(OUT_B,50);
     Wait(500);
     OnRev(OUT_A,60);
     Wait(700);
     Off(OUT_AB);
 }

 sub receive_msg1()
 {
     int msg;
     while(msg!=SIGNALON1){
         ReceiveRemoteNumber(MAILBOX1,true,msg);
         } 
     ball_catch1();
     PlaySound(SOUND_UP);
     SendResponseNumber(MAILBOX1,SIGNALOFF1);
 
 }

***¥Ü¡¼¥ë¤òÍÆ´ï¤ËÆþ¤ì¤ë¥×¥í¥°¥é¥à [#i70e3e81]
 sub ball_throw1()
 {
     OnFwd(OUT_A,40);
     Wait(100);
     OnFwd(OUT_B,50);
     Wait(500);
     OnRev(OUT_A,60);
     Wait(700);
     Off(OUT_AB);
 }

 sub receive_msg2()
 {
     int msg;
     while(msg!=SIGNALON2){
         ReceiveRemoteNumber(MAILBOX2,true,msg); 
         } 
     ball_throw1();
     PlaySound(SOUND_UP);
     SendResponseNumber(MAILBOX2,SIGNALOFF2);
 }
**¥×¥í¥°¥é¥àÁ´ÂΡʿƵ¡¡Ë [#n1632a72]
 task main()
 {
     follow_line_leftT();//A'¤«¤éK'¤Ø
     right_s;
     Wait(200);
     forward;
     Wait(900);
     Off(OUT_AB);//L¡Ç¤Ø
     send_msg1();//»Òµ¡¤Ç¥Ü¡¼¥ë¤ò¤Ä¤«¤à
     right_s;
     Wait(HALF);
     follow_line_right();//J'¤Ø
     send_msg2();//¥Ü¡¼¥ë¤òÍÆ´ï¤ËÆþ¤ì¤ë
 }
**¥×¥í¥°¥é¥àÁ´ÂΡʻҵ¡¡Ë [#m32a04fa]
 task main()
 {
     receive_msg1();//¥Ü¡¼¥ë¤ò¤Ä¤«¤à
     receive_msg2();//¥Ü¡¼¥ë¤òÍÆ´ï¤ËÆþ¤ì¤ë
 }
*È¿¾Ê¤È´¶ÁÛ [#te26a530]
º£²ó¤Î²ÝÂê¤Ç¤Ï¥í¥Ü¥Ã¥ÈÀ½ºî¤ËÎϤòÆþ¤ì¤Æ¤·¤Þ¤¤¡¢£±¤Ä¤Î¥Ü¡¼¥ë¤òÍÆ´ï¤ËÆþ¤ì¤ë¤È¤³¤í¤Þ¤Ç¤·¤«¥×¥í¥°¥é¥à¤òºî¤ì¤Ê¤«¤Ã¤¿¡£¤Þ¤¿¡¢ËÜÈ֤ǤϤ½¤Î£±¤Ä¤Î¥Ü¡¼¥ë¤µ¤¨ÍÆ´ï¤ËÆþ¤ì¤ë¤³¤È¤¬¤Ç¤­¤Ê¤«¤Ã¤¿¡£¤½¤ÎÍýͳ¤Ï¸÷¥»¥ó¥µ¡¼¤ÎÃͤÎÄ´À°¤¬¤·¤Ã¤«¤ê½ÐÍè¤Æ¤¤¤Ê¤«¤Ã¤¿¤³¤È¤À¤È»×¤¦¡£
º£²ó¤Î²ÝÂê¤Ç¤Ï¥í¥Ü¥Ã¥ÈÀ½ºî¤ËÎϤòÆþ¤ì¤Æ¤·¤Þ¤¤¡¢£±¤Ä¤Î¥Ü¡¼¥ë¤òÍÆ´ï¤ËÆþ¤ì¤ë¤È¤³¤í¤Þ¤Ç¤·¤«¥×¥í¥°¥é¥à¤òºî¤ì¤Ê¤«¤Ã¤¿¡£¤Þ¤¿¡¢ËÜÈ֤ǤϤ½¤Î£±¤Ä¤Î¥Ü¡¼¥ë¤µ¤¨ÍÆ´ï¤ËÆþ¤ì¤ë¤³¤È¤¬¤Ç¤­¤Ê¤«¤Ã¤¿¡£¤½¤ÎÍýͳ¤Ï¸÷¥»¥ó¥µ¡¼¤ÎÃͤÎÄ´À°¤¬¤·¤Ã¤«¤ê½ÐÍè¤Æ¤¤¤Ê¤«¤Ã¤¿¤³¤È¤À¤È¹Í¤¨¤é¤ì¤ë¡£

º£²ó¤Î²ÝÂê¤Ïº£¤Þ¤Ç¼ø¶È¤Ç³Ø¤ó¤À¤³¤È¤Î½¸ÂçÀ®¤Ç¤¢¤ê¡¢¥í¥Ü¥Ã¥ÈÀ©¸æ¤Î´ðÁääÌäÂê²ò·èÎϤò¿È¤Ë¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤¿¡£

¥È¥Ã¥×   ÊÔ½¸ º¹Ê¬ ÍúÎò źÉÕ Ê£À½ ̾Á°Êѹ¹ ¥ê¥í¡¼¥É   ¿·µ¬ °ìÍ÷ ¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS