Ìܼ¡ #contents *Mission3¤ÎÀâÌÀ [#offcc809] ¡¡º£²ó¤Î²ÝÂê¤Ï¡¢²ÝÂê2¤ÇÍѤ¤¤¿¥é¥¤¥ó¥È¥ì¡¼¥¹ÍѤλæ¤òŽ¤ê¹ç¤ï¤»¡¢¤½¤Î¾å¤ËÃÖ¤¤¤¿4¤Ä¤Î»æ¥³¥Ã¥×¤¦¤Á¡¢2¤Ä¤Î»æ¥³¥Ã¥×¤ËÆþ¤Ã¤Æ¤¤¤ë¡¢ÀÖ¤¤¥Ü¡¼¥ë¤ÈÀĤ¤¥Ü¡¼¥ë¤ò¥í¥Ü¥Ã¥È¤ÇÆþ¤ìÂؤ¨¤ë¤È¤¤¤¦¤â¤Î¤Ç¤·¤¿¡£¾Ü¤·¤¯¤Ï¤³¤Á¤é¤ò¤´Í÷¤¯¤À¤µ¤¤¡£¢ª http://yakushi.shinshu-u.ac.jp/robotics/?2014b%2FMission3 *ÅöÆü¤Þ¤Ç¤Îή¤ì [#y4dba375] **¡Á2·î4Æü [#qe3f457c] ¡¡¤Þ¤º¤Ï¥í¥Ü¥Ã¥È¤ò1Âæ¤Ë¤¹¤ë¤«2Âæ¤Ë¤¹¤ë¤«¤ÇǺ¤ß¤Þ¤·¤¿¡£Ïä·¹ç¤Ã¤¿·ë²Ì¡¢1Âæ¤Î¾ì¹ç¤è¤ê2Âæ¤Î¾ì¹ç¤Î¤Û¤¦¤¬¡¢2Âæ¤ÎÆ°ºî¤ò¤Ô¤Ã¤¿¤ê¹ç¤ï¤»¤ë¤³¤È¤¬½ÐÍè¤Ê¤¤¤È¤¤¤±¤Ê¤¤Ê¬¡¢¼ºÇÔ¤¹¤ë²ÄǽÀ¤¬¹â¤½¤¦¤À¤È¤¤¤¦»ö¤Ë¤Ê¤ê¡¢1Âæ¤ÎÂç·¿¥í¥Ü¥Ã¥È¤òºîÀ®¤¹¤ë¤³¤È¤Ë¤·¤Þ¤·¤¿¡£ ¡¡¤¿¤Àº£»×¤¤ÊÖ¤·¤Æ¤ß¤ë¤È1Âæ¤Î¾ì¹ç¤Ï¡¢ËÜÂΤ¬½Å¤¹¤®¤ÆÆ°ºî¤¬¤®¤³¤Á¤Ê¤¯¤Ê¤ê¡¢ÅÅ°Ì»ÄÎ̤ˤè¤êÂ礤¯Æ°¤¤¬ÊѲ½¤·¤Æ¤·¤Þ¤Ã¤¿¤Î¤Ç¡¢2Âæ¤Î¤Û¤¦¤¬°ÂÄêÀ¤¬¤¢¤Ã¤¿¤È»×¤¤¤Þ¤¹¡£ ¡¡¼¡¤Ë¤É¤Î¤è¤¦¤Ê¥í¥Ü¥Ã¥È¤Ë¤¹¤ë¤«¹½ÁÛ¤òÎý¤ê¤Þ¤·¤¿¡£»Ï¤á¤Ï¡¢¥Ü¡¼¥ë¤ÎÆþ¤Ã¤¿»æ¥³¥Ã¥×¤ò»ý¤Á¾å¤²¤Æ¡¢¤½¤Î¥Ü¡¼¥ë¤òÆþ¤ì¤ë»æ¥³¥Ã¥×¤Î¤È¤³¤í¤Þ¤Ç¹Ô¤¡¢»æ¥³¥Ã¥×¤ò·¹¤±¤Æ¥Ü¡¼¥ë¤òÆþ¤ì¤ë¤È¤¤¤¦¥í¥Ü¥Ã¥È¤ò¹Í¤¨¤Æ¤¤¤Þ¤·¤¿¡£ ¡¡¤·¤«¤·¤½¤ì¤Ç¤Ï¶õ¤Î»æ¥³¥Ã¥×¤â»È¤ï¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢°ÜÆ°µ÷Î¥¤¬±ä¤Ó¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢¤³¤Î¤è¤¦¤Ë¥¢¡¼¥à¤Ç»æ¥³¥Ã¥×¤ò»ý¤Á¾å¤²¡¢¥ì¡¼¥ë¤Ë4¤Ä¤Î¥Ü¡¼¥ë¤òί¤á¤ì¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£¤³¤¦¤¹¤ë¤³¤È¤Ç¡¢¶õ¤Î»æ¥³¥Ã¥×¤ò»È¤ï¤º¤ËºÑ¤à¤Î¤Ç¡¢°ÜÆ°µ÷Î¥¤òû¤¯¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£ ¡¡ËÜÂΤÎÁȤßΩ¤Æ¤ÏÅÓÃæ¤Þ¤Ç¤Ï½çÄ´¤Ë¿Ê¤ó¤À¤Î¤Ç¤¹¤¬¡¢¥¤¥ó¥Æ¥ê¥¸¥§¥ó¥È¥Ö¥í¥Ã¥¯NXT¤ò2¤Ä¼è¤êÉÕ¤±¤ë¾ì½ê¤¬¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¤¡¢¤³¤Î¤è¤¦¤Ë º¸±¦¤Ë¼è¤êÉÕ¤±¤ë¤³¤È¤Ë¤·¤Þ¤·¤¿¡£ ¡¡¤·¤«¤·º¸±¦¤Ë¼è¤êÉÕ¤±¤¿¤³¤È¤Ë¤è¤Ã¤Æ½Å¿´¤¬·¹¤¤¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡£¤³¤³¤Çľ¤·¤Æ¤ª¤±¤Ð¤Á¤ã¤ó¤È¿¿¤Ãľ¤°¿Ê¤à¥í¥Ü¥Ã¥È¤¬ºî¤ì¤¿¤Ï¤º¤À¤È»×¤¤¤Þ¤¹¡£ **2·î4Æü [#db46c338] ¡¡¥Æ¥¹¥È¤â½ª¤ï¤ê¡¢½¸¤Þ¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¤Î¤Ç¡¢ËܳÊŪ¤Ë¥×¥í¥°¥é¥à¤òºî¤ê»Ï¤á¤Þ¤·¤¿¡£¤³¤ÎÆü½Ð¤¿ÌäÂêÅÀ¤Ï¥¢¡¼¥à¤È°ÜÆ°¤ÎÆ°ºî¤Ç¤¹¡£ ¡¡¥¢¡¼¥à¤ÎÌäÂêÅÀ¤Ï¡¢Æ°ºî¤ÎÅÓÃæ¤Ç»æ¥³¥Ã¥×¤ä¾²¤Ê¤É¤Ë¡¢ÊѤ˰ú¤Ã¤«¤«¤Ã¤¿¤ê¤¹¤ë¤È¡¢¤½¤³¤ÇÆ°ºî¤¬´°Î»¤·¤Æ¤¤¤Ê¤¤¤³¤È¤Ë¤Ê¤ë¤Î¤Ç¡¢¼¡¤Î¥×¥í¥°¥é¥à¤Ë°ÜÆ°¤»¤º¤Ë»ß¤Þ¤Ã¤Æ¤·¤Þ¤¦»ö¤Ç¤¹¡£¤³¤ÎÌäÂê¤Ï¥¢¡¼¥à¤ÎÆ°ºî¤ò»þ´Ö¤ÇÄê¤á¤ë¤³¤È¤Ç¡¢°ú¤Ã¤«¤«¤Ã¤¿¾ì¹ç¤â»þ´Ö¤¬¤¿¤Æ¤Ð¤·¤Ã¤«¤êÆ°¤¯¤è¤¦¤Ë¤Ê¤ê²ò·è¤·¤Þ¤·¤¿¡£ ¡¡°ÜÆ°¤ÎÌäÂêÅÀ¤Ï¡¢Ä¶²»ÇÈ¥»¥ó¥µ¡¼¤ò»È¤Ã¤¿°ÜÆ°¤ËËè²ó¤º¤ì¤¬½Ð¤Æ¤·¤Þ¤¦¤È¤¤¤¦»ö¤Ç¤¹¡£»æ¥³¥Ã¥×¤Î20cm¼êÁ°¤Þ¤Ç¿Ê¤ßËÜÂΤ¬Àû²ó¤·¡¢¥¢¡¼¥à¤Î°ÌÃ֤ޤǻ楳¥Ã¥×¤ò»ý¤Ã¤Æ¤¤¿¤«¤Ã¤¿¤Î¤Ç¤¹¤¬¡¢¤É¤¦¤·¤Æ¤âËè²ó°ÌÃÖ¤¬¤º¤ì¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢¤³¤Î¤è¤¦¤Ë ¡¡¥í¥Ü¥Ã¥ÈËÜÂΤ«¤é»æ¥³¥Ã¥×¤Î°ÌÃÖ¤ò½¤Àµ¤¹¤ë¥Ñ¡¼¥Ä¤òºî¤ê¼è¤êÉÕ¤±¤Þ¤·¤¿¡£ **2·î5Æü [#q97bb4f6] ¡¡¤³¤ÎÆü¤ÏĶ²»ÇÈ¥»¥ó¥µ¡¼¤Î¥×¥í¥°¥é¥à¤Î½¤Àµ¡¢Ä¶²»ÇÈ¥»¥ó¥µ¡¼¤òÍѤ¤¤Ê¤¤°ÜÆ°¥×¥í¥°¥é¥à¤ÎºîÀ®¡¢¥¢¡¼¥à¡¢¥ì¡¼¥ë¤Î¥×¥í¥°¥é¥à¤Î²þÁ±¡¢¥ì¡¼¥ë¤«¤é¥Ü¡¼¥ë¤òÍî¤È¤¹ºÝ¤Î»æ¥³¥Ã¥×¤Î°ÌÃÖ¤ò½¤Àµ¤¹¤ë¥Ñ¡¼¥Ä¤Î¼è¤êÉÕ¤±¡¢2¤Ä¤Î¥¤¥ó¥Æ¥ê¥¸¥§¥ó¥È¥Ö¥í¥Ã¥¯NXT¤òBluetooth¤ÇÄÌ¿®¤Ç¤¤ë¤«¤Î³Îǧ¤ò¹Ô¤¤¤Þ¤·¤¿¡£ÆäËÌäÂêÅÀ¤Ï¤Ê¤¯¡¢¤³¤Î¤Þ¤Þ¥×¥í¥°¥é¥à¤ò¤Ä¤Ê¤²¤ì¤Ð¡¢¤¢¤È¤ÏºÙ¤«¤¤Ä´À°¤À¤±¤Ç¡¢¼ø¶ÈÁ°¤Ë¥í¥Ü¥Ã¥È¤¬´°À®¤¹¤ë¤È»×¤Ã¤Æ¤¤¤Þ¤·¤¿¡£ **2·î6Æü¡Á¼ø¶ÈľÁ° [#o9ab4d2e] ¡¡¸áÁ°Ãæ¤Ï¥×¥í¥°¥é¥à¤ÎºÙ¤«¤¤½¤Àµ¤ò¤·¤Æ¤¤¤Þ¤·¤¿¡£ ¡¡¤½¤·¤ÆÌäÂê¤Ï¸á¸å¤Ëµ¯¤³¤ê¤Þ¤·¤¿¡£ ºÇ½é¤Ï¤³¤Î¤è¤¦¤Ë¢ ºÇ½é¤Ë¤É¤Á¤é¤Înxc¤¬¥Þ¥¹¥¿¡¼¤«¥¹¥ì¥¤¥Ö¤«¤òÀßÄꤹ¤ë¡£ ¥Þ¥¹¥¿¡¼Â¦¤Î¥×¥í¥°¥é¥à(A¤È¤¹¤ë) #define CONN 1 // ¥¹¥ì¡¼¥Ö¤ÎÀܳÈÖ¹æ task main() { until (BluetoothStatus(CONN) == NO_ERR); //¥×¥í¥°¥é¥à RemoteStartProgram(CONN, "B.rxe"); } ¥¹¥ì¡¼¥Ö¦¤Î¥×¥í¥°¥é¥à(B¤È¤¹¤ë) #define CONN 0 // ¥¹¥ì¡¼¥Ö¤ÎÀܳÈÖ¹æ task main() { until (BluetoothStatus(CONN) == NO_ERR); //¥×¥í¥°¥é¥à RemoteStartProgram(CONN, "C.rxe"); } ¤³¤ì¤Ç¥Þ¥¹¥¿¡¼Â¦¤ÎC¤È¤¤¤¦¥×¥í¥°¥é¥à¤¬¼Â¹Ô¤µ¤ì¤ë ¤È¡¢¥¹¥ì¥¤¥Ö¦¤Î¥×¥í¥°¥é¥à¤«¤é¤â¥Þ¥¹¥¿¡¼Â¦¤Î¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤Ç¤¤ë¤È¹Í¤¨¤Æ¤¤¤Æ¡¢¸ò¸ß¤Ë¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤·¹ç¤¤¡¢¥¢¡¼¥à¡¦¥ì¡¼¥ë¤ÎÆ°¤¤È°ÜÆ°¤òϢư¤µ¤»¤è¤¦¤È¤·¤Æ¤¤¤Þ¤·¤¿¡£¤·¤«¤·¼ÂºÝ¤Ï¥¹¥ì¥¤¥Ö¦¤Î¥×¥í¥°¥é¥à¤«¤é¤Ï¥Þ¥¹¥¿¡¼Â¦¤Î¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤Ç¤¤º¡¢Â¾¤ÎÊýË¡¤ò¹Í¤¨¤Ê¤¯¤Æ¤Ï¤¤¤±¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£ ¡¡¤½¤Î»þ¤Ï¼ø¶È¤Þ¤Ç¤¢¤È2»þ´Ö¤È¤Ê¤Ã¤Æ¤¤¤¿¤Î¤Ç2¤Ä¤·¤«Âå°Æ¤¬»×¤¤¤Ä¤¤Þ¤»¤ó¤Ç¤·¤¿¡£¤½¤ì¤Ï ¡ÀâÌÀ½ñ¤Ë½ñ¤¤¤Æ¤¢¤Ã¤¿¥á¥Ã¥»¡¼¥¸¤Î¤ä¤ê¼è¤ê¤ò¤¹¤ë¥×¥í¥°¥é¥à¤ò¤¤¤¸¤Ã¤Æ¡¢¥¹¥ì¥¤¥Ö¦¤Î¥á¥Ã¥»¡¼¥¸¤ò¼õ¤±¼è¤Ã¤¿¤é¥Þ¥¹¥¿¡¼Â¦¤Î¥×¥í¥°¥é¥à¤òµ¯Æ°¤¹¤ë¤è¤¦¤Ë¤¹¤ë¡£ ¢¡Ö¥¢¡¼¥à¤ÎÆ°ºî¤¬´°Î»¤·¤¿¡á¥Ü¡¼¥ë¤¬¥ì¡¼¥ë¤Î¾å¤òÄ̤ë¡×¤È¤¤¤¦»ö¤Ê¤Î¤Ç¡¢¥ì¡¼¥ë¤Î¾å¤ËĶ²»ÇÈ¥»¥ó¥µ¡¼¤òÀßÃÖ¤·¡¢¥¹¥ì¥¤¥Ö¦¤Î¥×¥í¥°¥é¥à¤Ë¤è¤êÆ°¤¤¤¿¥¢¡¼¥à¤¬½¦¤Ã¤¿¥Ü¡¼¥ë¤¬¥ì¡¼¥ë¤Î¾å¤òÄ̤ë¤È¡¢Ä¶²»ÇÈ¥»¥ó¥µ¡¼¤¬È¿±þ¤·¡¢¥Þ¥¹¥¿¡¼Â¦¤Î¥×¥í¥°¥é¥à¤¬µ¯Æ°¤¹¤ë¤è¤¦¤Ë¤¹¤ë¡£ ¤È¤¤¤¦¤â¤Î¤Ç¤·¤¿¡£ Àû²ó¤«¤é¤Îľ¿Ê float GetAngle(float d) { const float diameter = 5.45; const float pi=3.1415; float ang =d/(diameter*pi)*360.0; return ang; } #define SPEED 50 task main() { int angle = GetAngle(20); RotateMotor(OUT_BC,-SPEED,angle); OnFwd(OUT_B,-SPEED); OnFwd(OUT_C,SPEED); Wait(1500); angle += GetAngle(30); RotateMotor(OUT_BC,SPEED,angle); } *¥í¥Ü¥Ã¥È¤Î¾Ò²ð [#h0b240db] *¥×¥í¥°¥é¥à¤ÎÀâÌÀ [#a520be4a] *¶ìÏ«¤·¤¿ÅÀ¤È¤½¤ì¤ËÂФ¹¤ëÂбþ [#me1dcb1c] *´¶ÁÛ [#j542c837] Ķ²»ÇÈ #define SPEED 50 #define SPEED_SLOW 30 #define count 3 #define sound PlaySound(SOUND_CLICK); task main() { int nOnline=0; //ºÇ½é¤Î¥×¥í¥°¥é¥à if(nOnline=0){//¥¢¡¼¥à¤Îºî¶È½ª¤ï¤ê if(SensorUS(S3)<count){ sound; Wait(10000); ¡¡¡¡¡¡¡¡¡¡¡¡ nOnline++; ¡¡¡¡¡¡¡¡¡¡¡¡//¤³¤Î¹Ô¤Ëback¤òÆþÎÏ } } else if(nOnline=1){//¥¢¡¼¥à¤Îºî¶È½ª¤ï¤ê¡¢¥Ü¡¼¥ë£´¤Ä¾è¤Ã¤Æ¤ë if(SensorUS(S3)<count){ sound; nOnline++; } } else if(nOnline=2){ //¤³¤Î¹Ô¤Ëback¤òÆþÎÏ¡¢¥Ü¡¼¥ë2¤Ä¤Ë¤Ê¤ë if(SensorUS(S3)<count){ sound; Wait(10000); nOnline++; } } else if(nOnline=3) //¤³¤Î¹Ô¤Ëback¤òÆþÎÏ }