[[2014a/Member]]
*¼è¤êÁȤó¤À²ÝÂê¤ÎÀâÌÀ [#s4124420]
¡¡º£²ó¼è¤êÁȤó¤À²ÝÂê¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï&ref(http://yakushi.shinshu-u.ac.jp/robotics/?2014a%2FMission2);¤ò»²¾È
*¥á¥ó¥Ð¡¼ [#l2d34f74]
 ¡¦tacchan
 ¡¦yukiyamaneko
 ¡¦monodoll
 ¡¦nari
*Àïά [#g8622225]
&ref(2014a/Member/tacchan/Mission2/2014a-mission2.png,70%);

¡¦¤³¤Î²ÝÂê¤ò°Ê²¼¤Î¼ê½ç¤Ç¹¶Î¬¤¹¤ë¤Ä¤â¤ê¤Ç¤¢¤Ã¤¿¡£
 ­¡¥³¥Ã¥×A¤ò¼è¤ê¤Ë°ÜÆ°¤·¥³¥Ã¥×¤Î¼±Ê̤ò¤¹¤ë¡£
 ­¢A¤¬¤¢¤Ã¤¿ÃÏÅÀ¤ò´ð½àÅÀ¤È¤·¼±Ê̤µ¤ì¤¿¥³¥Ã¥×¤òÆþ¤ì¤ë¾ì½ê¤Þ¤Ç°ÜÆ°¤·¥¢¡¼¥à¤ò²¼¤í¤¹¡£
 ­£AÃÏÅÀ¤Þ¤ÇÌá¤ê¼¡¤Î¥³¥Ã¥×¤ò¼è¤ê¤Ë¤¤¤­ºÆ¤ÓAÃÏÅÀ¤Þ¤ÇÌá¤ê­¢¤ò·«¤êÊÖ¤¹¡£
 ­¤­£¤Î·«¤êÊÖ¤·¡£
Âç²ñÅöÆü¤Ç¤Ï¥³¥Ã¥×A¤ò¼è¤ê¼±Ê̤·Âбþ¤¹¤ë¥³¥Ã¥×¤Ë¤«¤Ö¤»ºÆ¤ÓAÃÏÅÀ¤Þ¤ÇÌá¤Ã¤Æ¤¯¤ë¤È¤³¤í¤Þ¤Ç¤·¤«¥×¥í¥°¥é¥à¤¬´°À®¤·¤Ê¤«¤Ã¤¿¡£
*¥í¥Ü¥Ã¥È [#ld469458]
&ref(2014a/Member/tacchan/Mission2/front.jpg);
&ref(2014a/Member/tacchan/Mission2/left.jpg);
&ref(2014a/Member/tacchan/Mission2/under.jpg);
* [#s055c902]
---Main:ËÜÂÎÀ©¸æ
 #define bri 55
 #define s1 50 //¹â®
 #define s2 30 //Äã®
 #define OnRL(x,y) OnFwd(OUT_A,x); OnFwd(OUT_C,y);
 #define go OnFwdSync(OUT_AC,s2,0); //ľ¿Ê
 #define left1 OnRL(-s2,s2); //º¸Àû²ó
 #define left0 OnRL(0,s2); //º¸ÀÞ
 #define right0 OnRL(s2,0); //±¦ÀÞ
 #define right1 OnRL(s2,-s2); //±¦Àû²ó
 #define step 1
 #define nMAX 300 //nMAX¤òĶ¤¨¤¿»þ¸òº¹ÅÀ¤ÈȽÃǤ¹¤ë
 #define short_break Off(OUT_AC); Wait(500); //¾®µÙ·Æ
 #define cross_line go;Wait(200);short_break; //¸òº¹ÅÀ¤òÅϤë
 #define open 4
 #define motiageru 1 
 #define tukamu 2
 #define hanasu 3
 #define time1 2000  //»Ï¤á¤ÎÀû²ó¡¢¤Á¤ç¤¦¤É90¡ëÀû²ó¤Ç¤­¤ë»þ´Ö¡¢Í×ÀßÄê
 #define part2 15000  //A¤òÄϤó¤Ç¤«¤é£±¤ËÃÖ¤¯¤Þ¤Ç¤Î»þ´Ö¡¢Í×ÀßÄê
 #define part3 10000  //A¤òÄϤó¤Ç¤«¤é£²¤ËÃÖ¤¯¤Þ¤Ç¤Î»þ´Ö¡¢Í×ÀßÄê
 #define part4 15000 //A¤òÄϤó¤Ç¤«¤é£³¤ËÃÖ¤¯¤Þ¤Ç¤Î»þ´Ö¡¢Í×ÀßÄê
 #define song PlaySound(SOUND_CLICK);//²»¤òÌĤ餹
 
 task main()
 {
   SetSensorLight(S2); //¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤¹¤ë¥é¥¤¥È¥»¥ó¥µ¡¼¤òÀßÃÖ
   SetSensorLight(S3); //»æ¥³¥Ã¥×¤ò¼±Ê̤¹¤ë¤¿¤á¤Î¥é¥¤¥È¥»¥ó¥µ¡¼¤òÀßÃÖ
 
   go;
   Wait(4500);//4.5ÉôÖľ¿Ê
   song;
   left1;//º¸¤ËÀû²ó
   Wait(time1);//90Åٲ󞤹¤ë¤Þ¤Ç³¤±¤ë
   song;
   go;//ľ¿Ê
   Wait(800);
   song;
 
   SendRemoteNumber(1,0,open);
   song;
   go;
   Wait(3000);
   SendRemoteNumber(1,0,tukamu);//¤Ä¤«¤à
   song;
 
   int n1 = 0;//n1¤È¤¤¤¦´Ø¿ô¤òÀßÃÖ
   int rooot = 0;//rooot¤È¤¤¤¦´Ø¿ô¤òÀßÃÖ
   /*¤³¤Ã¤«¤éȽÊ̤ËÆþ¤ë*/
   while(rooot = 0){
    if(SENSOR_3 < 42){
     rooot = 3;}//¥»¥ó¥µ¡¼¤¬42̤Ëþ¤Î¾ì¹ç¥ë¡¼¥È3¤Ø
     else if(SENSOR_3 < 50){
     rooot = 2;}//¥»¥ó¥µ¡¼¤¬50̤Ëþ¤Î¾ì¹ç¥ë¡¼¥È2¤Ø
     else{
     rooot = 1;}//¤½¤ì°Ê³°¤Î¾ì¹ç¥ë¡¼¥È1¤Ø
   }
   Wait(1000);
   song;
 
   SendRemoteNumber(1,0,motiageru);  //»Òµ¡¤ËÁ÷¿®¤·¥¢¡¼¥à¤ò²ÔƯ¤·»ý¤Á¾å¤²¤ë
   song;
 
   go;//ľ¿Ê
   Wait(1000);//1ÉôÖ³¤±¤ë
   left0;//º¸ÀÞ
   Wait(1000);
   until(SENSOR_2 <45);//¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë¥»¥ó¥µ¡¼¤¬45̤Ëþ¤Ë¤Ê¤ë¤Þ¤Ç³¤±¤ë
 
   long line = 0;//long line¤È¤¤¤¦´Ø¿ô¤òÀßÃÖ
   long t1 = CurrentTick();//t1¤È¤¤¤¦´Ø¿ô¤òÀßÃÖ
 
  while(rooot = 1){ //rooot¤¬1¤Î´Ö¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³¤±¤ë
 
   while(CurrentTick()-t1 <= part2){ //t1¤¬part2¤è¤êÂ礭¤¯¤Ê¤ë¤Þ¤Ç¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³¤±¤ë
     while (line < nMAX) { // line¤¬nMAX°Ê¾å¤Ë¤Ê¤ë¤Þ¤Ç³¤±¤ë
 
       if (SENSOR_2 < 40) {
           right1;
           line = line + 10;   //¸òº¹ÅÀ¤òÈ´¤±¤ä¤¹¤¯¤¹¤ë
        } else {
          if (SENSOR_2 < 45) {
             right0;
          } else if (SENSOR_2 < 55) {
             go;
          } else if (SENSOR_2 < 60) {
             left0;
          } else {
             left1;
            }
           line=0;
          }
         Wait(step);
     }
     short_break;
     right1;
     Wait(200);
     cross_line;
     line=0;
   }
 
   SendRemoteNumber(1,0,hanasu);
 
   rooot = 0;
 
   OnRev(OUT_AC,50);     //AÃÏÅÀÉÕ¶á¤Þ¤ÇÌá¤ë
   Wait(500);
   left1;
   Wait(time1*2);
   go;
   Wait(4000);
   }
 
 
   while(rooot = 2){
 
     while(CurrentTick()-t1 <= part3){
 
        if(SENSOR_2 < 40){
         left1;}
        else if(SENSOR_2 < 45){
         left0;}
        else if(SENSOR_2 < 55){
         go;}
        else{
        right0;}    //±¦Àû²ó¤Ï¤Ê¤·¡¢£²¤Ë¸þ¤«¤¦¤Ë¤Ï¸òº¹ÅÀȽÃǤâɬÍפʤ¤
      Wait(step);
      }
 
   SendRemoteNumber(1,0,hanasu);
 
   rooot = 0;
 
   OnRev(OUT_AC,50);     //AÃÏÅÀÉÕ¶á¤Þ¤ÇÌá¤ë
   Wait(500);
   left1;
   Wait(time1);
   go;
   until(SENSOR_2 < 45);
 
   }
 
   while(rooot = 3){
 
     while(CurrentTick()-t1 <= part4){
                                           //±¦¥é¥¤¥ó¥È¥ì¡¼¥¹
         if(SENSOR_2  < 40){
          right1;}
         else if(SENSOR_2 < 45){
          right0;}
         else if(SENSOR_2 < 55){
          go;}
         else if(SENSOR_2 < 60){
          left0;}
         else{
          left1;}
 
      }
 
   SendRemoteNumber(1,0,hanasu);
 
   rooot = 0;
 
   OnRev(OUT_AC,50);   //AÃÏÅÀÉÕ¶á¤Þ¤ÇÌá¤ë
   Wait(500);
   right1;
   Wait(time1 + 300);
   go;
   Wait(3000);
   go;
   until(SENSOR_2 < 45);
 
   }
 
          //¤³¤³¤«¤é£²¤ÄÌܤò¤Ä¤«¤ß¤Ë¤«¤«¤ë
         //2ËçÌܤΥ¹¥¿¡¼¥ÈÃÏÅÀ¤Ë¸þ¤«¤¦¡¢±ßµ°Æ»¤Ë¾è¤Ã¤Æ¤ëÅÓÃæ¡¢±¦¤Ë¶Ê¤¬¤Ã¤Æ¥¹¥¿¡¼¥ÈÃÏÅÀ¤Ë¹Ô  ¤¯Á°¤Ë
         //BÃÏÅÀ¤Ë¥·¥ç¡¼¥È¥«¥Ã¥È¤¹¤ë
 
 }
---slave:¥¢¡¼¥àÀ©¸æ
 #define on 1
 
 
 
 
 
 task main()
 
 {
 
 
 
 int moterOn;
 
 while(true){
 
 ReceiveRemoteNumber(0,true,moterOn);
 
 
 
 if(moterOn == 4){
 
 
 
 OnFwd(OUT_B,50);
 
 Wait(300);
 
 Off(OUT_B);
 
 Wait(500);
 
 
 
 }
  
 
 
 if(moterOn == 1){
 
 
 
 OnRev(OUT_B,30);
 
 Wait(1000);
 
 Off(OUT_B);
 
 int moterOn =0;
 
 
 
 }
 
 
 
 else if(moterOn == 2){
 
 
 
 OnRev(OUT_B,30);
 
 Wait(1000);
 
 Off(OUT_B);
 
 int moterOn =0;
 
 }
 
 
 
 else if(moterOn == 3){
 
 
 
 OnFwd(OUT_B,30);
 
 Wait(1000);
 
 Off(OUT_B);
 
 int moterOn = 0;
 
 }
 
 
 
 
 
 }
 
 }


¥È¥Ã¥×   ¿·µ¬ °ìÍ÷ ¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS