Ìܼ¡
#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¤òÆþÎÏ
 }


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