Ìܼ¡
¥í¥Ü¥Ã¥ÈËÜÂΤÏLEGO¤Îmindstorms education¤ÎÀâÌÀ½ñp2¡Áp23¤Ë»²¹Í¤ËÅÚÂæÉôʬ¤òºîÀ®¤·¤¿¡£LEGO¤Îmindstorms education¤ÎÀâÌÀ½ñp2¡Áp23¤ò¤½¤Î¤Þ¤Þ³èÍѤ¹¤ë¤ÈÉ®¤ÎÀßÃÖ¾ì½ê¤ä¤â¤¦°ì¤Ä¤Î¥â¡¼¥¿¡¼¤ÎÀßÃÖ¾ì½êÅù¤Î¥¹¥Ú¡¼¥¹¤ÎÌ̤Ǥ¦¤Þ¤¯¤¤¤«¤Ê¤«¤Ã¤¿¤Î¤Ç¥³¥ó¥Ô¥å¡¼¥¿¤ò¸å¤í¤ËΩ¤Æ¤ÆÀßÃÖ¤·¡¢¤½¤ÎÁ°Êý¤Ë°ÜÆ°¤¹¤ëÍÑÅÓÊ̤ËÉ®¤ò¾å¤²²¼¤²¤¹¤ëÍѤΥ⡼¥¿¡¼¤ò¼è¤êÉÕ¤±¡¢¥í¥Ü¥Ã¥È¤ÎÃæ¿´¤ËÉ®¤òÀßÃÖ¤·¤¿¡£¤³¤Î¤è¤¦¤Ë¤·¤Æ»æ¤Î¾å¤òÁö¤ê¤Ê¤¬¤é»ú¤ò½ñ¤¯¤È¤¤¤Ã¤¿¥â¡¼¥¿¡¼¤ÎÃæ¿´¤È¥Ú¥óÀ褬5.5ѤΥí¥Ü¥Ã¥È¤òÀ½ºî¤·¤¿¡£
»ä¤ÏÀµ³Î¤Ëµ÷Î¥¤ò°ÜÆ°¤µ¤»¤ë¤¿¤á¤Ë¥¿¥¤¥ä¤Îľ·Â¡¢±ß¼þΨ¡¢³ÑÅ٤η׻»¡¢³ÑÅÙ¤òÊÖ¤¹¤³¤È¤ÎÄêµÁ¤ò¹Ô¤¤´Ø¿ô¤È¤·¤¿¡£¤½¤·¤Æ¡¢¶Ê¤¬¤ë¾ì½ê¤Ë»öÁ°¤Ë²¿Éô֤Dz¿¼þ¤¹¤ë¤«Ä´¤Ù¤ë¤³¤È¤Ë¤è¤ê¶Ê¤¬¤ë³ÑÅÙ¤ò·×»»¤·¡¢¥×¥í¥°¥é¥à¤Ë½ñ¤¹þ¤ó¤À¡£
¡ûÄêµÁ¤·¤¿¥×¥í¥°¥é¥à
Ãí°Õ¡¡¤³¤Î¥×¥í¥°¥é¥à¤Ï1Éäò1000¤È¤·¤Æ¤¢¤é¤ï¤¹¡£
#define speed 50//¥â¡¼¥¿¡¼¤Î½ÐÎϤ¬50¡ó #define turn_time30 200//30Åٲ󞤹¤ë¤¿¤á¤Î»þ´Ö #define turn_time45 250//45Åٲ󞤹¤ë¤¿¤á¤Î»þ´Ö #define turn_time45A 270//AÃÏÅÀ¤Ç¤Î45Åٲ󞤹¤ë»þ´Ö #define turn_time90 520//90Åٲ󞤹¤ë¤¿¤á¤Î»þ´Ö #define turn_time90F 540//FÃÏÅÀ¤Ç90Åٲ󞤹¤ë¤¿¤á¤Î»þ´Ö #define turn_time90M 580//MÃÏÅÀ¤Ç90Åٲ󞤹¤ë¤¿¤á¤Î»þ´Ö #define turn_time100 600//100Åٲ󞤹¤ë¤¿¤á¤Î»þ´Ö #define turn_right30 OnRev(OUT_B,speed);OnFwd(OUT_C,speed);Wait(turn_time30);Off(OUT_BC);//±¦¤Ë30Åٲ󞤹¤ë #define turn_right45 OnRev(OUT_B,speed);OnFwd(OUT_C,speed);Wait(turn_time45);Off(OUT_BC);//±¦¤Ë45Åٲ󞤹¤ë #define turn_right90 OnRev(OUT_B,speed);OnFwd(OUT_C,speed);Wait(turn_time90);Off(OUT_BC);//±¦¤Ë90Åٲ󞤹¤ë #define turn_right90F OnRev(OUT_B,speed);OnFwd(OUT_C,speed);Wait(turn_time90F);Off(OUT_BC);//FÃÏÅÀ¤Ç±¦¤Ë90Åٲ󞤹¤ë #define turn_right100 OnRev(OUT_B,speed);OnFwd(OUT_C,speed);Wait(turn_time100);Off(OUT_BC);//±¦¤Ë100Åٲ󞤹¤ë #define turn_left30 OnRev(OUT_C,speed);OnFwd(OUT_B,speed);Wait(turn_time30);Off(OUT_BC);// º¸¤Ë30Åٲ󞤹¤ë #define turn_left45 OnRev(OUT_C,speed);OnFwd(OUT_B,speed);Wait(turn_time45);Off(OUT_BC);//º¸¤Ë45Åٲ󞤹¤ë #define turn_left45A¡¡OnRev(OUT_C,speed);OnFwd(OUT_B,speed);Wait(turn_time45A);Off(OUT_BC);//AÃÏÅÀº¸¤Ë45Åٲ󞤹¤ë #define turn_left90 OnRev(OUT_C,speed);OnFwd(OUT_B,speed);Wait(turn_time90);Off(OUT_BC);//º¸¤Ë90Åٲ󞤹¤ë #define turn_left90M OnRev(OUT_C,speed);OnFwd(OUT_B,speed);Wait(turn_time90M);Off(OUT_BC);//MÃÏÅÀ¤Çº¸¤Ë90Åٲ󞤹¤ë #define turn_left100 OnRev(OUT_C,speed);OnFwd(OUT_B,speed);Wait(turn_time100);Off(OUT_BC);//º¸¤Ë100Åٲ󞤹¤ë #define hurry_up Off(OUT_speed);OnRev(OUT_A,speed);Wait(200);Off(OUT_A);//¥Ú¥óÀè¤ò¤¢¤²¤ë #define hurry_down Off(OUT_BC);OnFwd(OUT_A,speed);Wait(200);Off(OUT_A);//¥Ú¥óÀè¤ò²¼¤²¤ë #define Let RotateMotor(OUT_BC,SP,angle);//angle¤ÎÃͤˤè¤êÁ°¿Ê¤·¤¿¤ê¡¢¸åÂष¤¿¤ê¤¹¤ë #define Advantage(t) angle+=GetAngle(t);Let;//angle¤ÎÃͤˣô¤È¤¤¤¦Ãͤò²Ã¤¨¤ë #define Return(t) angle-=GetAngle(t);Let;//angle¤ÎÃͤˣô¤È¤¤¤¦Ãͤò°ú¤¯
¡ûÀµ³Î¤Êµ÷Î¥¤òÁ°¿Ê¤·¤¿¤ê¡¢¸åÂह¤ë¤¿¤á¤Î¥×¥í¥°¥é¥à
float GetAngle(float d) { const float diameter=5.45;//¥¿¥¤¥ä¤Îľ·Â const float pi=3.1415;//±ß¼þΨ float ang=d/(diameter*pi)*360;//³ÑÅ٤η׻» return ang;//³ÑÅÙ¤òÊÖ¤¹ }
¡û¡Ö¶á¡×¤òÉÁ¤¯¥×¥í¥°¥é¥à
Ãí°Õ¡¡Advantage(¦Á¡Ë¤«Return(¦Â¡Ë;//point¡© ¡Üor¡Ý¿ô»ú
¤³¤ì¤Ï¿Þ¤Ë¤¢¤ë¡©¤Î¾ì½ê¤Ë¤¢¤ê¡¢¿ô»ú¤ÎѤÀ¤±Á°¿Ê¤·¤¿¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡£¤â¤·¡Ý¤Î¾ì¹ç¤Ï¸åÂष¤¿¤È¤¤¤³¤È¤Ç¤¢¤ë¡£
task main() { Wait(1000); int angle=GetAngle(4.5);//ºÇ½é¤Ë·è¤á¤ëÁ°¿Ê¤¹¤ëµ÷Î¥ hurry_up; turn_right45; hurry_down; Let; hurry_up; Advantage(1.0);//pointA+4.5 turn_left45A; Return(10.0);//pointB-5.5 hurry_down; Advantage(13.0);//pointC+7.5 hurry_up; Return(10.5);//pointA-3.0 turn_left90; Return(2.5);//pointD-5.5 hurry_down; Advantage(10.5);//pointE+5.0 hurry_up; Return(0.5);//pointF+4.5 turn_right90F; Return(12.0);//pointG-7.5 hurry_down; Advantage(16.5);//pointH+9.0 hurry_up; Return(4.5);//pointI+5.5¡¡¡Ö¶á¡×¤Î¡Ö¶Ô¡×Éôʬ´°À®
turn_left45; Return(25.0);//pointJ-19.5 hurry_down; Advantage(21.5);//pointK+2.0 hurry_up; Advantage(3.5);//pointL+5.5 turn_right45; Return(4.0);//pointM+1.5 turn_left90M; Return(7.0);//pointN-5.5 hurry_down; Advantage(7.0);//pointO+1.5 hurry_up; Advantage(5.0);//pointP+6.5 turn_right100; Return(12.0);//pointQ-5.5 hurry_down Advantage(15.5);//pointR+10.0 hurry_up; Return(4.5);//pointS+5.5 turn_left100; Return(11.0);//point-5.5 hurry_down; Advantage(17.5);//point+12.0 hurry_up; Off(OUT_ABC);//¡Ö¶á¡×´°À® }
̤´°À®¤Î¥×¥í¥°¥é¥à¤Ç½¬»ú¥í¥Ü¥Ã¥È¤òÆ°¤«¤·¤¿ºÝ¤Ë4¤Ä¤ÎÌäÂ꤬ȯÀ¸¤·¤¿¡£
¡¦¶Ê¤¬¤ë³ÑÅÙ¤¬ÅÓÃ椫¤éÊѲ½¤·¤Æ¤·¤Þ¤¦¤È¤¤¤¦¤â¤Î¤Ç¤¢¤ë¡£
¢ª»×¤Ã¤¿Ä̤ê¤Ë¶Ê¤¬¤é¤Ê¤¤¾ì½ê¤ò¤»¥Á¥§¥Ã¥¯¤·¡¢¤½¤³¤Î¥×¥í¥°¥é¥à¤òÊѹ¹¤·¤Æ¤¤¤¯¤·¤«¤Ê¤«¤Ã¤¿¡£¤³¤ÎºÝ¤Ë¤Ï¤Û¤È¤ó¤É¤Î¶Ê¤¬¤ë¾ì½ê¤ÇÊѤï¤Ã¤Æ¤·¤Þ¤Ã¤¿¤Î¤Ç¤«¤Ê¤ê¤Î»þ´Ö¤òÍפ·¤¿¡£
¡¦É®¤ò»æ¤Ë¤ª¤í¤¹»þ´Ö¤ò¹Í¤¨¤Ê¤«¤Ã¤¿¤¿¤á¤Ë°ìÉ®¤´¤È¤Ë¾¯¤·¤º¤Ä¼¡¤Î°ìÉ®¤Ø¤Î´Ö³Ö¤¬¹¤¬¤Ã¤Æ¤¤¤¯¤È¤¤¤¦¤â¤Î¤Ç¤¢¤ë¡£
¢ªÁ´ÂΤΤ¹¤¹¤àµ÷Î¥¤Î¥×¥í¥°¥é¥à¤òÊÑ´¹¤µ¤»¤ë¤³¤È¤Ë¤è¤Ã¤Æ²ò·è¤·¤¿¡£
¡¦É®¼«¿È¤Î¸ÇÄ꤬´Å¤¯¡¢É®¤¬º¸±¦Á°¸å¤Ë¤º¤ì¤ä¤¹¤¤¤È¤¤¤¦¤â¤Î¤Ç¤¢¤Ã¤¿¡£
¢ªÉôÉʤòÄɲä·¡¢»Ù¤¨¤ë¤³¤È¤Ç²ò·è¤·¤¿¡£¤³¤Î¤³¤È¤ò²¼¿Þ¤Ë¤ª¤¤¤ÆÀâÌÀ¤¹¤ë¤ÈÀÖ¿§¤Î±ß¤Ç°Ï¤Þ¤ì¤Æ¤¤¤ëÉôʬ¤¬º¸±¦¤ËÍɤì¤ë¤Î¤òÍÞ¤¨¡¢²«¿§¤Î±ß¤Ç°Ï¤Þ¤ì¤Æ¤¤¤ë Éôʬ¤¬Ê¸»ú¤ò½ñ¤¤¤Æ¤¤¤ëºÝ¤ËÁ°¿Ê¤¹¤ë¤Î¤ÇÉ®¤¬Á°Êý¸þ¤Ë·¹¤¤¤Æ¤·¤Þ¤¦¤½¤ì¤òËɤ°¤¿¤á¤â¤Î¤Ç¤¢¤ë¡£
¡¦¥í¥Ü¥Ã¥È¤òÆ°¤«¤¹¥â¡¼¥¿¡¼¤«¤éÉ®¤Þ¤Ç¤Îµ÷Î¥¤ò·×»»¤ËÆþ¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿¤¿¤á¤Ë»ú¤Î·Á¤¬ÂçÉý¤Ë¤º¤ì¤Æ¤·¤Þ¤Ã¤¿¤³¤È¤Ç¤¢¤ë¡£
¢ªÉ®¤ò½ñ¤¤¿¤¤¾ì½ê¤Ë¤¤¤¯¤è¤¦¤Ë²¼¤¬¤ë¤È¤¤¤¦¥×¥í¥°¥é¥à¤ò¤¹¤ë¤³¤È¤Ç²ò·è¤·¤¿¡£
¥í¥Ü¥Ã¥È¤È¥×¥í¥°¥é¥à¤Ë¤ª¤±¤ëÌäÂê¤ò²ò·è¤·¤Æ¤¤¤¡¢¡Ö¶á¡×¤Î»ú¤ò½ñ¤¯¤³¤È¤ËÄ©À路¤¿¤È¤³¤í²ò·èľ¸å¤Ï¡Ö¶á¡×¤Î»ú¤ò½ñ¤¯¤³¤È¤¬½ÐÍ褿¡£¤·¤«¤·¡¢½¬»ú¥í¥Ü¥Ã¥È¤Î¸ø³«¤ÎºÝ¤Ë²¼¿Þ¤Î¤è¤¦¤Ë¤¤ì¤¤¤Ë¡Ö¶á¡×¤Î»ú¤ò½ñ¤¯¤³¤È¤¬½ÐÍè¤Ê¤«¤Ã¤¿¡£¤³¤Î¤è¤¦¤Ë¤Ê¤Ã¤¿¸¶°ø¤Ë¤Ä¤¤¤Æ»ä¤Ï»°¤Ä¤Î¸¶°ø¤¬¤¢¤ë¤È¹Í¤¨¤ë¡£°ì¤ÄÌܤϻ䤬»î¸³¤Ç¹Ô¤Ã¤Æ¤¤¤¿»þ¤Î»æ¤ÈÃÏÌ̤ȸø³«¤¹¤ë»þ¤Î»æ¤ÈÃÏÌ̤¬°ã¤Ã¤¿¤È¤¤¤¦¤³¤È¤¬¤¢¤ë¡£¤³¤Î¤³¤È¤ÏË໤¤¬°ã¤¦¤³¤È¤Ë¤è¤ê¶Ê¤¬¤ë³ÑÅÙ¤¬°ã¤Ã¤¿¤Î¤Ç¤¢¤ë¡£Æó¤ÄÌܤ˻»þ¤Ë¹Ô¤Ã¤Æ¤¤¤¿»þ¤ÎÅÅ°µ¤È¸ø³«»þ¤ÎÅÅ°µ¤Î°ã¤¤¤Ç¤¢¤ë¡£¤³¤Î¤³¤È¤Ë¤è¤ê¡¢°ì¤ÄÌܤÈƱÍͤ˶ʤ¬¤ë³ÑÅÙ¤¬Â¤ê¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£»°¤ÄÌܤ˻æ¤Î¾å¤òÁö¤ê¤Ê¤¬¤é»ú¤ò½ñ¤¯¤È¤¤¤¦·ÁÂ֤Ǥ¢¤ë¡£¤³¤Î¤³¤È¤Ï»æ¤Î¾å¤òÁö¤ë¤³¤È¤Ë¤è¤ê¡¢»æ¤Î°ÌÃÖ¤¬ÃÏÌ̤«¤é¸«¤Æ¤º¤ì¤Æ¤·¤Þ¤¦¡£¤³¤ì¤Ï¶Ê¤¬¤ë³ÑÅ٤˱ƶÁ¤·¤Æ¤·¤Þ¤¦¡£¤Þ¤¿»æ¤À¤±Æ°¤¤¤Æ¤·¤Þ¤¤¿Ê¤à¤³¤È¤¬½ÐÍè¤Ê¤¤¤È¤¤¤¦»öÂ֤˴٤äƤ·¤Þ¤¦¡£¤³¤ì°Ê¾å¤Î¤³¤È¤Ë¤è¤êº£²óºî¤Ã¤¿¥í¥Ü¥Ã¥È¤Ç¤³¤ì¤«¤é¤â¹Ô¤¯¤È²¾Äꤷ¤¿¤éÁ°¿Ê¤ä¸åÂà¤Î¤è¤¦¤ËÉÿô¤Ç¤Ê¤¤´Ø¿ô¤Ç¶Ê¤¬¤ê¤«¤¿¤ò·èÄꤷ¡¢Áö¤ë¾ì½ê¤ÇÊѲ½¤·¤Ê¤¤¤³¤È¤ÈÅÅÃӤˤè¤ê¹ÔÆ°¤ÎÆâÍƤ¬ÊѤï¤é¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤³¤È¡£¿·¤¿¤Ê¥¢¥¤¥Ç¥¢¤Ç¥í¥Ü¥Ã¥È¤ò¹½ÃÛ¤·¤Æ¤¤¤¥×¥í¥°¥é¥à¤ò¿¤¯½ñ¤«¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤³¤È¤¬½ÅÍפǤ¢¤ë¡£
º£²ó½¬»ú¥í¥Ü¥Ã¥È¤òÀ½ºî¤·¤Æ»×¤Ã¤¿¤Î¤Ï¡¢¼«Ê¬¤Î¹Ô¤¤¤¿¤¤¤³¤È¤ò¥í¥Ü¥Ã¥È¤Ë¤µ¤»¤¿¤¤¤È¤¤Ë¤Ï¼«Ê¬¼«¿È¤Î¥¢¥¤¥Ç¥¢¤È´Ä¶¤ÎÊѲ½¤¬¾®¤µ¤¤¤È¤¤ËƱ¤¸¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤¬½ÐÍè¤ë¤³¤È¤¬½ÅÍפÀ¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡£»ä¤ÏÁ¡°Ý³ØÉôµ¡³£¡¦¥í¥Ü¥Ã¥È³Ø·Ï¤Ë½ê°¤·¤Æ¤ª¤ê¤³¤ì¤«¤é¥í¥Ü¥Ã¥È¤òºî¤Ã¤Æ¤¤¤¯µ¡²ñ¤Ï¤Û¤«¤Î¿Í¤ÈÈæ¤Ù¿¤¤¡£¤½¤ÎÃæ¤Ç¼«Ê¬¼«¿È¤Î¥¢¥¤¥Ç¥¢¤Ç¹Ô¤¤¤¿¤¤¹ÔÆ°¤ò¥¹¥à¡¼¥º¤«¤ÄºÇÄã¸Â¤Î¥¨¥Í¥ë¥®¡¼¤Ç¹Ô¤¦¤³¤È¤Ï½ÅÍפʲÝÂê¤È¤Ê¤ë¡£¤Þ¤¿º£²ó¤Î¥í¥Ü¥Ã¥È¤ÏË໤¤äÅÅÃӤʤɤÎÍ×°ø¤Ç¤¦¤Þ¤¯¤¤¤¯¤³¤È¤¬½ÐÍè¤Ê¤«¤Ã¤¿¡£¤³¤Î¤è¤¦¤Ê¤³¤È¤¬µ¯¤³¤Ã¤Æ¤·¤Þ¤Ã¤Æ¤Ï¥í¥Ü¥Ã¥È¤òÀ½ºî¤·¤¿°ÕÌ£¤¬¤Ê¤¯¤Ê¤ë¤«¤ÄÁ´¤¯¤È¸À¤Ã¤Æ¤¤¤¤¤Û¤É¤ËÌò¤ËΩ¤¿¤Ê¤¤¡£¤³¤Î¤³¤È¤«¤é¤É¤Î¤è¤¦¤Ë¤¹¤ì¤Ð¸úΨ¤è¤¯ÌÜŪ¤Î¹ÔÆ°¤¬½ÐÍè¤ë¤Î¤«¤È¤É¤Î¤è¤¦¤Ë¤¹¤ì¤Ð°ÂÄꤷ¤¿À®²Ì¤òÆÀ¤ë¤³¤È¤Î¤Ç¤¤ë¥×¥í¥°¥é¥à¤¬½ÐÍè¤ë¤Î¤«¹Í¤¨¤Æ¤¤¤¤¿¤¤¡£