»ä¤¿¤Á¤¬ºî¤Ã¤¿¥í¥Ü¥Ã¥È¤Ï¼ÖÂÎÉôʬ¤ÎÁ°Êý¤Ë¥¢¡¼¥àÉôʬ¤ò¼è¤êÉÕ¤±¤¿·Á¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£
¸åÎØÉôʬ¤Ë¤Ï¥¥ã¥¹¥¿¡¼¤òÍѤ¤¤Æ¥¹¥à¡¼¥º¤ËÁö¤ì¤ë¤è¤¦¤Ë¹©Éפ·¤¿¡£
¥é¥¤¥ó¥È¥ì¡¼¥µ¡¼¤ò¤Ç¤¤ë¤À¤±Ãæ¿´¤Ë¶á¤¤°ÌÃÖ¤ËÃ失¤ÆÂ礤¯Íɤµ¤Ö¤é¤ì¤Ê¤¤¤è¤¦¤Ë¤·¤¿¡£¤³¤Î¤³¤È¤Ë¤è¤ê¤µ¤é¤Ë³ê¤é¤«¤ËÁö¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£
¥¢¡¼¥à¤ÎÉôʬ¤Ï¶´¤à¤è¤¦¤Ê·Á¤Ç¤Ï¥â¡¼¥¿¡¼¤Î²óž®ÅÙ¤¬Â®¤¯¡¢°ÂÄꤷ¤Ê¤¤¤¿¤á°Ï¤¦·Á¤Ë¤·¤¿¡£²ó¤ë¼´¤Ë¤ò¤Ä¤±¤ë¤³¤È¤Ë¤è¤ê°Ï¤¤¤ò³«¤±¤ë¤ÈƱ»þ¤Ë¥Ü¡¼¥ë¤ò²¡¤·½Ð¤¹»ÅÁȤߤˤ·¤ÆºÇ¸å¤Î¥´¡¼¥ë¤Ë¥Ü¡¼¥ë¤òÆþ¤ì¤ë¤È¤¤Ë¥·¥å¡¼¥È¤¹¤ë¤è¤¦¤Ê¤«¤¿¤Á¤Ë¤·¤¿¡£°Ï¤à¤³¤È¤Ç¥Ü¡¼¥ë¤ò°ÜÆ°¤·¤Æ¤¤¤ëºÇÃæ¤âÍî¤È¤µ¤Ê¤¤¤è¤¦¤Ë¹©Éפ·¤¿¡£¥â¡¼¥¿¡¼¤ò»È¤Ã¤Æ¾å¤²²¼¤²¤ò¤·¤Æ¤¤¤ë¡£
¤³¤Î¤è¤¦¤Ë¥Ü¡¼¥ë¤ò°Ï¤à¤è¤¦¤Ë¤·¤¿¡£
º£²ó¤Î²ÝÂêÆâÍƤϥ饤¥ó¥È¥ì¡¼¥¹¥í¥Ü¥Ã¥È¤òºî¤ê¡¢²¼¤Î²èÁü¤Î¥³¡¼¥¹¤òÁö¤ë¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡£ ÅÓÃæ¤ÎP¡ÁQÃÏÅÀ¤Î¤É¤³¤«¤Ë¥Ü¡¼¥ë¤òÃÖ¤¤½¤Î¥Ü¡¼¥ë¤ò»ØÄꤵ¤ì¤¿¥´¡¼¥ë¤Þ¤Ç¤â¤Ã¤Æ¤¤¤¯¤È¤¤¤¦¤«¤È¤Ç¤·¤¿¡£
¥«¥¦¥ó¥¿¡¼¤ÇϢ³¤Ç¹õ¤À¤ÈȽÃǤ·¤¿¤é¸òº¹ÅÀ¤À¤ÈȽÃǤµ¤»¤¿¡£
#define BLACK 42 //°Ê²¼¤Ï¹õ #define WHITE 50 //°Ê¾å¤ÏÇò #define go_forward OnFwd(OUT_AC); //Á°¤Ø #define go_back OnRev(OUT_AC); //¸å¤í¤Ø #define turn_right OnRev(OUT_C); OnFwd(OUT_A); //±¦Àû²ó #define turn_left OnFwd(OUT_C); OnRev(OUT_A); //º¸Àû²ó #define STEP 1 // °ì²ó¤ÎȽÄê¤Ç¿Ê¤à»þ´Ö #define short_break Off(OUT_AC); Wait(200); // ¾®µÙ»ß #define CROSS_TIME 20 // ¸òº¹ÅÀÄ̲á¤Ë¤«¤«¤ë»þ´Ö #define cross_line go_forward;Wait(CROSS_TIME);short_break; //¸òº¹ÅÀ¤òÅϤë #define FIX_TIME 15 #define nMAX 8 #define clip_on OnFwd(OUT_B);Wait(10);Off(OUT_B); #define clip_off OnRev(OUT_B);Wait(10);Off(OUT_B); #define shoot go_back;Wait(50);go_forward;Wait(30);clip_off; //¥·¥å¡¼¥È
task main() { SetSensor(SENSOR_2, SENSOR_LIGHT); int nOnline=0; // ³¤±¤Æ¹õ¤Ë¤Ê¤Ã¤¿²ó¿ô (¥«¥¦¥ó¥¿) if (true) { //¹õ¤ò³¤±¤ÆnMAX²ó·«¤êÊÖ¤µ¤Ê¤¤´Ö¡¢Ä̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤¹¤ë while (nOnline <nMAX) { if (SENSOR_2 < BLACK){ // Àþ¾å¤Ê¤é turn_left; // º¸¤Ø nOnline++; //¥«¥¦¥ó¥¿Áý¤ä¤¹ } else { if (SENSOR_2 < WHITE){ // ¶³¦ÉÕ¶á¤Ê¤é go_forward; // ľ¿Ê } else { //Àþ¤«¤é³°¤ì¤ë turn_right; //±¦¤Ø } nOnline=0; //¥«¥¦¥ó¥¿¤ò¥ê¥»¥Ã¥È } Wait(STEP); } short_break; //¾®µÙ·Æ turn_right;Wait(FIX_TIME); //Êý¸þ±¦½¤Àµ clip_on; //Êáµå cross_line; //¸òº¹ÅÀ¤òÅϤë nOnline=0; //¥«¥¦¥ó¥¿¤ò¥ê¥»¥Ã¥È } if (true) { //¹õ¤ò³¤±¤ÆnMAX²ó·«¤êÊÖ¤µ¤Ê¤¤´Ö¡¢Ä̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤¹¤ë while (nOnline <nMAX) { if (SENSOR_2 < BLACK){ // Àþ¾å¤Ê¤é turn_left; // º¸¤Ø nOnline++; //¥«¥¦¥ó¥¿Áý¤ä¤¹ } else { if (SENSOR_2 < WHITE){ // ¶³¦ÉÕ¶á¤Ê¤é go_forward; // ľ¿Ê } else { //Àþ¤«¤é³°¤ì¤ì¤Ð turn_right; //±¦¤Ø } nOnline=0; //¥«¥¦¥ó¥¿¤ò¥ê¥»¥Ã¥È } Wait(STEP); } short_break; //¾®µÙ·Æ turn_right;Wait(FIX_TIME); //Êý¸þ½¤Àµ cross_line; //¸òº¹ÅÀ¤òÅϤë nOnline=0; //¥«¥¦¥ó¥¿¤ò¥ê¥»¥Ã¥È } if (true) { //¹õ¤ò³¤±¤ÆnMAX²ó·«¤êÊÖ¤µ¤Ê¤¤´Ö¡¢Ä̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤¹¤ë while (nOnline <nMAX) { if (SENSOR_2 < BLACK){ // Àþ¾å¤Ê¤é turn_left; // º¸¤Ø nOnline++; //¥«¥¦¥ó¥¿Áý¤ä¤¹ } else { if (SENSOR_2 < WHITE){ // ¶³¦ÉÕ¶á¤Ê¤é go_forward; // ľ¿Ê } else { //Àþ¤«¤é³°¤ì¤ì¤Ð turn_right; //±¦¤Ø } nOnline=0; //¥«¥¦¥ó¥¿¤ò¥ê¥»¥Ã¥È } Wait(STEP); } short_break; //¾®µÙ·Æ go_forward;Wait(100); //¥´¡¼¥ëÁ°¤Ø turn_right;Wait(80); //¸åÂà¡õÁ°¿Ê shoot; //¥·¥å¡¼¥È ¡¡Off(OUT_AC); //Ää»ß nOnline=0; //¥«¥¦¥ó¥¿¤ò¥ê¥»¥Ã¥È } }
¡#define BLACK 42 //°Ê²¼¤Ï¹õ ¢#define WHITE 50 //°Ê¾å¤ÏÇò £#define go_forward OnFwd(OUT_AC); //Á°¤Ø ¤#define go_back OnRev(OUT_AC); //¸å¤í¤Ø ¥#define turn_right OnRev(OUT_C); OnFwd(OUT_A); //±¦Àû²ó ¦#define turn_left OnFwd(OUT_C); OnRev(OUT_A); //º¸Àû²ó §#define STEP 1 // °ì²ó¤ÎȽÄê¤Ç¿Ê¤à»þ´Ö ¨#define short_break Off(OUT_AC); Wait(200); // ¾®µÙ»ß ©#define CROSS_TIME 20 // ¸òº¹ÅÀÄ̲á¤Ë¤«¤«¤ë»þ´Ö ª#define cross_line go_forward;Wait(CROSS_TIME);short_break; //¸òº¹ÅÀ¤òÅÏ¤ë «#define FIX_TIME 15 ¬#define nMAX 8 #define clip_on OnFwd(OUT_B);Wait(10);Off(OUT_B); ®#define clip_off OnRev(OUT_B);Wait(10);Off(OUT_B); ¯#define shoot go_back;Wait(50);go_forward;Wait(30);clip_off; //¥·¥å¡¼¥È
¡¹õ¿§¤ÈȽÃǤ¹¤ëÃͤÎÀßÄê¡£ ¢Çò¿§¤ÈȽÃǤ¹¤ëÃͤÎÀßÄê¡£ £Á°¿Ê¡£ ¤¸åÂà¡£ ¥»þ·×²ó¤ê¤ËÀû²ó¡£ ¦È¿»þ·×²ó¤ê¤ËÀû²ó¡£ §¥»¥ó¥µ¡¼¤ÎȽÃǤò1/100ÉäËÀßÄê¡£ ¨¸òº¹ÅÀ¤ÈȽÃǤ·¤¿»þ¤Î2ÉôÖÄä»ß¡£ ©¸òº¹ÅÀÄ̲á¤Ë¤«¤«¤ë»þ´Ö¤ÎÀßÄê¡£ ª¸òº¹ÅÀ¤òÅϤëÆ°ºî¡£ «¸òº¹ÅÀ¤ÈȽÃǤ·¤¿»þ¤ÎÊý¸þ½¤Àµ¤Î»þ´Ö¤ÎÀßÄê¡£ ¬¸òº¹ÅÀ¤ÈȽÃǤ¹¤ë¤¿¤á¤ÎϢ³²ó¿ô¤Î¾å¸ÂÀßÄê¡£ °Ï¤¤¤ò¾å¤²¤ëÆ°ºî¡£ ®°Ï¤¤¤ò²¼¤¹Æ°ºî¡£ ¯¸å¤í¤Ø²¼¤¬¤ê¡¢Á°¿Ê¤·¤ÆÀª¤¤¤ò¤Ä¤±¤Æ¤«¤é°Ï¤¤¤ò¾å¤²¤ë¤³¤È¤Ë¤è¤ê¥·¥å¡¼¥È¡£
http://www.youtube.com/watch?v=N1bcGyPMavc
º£²ó¤Î²ÝÂê¤Ç¤Ï¥×¥í¥°¥é¥ß¥ó¥°¤¬Æñ¤·¤¯¼êÅÁ¤Ã¤Æ¤â¤é¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£¤Ê¤Î¤Ç¡¢¼¡²ó¤Ï¤â¤Ã¤È´èÄ¥¤ê¤¿¤¤¤Ç¤¹¡£¥«¥¦¥ó¥¿¡¼¤Ç¸òº¹ÅÀ¤òȽÃǤ¹¤ë¤È¤³¤í¤Î¤ä¤êÊý¤¬Æñ¤·¤«¤Ã¤¿¤Ç¤¹¡£¥í¥Ü¥Ã¥È¤Î¹½Â¤¤Ê¤É¤âÂçÊѤǤ¤¤í¤¤¤í»î¹Ôºø¸í¤·¤Ê¤¬¤é´èÄ¥¤ì¤Þ¤·¤¿¡£¤â¤Ã¤È»È¤¤¤³¤Ê¤»¤ë¤è¤¦¤Ë¤·¤¿¤¤¤È»×¤Ã¤¿¡£