[[2016a/Member]] #contents *¤Ï¤¸¤á¤Ë [#db5768ef] º£²ó¤Î²ÝÂê¤Ï²¼¤Î¿Þ¤Î¤è¤¦¤Ê¥³¡¼¥¹¤ò³Æ¥Á¡¼¥à¤ÇºîÀ®¤·¡¢¥ß¥Ã¥·¥ç¥ó¤ò¿ë¹Ô¤¹¤ë¤³¤È¤Ç¤¢¤ë¡£ #ref(2016a-mission2.png) ¤Ê¤ª¡¢º£²ó¤Î»ä¤Î¥ß¥Ã¥·¥ç¥ó¤Ï BÃÏÅÀ¤«¤éCÃÏÅÀ¤Ø (BÃÏÅÀ ¢ª R±¦ÀÞ ¢ª Qľ¿Ê ¢ª Qľ¿Ê ¢ªP±¦ÀÞ ¢ª S±¦ÀÞ ¢ª CÃÏÅÀ) ¤Ç¤¢¤ë¡£([[2016ǯÅÙÁ°´ü ²ÝÂê2:http://yakushi.shinshu-u.ac.jp/robotics/?2016a%2FMission2]]°úÍÑ) *¥í¥Ü¥Ã¥È¤ÎÀâÌÀ [#dcc4ff80] *¥×¥í¥°¥é¥à [#h080aa93] float GetAngle(float d) { const float diameter=5.45; //¥¿¥¤¥ä¤Îľ·Â(Ñ) const float pi=3.1415; //±ß¼þΨ(¦Ð) float ang =d/(diameter*pi)*360.0; //³ÑÅÙ¤ò·×»»¤¹¤ë return ang; //³ÑÅÙ¤òÊÖ¤¹¡¡ } #define Ninety GetAngle(16.5) #define Two GetAngle(2) #define Usetsu RotateMotorEx(OUT_BC,50,Ninety,100,true,false); #define Tyokushin RotateMotorEx(OUT_BC,50,Two,0,true,true); #define SHIKIICHI 45 #define OnRL(b,c) OnFwd(OUT_B,b);OnFwd(OUT_C,c); #define go_forward OnRL(50,50); #define turn_left1 OnRL(25,-25); // º¸Àû²ó #define turn_left0 OnRL(25,0); // º¸ÀÞ #define turn_right0 OnRL(0,25); // ±¦ÀÞ #define turn_right1 OnRL(-25,25); // ±¦Àû²ó #define nMAX 120 #define Sound PlaySound(SOUND_UP);Off(OUT_BC);Wait(2000); //¸òº¹ÅÀ¤Ç²»¤òÌĤ餹 int t=0; //¸òº¹ÅÀ¤òÄ̤俲ó¿ô sub L_susumu() //¹õÀþ¤Îº¸Â¦¤ò¿Ê¤à { SetSensorLight(S3); int n=0; while (n < nMAX) { if (SENSOR_3 < SHIKIICHI-15) { turn_left1 n++; t=t+1; } else { if (SENSOR_3 < SHIKIICHI-7) { turn_left0 } else if (SENSOR_3 < SHIKIICHI+7) { go_forward } else if (SENSOR_3 < SHIKIICHI+15) { turn_right0 } else { turn_right1 } n=0; } Wait(1000); } } sub R_susumu() //¹õÀþ¤Î±¦Â¦¤ò¿Ê¤à { SetSensorLight(S3); int n=0; while (n < nMAX) { if (SENSOR_3 < SHIKIICHI-15) { turn_right1 n++; t=t+1; } else { if (SENSOR_3 < SHIKIICHI-7) { turn_right0 } else if (SENSOR_3 < SHIKIICHI+7) { go_forward } else if (SENSOR_3 < SHIKIICHI+15) { turn_left0 } else { turn_left1 } n=0; } Wait(1000); } } task main() { SetSensorLight(S3); int n=0; while (t <= 6) { if(t <= 1){ L_susumu(); Sound Tyokushin //¥¹¥¿¡¼¥ÈÃÏÅÀ¤Ïľ¿Ê n=0; } else if (t <= 2){ Sound Usetsu n=0; Off(OUT_BC); OnFwd(OUT_B,50); Wait(200); Off(OUT_B); //1¤ÄÌܤθòº¹ÅÀ¤ò±¦À޸塢¹õÀþ¤Î±¦Â¦¤ò¿Ê¤à¤¿¤á°ÌÃÖÊÑ R_susumu(); } else if (t <= 3){ Sound Tyokushin n=0; Off(OUT_BC); OnFwd(OUT_C,50); Wait(200); Off(OUT_C); //2¤ÄÌܤθòº¹ÅÀ¤òľ¿Ê¸å¡¢¹õÀþ¤Îº¸Â¦¤ò¿Ê¤à¤¿¤á°ÌÃÖÊÑ L_susumu(); } else if (t <= 4){ Sound Tyokushin //3¤ÄÌܤθòº¹ÅÀ¤Ïľ¿Ê n=0; L_susumu(); } else { Sound Usetsu //4,5¤ÄÌܤθòº¹ÅÀ¤Ï±¦ÀÞ n=0; L_susumu(); } } OnFwd(OUT_BC,50); Wait(3000); Off(OUT_BC); } *´¶ÁÛ¡¦¹Í»¡ [#r903969b]