²ÝÂꣳ

º£²ó¤Î²ÝÂê¤Ë¤Ä¤¤¤Æ¤Ï2019a/Mission3¤ÎÄ̤ê¤Ç¤¢¤ë¡£

2019a-mission3-2.png

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

A'(½Ðȯ) ¢ª K' ¢ª L'(¥Ü¡¼¥ë­¡¤ò¤Ä¤«¤à) ¢ª K' ¢ª J'(¥Ü¡¼¥ë­¡±¿È´°Î») ¢ª K' ¢ª M' ¢ª N' ¢ª N ¢ª B ¢ª M ¢ª K ¢ª L(¥Ü¡¼¥ë­¢¤ò¤Ä¤«¤à) ¢ª K ¢ª J(¥Ü¡¼¥ë­¢¤òÍÆ´ï¤ËÆþ¤ì¤ë¡£ÍÆ´ï¤ò»ý¤Á¾å¤²¤ë¡£) ¢ª C ¢ª B ¢ª N ¢ª C' ¢ª I' (¥Ü¡¼¥ë­¢­£­¤±¿È´°Î»)

¥í¥Ü¥Ã¥È¤Î¹½Â¤

¥í¥Ü¥Ã¥ÈÁ´ÂΤˤĤ¤¤Æ

unnamed.jpg

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

¥Ü¡¼¥ë¤ò¤Ä¤«¤à¥¢¡¼¥à

IMG_2712.jpeg

¥â¡¼¥¿¡¼¤ò£²¤Ä»ÈÍѤ·¤¿¡££±¤Ä¤Ï¥Ü¡¼¥ë¤ò¤Ä¤«¤ß¡¢¤â¤¦£±¤Ä¤Ï¾å²¼¤ËÆ°¤«¤¹Ìò³ä¤ò¤·¤Æ¤¤¤ë¡£

ÍÆ´ï¤ò¤Ä¤«¤à¥¢¡¼¥à

IMG_2713.jpeg

¥Ü¡¼¥ë¤ò¤Ä¤«¤à¥¢¡¼¥à¤ÈƱ¤¸µ¡¹½¤Ç¤¢¤ë¡£ÍÆ´ï¤òÍî¤È¤µ¤Ê¤¤¤¿¤á¤Ë¥¢¡¼¥à¤Ë¥¿¥¤¥ä¤ò·×£´¤ÄÉÕ¤±¤¿¡£

¥í¥Ü¥Ã¥È¤Ë¼è¤êÉÕ¤±¤¿ºä

IMG_2708.jpeg

¥¢¡¼¥à¤ò»ý¤Á¾å¤²¤¿¤È¤­¤ÎºÇ¹âÅÀ¤Ë¤Á¤ç¤¦¤Éºä¤¬¤¯¤ë¤è¤¦¤Ë¤·¤¿¡£

¸÷¥»¥ó¥µ¡¼

IMG_2710.jpeg

¼Ì¿¿¤Ë¤¢¤ë¤è¤¦¤Ë¸÷¥»¥ó¥µ¡¼¤ò£²¤Ä»ÈÍѤ·¤¿¡£

¥×¥í¥°¥é¥à

¥é¥¤¥ó¥È¥ì¡¼¥¹

hikari.png

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

hikari2.png

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

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

hikari3.png

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

hikari4.png

define

¸÷¥»¥ó¥µ¡¼¤Î¼è¤ëÃÍ

#define BLACKS 38
#define BLACK 45
#define THRESHOLD 53
#define WHITE 60
#define WHITES 68

¸÷¥»¥ó¥µ¡¼¤ËÂбþ¤·¤¿Æ°¤­

#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

#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

¥µ¥Ö¥ë¡¼¥Á¥ó¡Ê¿Æµ¡¡Ë

¸òº¹ÅÀ¤Ç»ß¤Þ¤ë¥×¥í¥°¥é¥à¡Êº¸Â¦¤ò¥é¥¤¥ó¥È¥ì¡¼¥¹¡Ë

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);
}

