[[2015b/Member]] Ìܼ¡ #contents *¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë¥í¥Ü¥Ã¥È [#p5d41d92] ¹õ¤¤Àþ¤Ë±è¤Ã¤ÆÆ°¤¯¥í¥Ü¥Ã¥È¤òÀ©ºî¤·¤¿¡£ **Áö¹Ô¤¹¤ë·ÐÏ© [#i456d28d] #ref(2015b/Member/rmsun/Mission2/2015b-mission2.png,716*500, ·ÐÏ©) ¾å¤Î¿Þ¤ò¡¢¡ÖBÃÏÅÀ ¢ª P±¦ÀÞ ¢ª Q±¦ÀÞ ¢ª Pº¸ÀÞ ¢ª Qº¸ÀÞ ¢ª Qľ¿Ê ¢ª Pľ¿Ê ¢ª AÃÏÅÀ¡×¤Î½ç¤ËÁö¹Ô¤¹¤ë *¥í¥Ü¥Ã¥ÈËÜÂÎ [#oc260a58] ½é´ü¥í¥Ü¥Ã¥È¤Ë¸÷¥»¥ó¥µ¤òÉÕ¤±¤¿¹½Â¤ #ref() ¥â¡¼¥¿B¤Ï±¦¤Î¥¿¥¤¥ä¤Ë¡¢¥â¡¼¥¿C¤Ïº¸¤Î¥¿¥¤¥ä¤Ë¼è¤êÉÕ¤±¤¿¡£ *¥×¥í¥°¥é¥à [#o7491a14] **ÄêµÁ¡¢¥µ¥Ö¥ë¡¼¥Á¥ó [#fc43c816] ***¥Þ¥¯¥í [#ed90eab8] #define THRESHOLD 50 //ïçÃÍ #define STEP 1 //Wait¤Î°ú¿ô¤È¤·¤Æ»È¤¦ ***°ú¿ô¤òÊÑ¿ô¤ËÂåÆþ¤¹¤ë¡Öscan_move¡×¡Öscan_angle¡× [#cfa984f0] ¡¦scan_move¤Ç»È¤¦¤¿¤á¤ÎÊÑ¿ô ÊÑ¿ôtarget...¸òº¹ÅÀ¤«¤É¤¦¤«¤òȽÊ̤¹¤ë¤¿¤á¤Î¿ôÃÍ ÊÑ¿ôspeed3...¥í¥Ü¥Ã¥È¤¬Ä¾¿Ê¤¹¤ë¤È¤¤Î¡¢¥â¡¼¥¿¤Î¥Ñ¥ï¡¼ int target; //¸òº¹ÅÀ¤«¤É¤¦¤«¤òȽÃǤ¹¤ë¤È¤¡¢´ð½à¤È¤¹¤ë¿ôÃÍ int speed3; //ľ¿Ê¤¹¤ë¤È¤¤Î¡¢¥â¡¼¥¿¤Î¥Ñ¥ï¡¼¤Ë»ÈÍÑ ¡¦°ú¿ô¤Ç¤È¤Ã¤¿Ãͤò¡¢target, speed3¤ËÂåÆþ¤¹¤ë¡Öscan_move¡× sub scan_move(int aim, int power) { //°ú¿ô¤Ë¤È¤Ã¤¿Ãͤò¡¢target, speed3¤ËÂåÆþ¤¹¤ë target = aim; //°ú¿ôaim¤ò¡¢target¤ËÂåÆþ speed3 = power; //°ú¿ôpower¤ò¡¢speed3¤ËÂåÆþ } ¡¦scan_angle¤Ç»È¤¦¤¿¤á¤ÎÊÑ¿ô ¼¡¤Î£³¤Ä¤ÎÊÑ¿ô¤Ï¡¢¸òº¹ÅÀ¤Ë¤Ö¤Ä¤«¤Ã¤¿¸å¡¢¤É¤ó¤ÊÆ°ºî¤ò¤¹¤ë¤Î¤«¤ò·è¤á¤ë¡£ int R_ang; //¸òº¹ÅÀ¤Ç±¦Àû²ó¤¹¤ë¤È¤¤Î¡¢¥â¡¼¥¿¤Î²óž³Ñ int L_ang; //¸òº¹ÅÀ¤Çº¸Àû²ó¤¹¤ë¤È¤¤Î¡¢¥â¡¼¥¿¤Î²óž³Ñ int GO_ang; //¸òº¹ÅÀ¤Çľ¿Ê¤¹¤ë¤È¤¤Î¡¢¥â¡¼¥¿¤Î²óž³Ñ ¡¦°ú¿ô¤Ç¤È¤Ã¤¿Ãͤò¡¢L_ang, GO_ang, R_ang¤ËÂåÆþ¤¹¤ë¡Öscan_angle¡× sub scan_angle(int l, int g, int r) { //°ú¿ô¤Ë¤È¤Ã¤¿Ãͤò¡¢L_ang, GO_ang, R_ang¤ËÂåÆþ L_ang = l; //°ú¿ôl¤ò¡¢L_ang¤ËÂåÆþ GO_ang = g; //°ú¿ôg¤ò¡¢GO_ang¤ËÂåÆþ R_ang = r; //°ú¿ôr¤ò¡¢R_ang¤ËÂåÆþ } ***º¸Àû²ó¡¢±¦Àû²ó¡¢Ä¾¿Ê¤ò¤¹¤ë¡Öturn_left¡×¡Öturn_right¡×¡Ögo_forward¡× [#n86fb666] ¡¦¥â¡¼¥¿¤Î¥Ñ¥ï¡¼¤ò°ú¿ô¤Ë¤È¤Ã¤Æ¡¢º¸Àû²ó¤¹¤ë¡Öturn_left¡× sub turn_left(int speedA, int speedB) { //º¸¤Ë¶Ê¤¬¤ë OnFwd(OUT_B,speedA); //°ú¿ôspeedA¤Î¥Ñ¥ï¡¼¤Ç¡¢¥â¡¼¥¿B¤òÁ°Å¾ OnRev(OUT_C,speedB); //°ú¿ôspeedB¤Î¥Ñ¥ï¡¼¤Ç¡¢¥â¡¼¥¿C¤ò¸åž } ¡¦¥â¡¼¥¿¤Î¥Ñ¥ï¡¼¤ò°ú¿ô¤Ë¤È¤Ã¤Æ¡¢±¦Àû²ó¤¹¤ë¡Öturn_right¡× sub turn_right(int speedA, int speedB) { //±¦¤Ë¶Ê¤¬¤ë OnFwd(OUT_C,speedB); //°ú¿ôspeedB¤Î¥Ñ¥ï¡¼¤Ç¡¢¥â¡¼¥¿C¤òÁ°Å¾ OnRev(OUT_B,speedA); //°ú¿ôspeedA¤Î¥Ñ¥ï¡¼¤Ç¡¢¥â¡¼¥¿B¤ò¸åž } ¡¦¥â¡¼¥¿¤Î¥Ñ¥ï¡¼¤ò°ú¿ô¤Ë¤È¤Ã¤Æ¡¢Ä¾¿Ê¤¹¤ë¡Ögo_forward¡× sub go_forward(int speed3) { //¤Þ¤Ã¤¹¤°¿Ê¤à OnFwd(OUT_BC,speed3); //speed3¤Î¥Ñ¥ï¡¼¤Ç¡¢¥â¡¼¥¿BC¤òÁ°Å¾ } ***¸òº¹ÅÀ¤Ë¤Ö¤Ä¤«¤Ã¤¿¤È¤¤ÎÆ°ºî¡Öcross_action¡× [#x441724f] ¸òº¹ÅÀ¤Ë¤Ö¤Ä¤«¤Ã¤¿ºÝ¡¢¤½¤Î¸òº¹ÅÀ¤òľ¿Ê¤¹¤ë or ±¦ÀÞ¤¹¤ë or º¸ÀÞ¤¹¤ë ¡Öcross_action¡×¤Ï¡¢¡Öscan_ang¡×¤ÇÃͤ¬ÂåÆþ¤µ¤ì¤¿¡ÖL_ang¡×¡ÖR_ang¡×¡ÖGO_ang¡×¡¢¤½¤ì¤Ë²Ã¤¨¤Æ¥â¡¼¥¿¤Î¥Ñ¥ï¡¼¤È¤·¤Æ¡Öspeed1¡×¤ò°ú¿ô¤Ë¤È¤ë sub cross_action(int speed1, int L_ang, int R_ang, int GO_ang) { //¸òº¹ÅÀ¤ËÆþ¤Ã¤¿»þ¤ÎÆ°ºî(count¤¬2¤È7¤Î¤È¤°Ê³°) Off(OUT_BC); //¥â¡¼¥¿¡¼Ää»ß Wait(1000); //1ÉÃ´Ö RotateMotorEx(OUT_BC, speed1, L_ang, -100, true, true); //speed1¤Î¥Ñ¥ï¡¼¤Ç¡¢L_ang¤Î³ÑÅÙʬ¡¢¤½¤Î¾ìº¸Àû²ó Wait(100); //´Ö¤ËWait¤ò¶´¤Þ¤Ê¤¤¤È¸íºîÆ°¤¹¤ë¤¿¤á RotateMotorEx(OUT_BC, speed1, R_ang, 100, true, true); //speed1¤Î¥Ñ¥ï¡¼¤Ç¡¢R_ang¤Î³ÑÅÙʬ¡¢¤½¤Î¾ì±¦Àû²ó Wait(100); //¸íºîÆ°¤òËɤ°¤¿¤á RotateMotorEx(OUT_BC, speed1, GO_ang, 0, true, true); //speed1¤Î¥Ñ¥ï¡¼¤Ç¡¢GO_ang¤Î³ÑÅÙʬ¡¢Ä¾¿Ê } **¥á¥¤¥ó´Ø¿ô¤Ç»È¤¦ÊÑ¿ô [#pc00e5c2] **¸òº¹ÅÀ¤´¤È¤ËÆ°ºî¤òÊѤ¨¤ë [#p37e981a] ¤³¤³¤Ç¤ÎÁàºî¤Ï¡¢¡Ö¸òº¹ÅÀ¤ÎȽÊ̡פä¡Ö¸òº¹ÅÀ¤Ë¤Ö¤Ä¤«¤Ã¤¿ºÝ¤ÎÆ°ºî¡×¤Ë±Æ¶Á¤òµÚ¤Ü¤¹ count¤ÎÃͤ«¤é¡¢º£²¿¸ÄÌܤθòº¹ÅÀ¤Ë¤¤¤ë¤Î¤«¤òȽÃÇ count¤¬0¤Î¤È¤¤Ï¡¢¡Ö1¸ÄÌܤθòº¹ÅÀ¤Þ¤Ç¤Î¡¢¥í¥Ü¥Ã¥È¤Î¥¹¥Ô¡¼¥É¡×¤È¡¢¡Ö1¸ÄÌܤθòº¹ÅÀ¤ÎȽÊÌ´ð½à¡×¡¢¡Ö1¸ÄÌܤθòº¹ÅÀ¤Ë¤Ö¤Ä¤«¤Ã¤¿¤È¤¤ÎÆ°ºî¡×¤òÀßÄꤹ¤ë count¤¬n(À°¿ô)¤Î¤È¤¤Ï¡¢¡Ön + 1¸ÄÌܤθòº¹ÅÀ¤Þ¤Ç¤Î¡¢¥í¥Ü¥Ã¥È¤Î¥¹¥Ô¡¼¥É¡×¤È¡¢¡Ön + 1¸ÄÌܤθòº¹ÅÀ¤ÎȽÊÌ´ð½à¡×¡¢¡Ön + 1¸ÄÌܤθòº¹ÅÀ¤Ë¤Ö¤Ä¤«¤Ã¤¿¤È¤¤ÎÆ°ºî¡×¤òÀßÄꤹ¤ë **¥é¥¤¥ó¥È¥ì¡¼¥¹¼Â¹Ô [#kd2fed47] ***¹õ¤¤Àþ¤Ë±è¤Ã¤ÆÆ°¤¯¤¿¤á¤Î¥×¥í¥°¥é¥à [#w024bec7] ***¸òº¹ÅÀ¤ÎȽÊÌ [#k2345a37] tacho¤Ï¡¢¡Ö¥â¡¼¥¿B¤¬²óž¤·¤¿³ÑÅ١פòÃßÀѤ¹¤ë¤¿¤á¤ÎÊÑ¿ô¡£tacho¤Ë¤Ä¤¤¤Æ ¡¡ÖSENSOR_2 < THRESHOLD(ïçÃÍ) - 15¡×°Ê³°¤Î¤È¤¡¢tacho¤ò0¤Ë¤¹¤ë¡£ ¢¡ÖSENSOR_2 < THRESHOLD(ïçÃÍ) - 15¡×°Ê³°¤Î¤È¤¡¢TachoCountB(¥â¡¼¥¿B¤¬²óž¤·¤¿³ÑÅÙ)¤ò0¤Ë¥ê¥»¥Ã¥È¤¹¤ë £tacho = ¤Ï¡¢¡Ö¥â¡¼¥¿B¤¬²óž¤·¤¿³ÑÅ١פòtacho¤ËÂåÆþ¤·¤Æ¤¤¤ë¤³¤È¤òɽ¤·¤Æ¤¤¤ë ¤Î¡,¢,£¤¬À®¤êΩ¤Ä ¢¡¢£¤è¤ê¡¢tacho¤Ë0°Ê³°¤ÎÃͤ¬ÂåÆþ¤µ¤ì¤ë¤Î¤Ï¡¢¡ÖSENSOR_2 < THRESHOLD - 15¡×¤òËþ¤¿¤¹¤È¤(¥í¥Ü¥Ã¥È¤¬¤½¤Î¾ì¤Çº¸Àû²ó¤¹¤ë¤È¤)¤À¤±¤Ç¤¢¤ë ¡¤è¤ê¡¢°ìÅ٤Ǥâ¡ÖSENSOR_2 < THRESHOLD - 15¡×¤òËþ¤¿¤µ¤Ê¤«¤Ã¤¿¤é¡¢tacho¤Ï0¤Ë¥ê¥»¥Ã¥È¤µ¤ì¤ë¡£ ¤Ä¤Þ¤ê¡¢tacho > target¤È¤Ê¤ë¤Î¤Ï¡¢Ï¢Â³Åª¤Ë¡ÖSENSOR_2 < THRESHOLD - 15¡×¤òËþ¤¿¤·Â³¤±¤Æ¤¤¤ë(¤½¤Î¾ìº¸Àû²ó¤¬¡¢Ï¢Â³¤·¤Æµ¯¤³¤Ã¤Æ¤¤¤ë)¤È¤¤À¤± **¸òº¹ÅÀ¤Ë¤Ö¤Ä¤«¤Ã¤¿ºÝ¤ÎÆ°ºî [#iaee8719] ¡Ö¸òº¹ÅÀ¤´¤È¤ÎÆ°ºî¤òÊѤ¨¤ë¡×