¸òº¹ÅÀ¤Ç»ß¤Þ¤ë¥×¥í¥°¥é¥à¡Ê±¦Â¦¤ò¥é¥¤¥ó¥È¥ì¡¼¥¹¡Ë

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»úÏ©¤Ç»ß¤Þ¤ë¥×¥í¥°¥é¥à¡Êº¸Â¦¤ò¥é¥¤¥ó¥È¥ì¡¼¥¹¡Ë

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»úÏ©¤Ç»ß¤Þ¤ë¥×¥í¥°¥é¥à¡Ê±¦Â¦¤ò¥é¥¤¥ó¥È¥ì¡¼¥¹¡Ë

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);
}

»Òµ¡¤ËÌ¿Îá¤ò½Ð¤¹¥×¥í¥°¥é¥à

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);
        } 
}

¥µ¥Ö¥ë¡¼¥Á¥ó¡Ê»Òµ¡¡Ë

¥Ü¡¼¥ë¤ò¤Ä¤«¤à¥×¥í¥°¥é¥à

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);

}

¥Ü¡¼¥ë¤òÍÆ´ï¤ËÆþ¤ì¤ë¥×¥í¥°¥é¥à

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);
}

¥×¥í¥°¥é¥àÁ´ÂΡʿƵ¡¡Ë

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();//¥Ü¡¼¥ë¤òÍÆ´ï¤ËÆþ¤ì¤ë
}

¥×¥í¥°¥é¥àÁ´ÂΡʻҵ¡¡Ë

task main()
{
    receive_msg1();//¥Ü¡¼¥ë¤ò¤Ä¤«¤à
    receive_msg2();//¥Ü¡¼¥ë¤òÍÆ´ï¤ËÆþ¤ì¤ë
}

È¿¾Ê¤È´¶ÁÛ

º£²ó¤Î²ÝÂê¤Ç¤Ï¥í¥Ü¥Ã¥ÈÀ½ºî¤ËÎϤòÆþ¤ì¤Æ¤·¤Þ¤¤¡¢£±¤Ä¤Î¥Ü¡¼¥ë¤òÍÆ´ï¤ËÆþ¤ì¤ë¤È¤³¤í¤Þ¤Ç¤·¤«¥×¥í¥°¥é¥à¤òºî¤ì¤Ê¤«¤Ã¤¿¡£¤Þ¤¿¡¢ËÜÈ֤ǤϤ½¤Î£±¤Ä¤Î¥Ü¡¼¥ë¤µ¤¨ÍÆ´ï¤ËÆþ¤ì¤ë¤³¤È¤¬¤Ç¤­¤Ê¤«¤Ã¤¿¡£¤½¤ÎÍýͳ¤Ï¸÷¥»¥ó¥µ¡¼¤ÎÃͤÎÄ´À°¤¬¤·¤Ã¤«¤ê½ÐÍè¤Æ¤¤¤Ê¤«¤Ã¤¿¤³¤È¤À¤È¹Í¤¨¤é¤ì¤ë¡£

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


źÉÕ¥Õ¥¡¥¤¥ë: filehikari4.png 181·ï [¾ÜºÙ] filehikari3.png 186·ï [¾ÜºÙ] filehikari2.png 149·ï [¾ÜºÙ] filehikari.png 156·ï [¾ÜºÙ] fileIMG_2710.jpeg 186·ï [¾ÜºÙ] fileIMG_2708.jpeg 119·ï [¾ÜºÙ] fileIMG_2713.jpeg 286·ï [¾ÜºÙ] fileIMG_2712.jpeg 243·ï [¾ÜºÙ] fileunnamed.jpg 192·ï [¾ÜºÙ] file2019a-mission3-2.png 168·ï [¾ÜºÙ] file2019a-mission3.png 71·ï [¾ÜºÙ]

¥È¥Ã¥×   ÊÔ½¸ Åà·ë º¹Ê¬ ÍúÎò źÉÕ Ê£À½ ̾Á°Êѹ¹ ¥ê¥í¡¼¥É   ¿·µ¬ °ìÍ÷ ¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS
Last-modified: 2019-08-13 (²Ð) 23:22:17