2019a/MemberÌܼ¡
²¼¤Î¿Þ¤Î¤è¤¦¤Ê¥³¡¼¥¹¤ò³Æ¥Á¡¼¥à¤ÇºîÀ®¤·¡¢¡Ö¥ß¥Ã¥·¥ç¥ó¡×¤ò¿ë¹Ô¤¹¤ë¤¿¤á¤Î¥í¥Ü¥Ã¥È¤òºîÀ®¤»¤è¡£
AÃÏÅÀ¤«¤é½Ðȯ ¢ª M ¢ª K(ľ¿Ê) ¢ª L(¥Ô¥ó¥Ý¥ó¶Ì¤ò¤Ä¤«¤à) ¢ª K(±¦ÀÞ) ¢ª J(°ì»þÄä»ß¤Î¸å¡¢º¸ÀÞ) ¢ª I(ľ¿Ê) ¢ª H(ľ¿Ê) ¢ª G(º¸ÀÞ) ¢ª F ¢ª E ¢ª D(°ì»þÄä»ß¤Î¸å¡¢Ä¾¿Ê) ¢ª C(ľ¿Ê) ¢ª B(°ì»þÄä»ß) ¢ª ¥·¥å¡¼¥È¢ª AÃÏÅÀ¤ËÆþ¤ë(¥´¡¼¥ë)
µÞ¤Ê¥«¡¼¥Ö¤Ç¤â¶Ê¤¬¤ì¤ë¤è¤¦¤Ëº¸±¦¤Î¼ÖÎؤÎÉý¤ò¶¹¤¯¤¿¡£
¼Ì¿¿¤Î¤è¤¦¤Ë1ËܤΥ¢¡¼¥à¤ò»È¤Ã¤Æ¡¢°ú¤Ã³Ý¤±¤ë´¶¤¸¤Ë¤·¤¿¡£
Ê̤Υ⡼¥¿¡¼¤ò»È¤Ã¤Æ¥¢¡¼¥à¤òÆ°¤«¤¹¤³¤È¤Ë¤·¤¿¡£
¸÷¥»¥ó¥µ¡¼¤òÃϾ夫¤é5Фˤ¹¤ë¤³¤È¤Ç¿§¤ÎȽÊ̤¬¤·¤ä¤¹¤¯¤Ê¤Ã¤¿¡£
¸òº¹ÅÀ¤Ç¤Ï¹õ¤¬Ï¢Â³¤¹¤ë»þ´Ö¤¬Ä̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤ËÈæ¤Ù¤ÆŤ¤¡£¤½¤Î¤¿¤á¡¢Ä̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤Ç¸÷¥»¥ó¥µ¡¼¤¬¹õ¤Î¾å¤Ë¤¤¤ë¤è¤êŤ¯¡¢¸÷¥»¥ó¥µ¡¼¤¬¸òº¹ÅÀ¤Ç¹õ¤Î¾å¤Ë¤¤¤ë»þ´Ö¤è¤êû¤¤»þ´Ö¤È¤·¤Æ0.3ÉäòÀßÄꤷ¡¢¸òº¹ÅÀ¾å¤Ç¥í¥Ü¥Ã¥È¤¬»ß¤Þ¤ë¤è¤¦¤Ë¤·¤¿¡£
#define RUN_TIME1 30 #define RUN_TIME_JIH 170 #define RUN_TIME_HGF 380 #define RUN_TIME_FE 180 #define RUN_TIME_DB 1000 #define turn_right OnFwd(OUT_A);OnRev(OUT_C); #define turn_left90 OnRev(OUT_A);OnFwd(OUT_C);Wait(100); #define turn_left OnRev(OUT_A);OnFwd(OUT_C);Wait(30); #define go_straight OnFwd(OUT_AC); #define turn180 OnRev(OUT_A);OnFwd(OUT_C);Wait(130); #define go_back OnRev(OUT_AC);
#define THRESHOLD 42 #define turn_left Off(OUT_A); OnFwd(OUT_C); #define turn_right OnFwd(OUT_A); Off(OUT_C); #define turn180 OnFwd(OUT_C);OnRev(OUT_A);Wait(190);Off(OUT_AC);//£±£¸£°ÅÙ²óž #define runtime 1450 #define runtime1 50 #define turn90 OnFwd(OUT_A);OnRev(OUT_C);Wait(100);Off(OUT_AC);//£¹£°ÅÙ²óž #define power(s) SetPower(OUT_B,s); //¥â¡¼¥¿¤Î¥Ñ¥ï¡¼¤ò£ó¤Ë¤¹¤ë #define STEP 1 // °ì²ó¤ÎȽÄê¤Ç¿Ê¤à»þ´Ö
¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤½¤ì¤¾¤ì¤Î¶è´Ö¤´¤È¤Ë»þ´ÖÆâ¤Ç·«¤êÊÖ¤¹¤è¤¦¤ËÀßÄꤷ¡¢ºÙ¤«¤¯Ê¬¤±¤Æ¤¢¤ê¤Þ¤¹¡£
sub across_turn() { SetSensor(SENSOR_2, SENSOR_LIGHT); ClearTimer(0); while (FastTimer(0) <= runtime) { if (SENSOR_2 < THRESHOLD){ // Àþ¾å¤Ê¤é turn_left; // º¸¤Ø } else { // Àþ¾å¤Ç¤Ê¤±¤ì¤Ð turn_right; // ±¦¤Ø } Wait(STEP); // STEP¤ÎÃÍ } }
sub across_turn1() { SetSensor(SENSOR_2, SENSOR_LIGHT); ClearTimer(0); while (FastTimer(0) <= runtime1) { if (SENSOR_2 < THRESHOLD){ // Àþ¾å¤Ê¤é turn_left; // º¸¤Ø } else { // Àþ¾å¤Ç¤Ê¤±¤ì¤Ð turn_right; // ±¦¤Ø } Wait(STEP); // STEP¤ÎÃÍ } }
sub line_trace1() //¸òº¹ÅÀ¤Ç»ß¤Þ¤ë¤Þ¤ÇÆ°¤Â³¤±¤ë¥×¥í¥°¥é¥à { SetSensor(SENSOR_2,SENSOR_LIGHT); ClearTimer(0); while ( FastTimer(0) <= RUN_TIME1 ) { if ( 48 < SENSOR_2 ){ OnFwd(OUT_A); Off(OUT_C);ClearTimer(0); //Çò¤Ê¤é±¦¤Ø } else if (45 <SENSOR_2 < 49) { Off(OUT_A); OnFwd(OUT_C); //³¥¿§¤Ê¤éº¸¤Ø } else { OnRev(OUT_A);OnFwd(OUT_C); //¹õ¤Ê¤é±¦¤ØÀû²ó } } Off(OUT_AC);Wait(100); }
sub line_trace_JIH() { SetSensor(SENSOR_2,SENSOR_LIGHT); ClearTimer(0); while ( FastTimer(0) <= RUN_TIME_JIH ) { if ( 48 < SENSOR_2 ){ OnFwd(OUT_A); Off(OUT_C); //Çò¤Ê¤é±¦¤Ø } else if (45 <SENSOR_2 < 49) { Off(OUT_A); OnFwd(OUT_C); //³¥¿§¤Ê¤éº¸¤Ø } else { OnRev(OUT_A);OnFwd(OUT_C); //¹õ¤Ê¤é±¦¤ØÀû²ó } } turn_right;Wait(22);OnFwd(OUT_AC);Wait(15); }
sub line_trace_HGF() { SetSensor(SENSOR_2,SENSOR_LIGHT); ClearTimer(0); while ( FastTimer(0) <= RUN_TIME_HGF ) { if ( 48 < SENSOR_2 ){ OnFwd(OUT_A); Off(OUT_C); //Çò¤Ê¤é±¦¤Ø } else if (45 <SENSOR_2 < 49) { Off(OUT_A); OnFwd(OUT_C); //³¥¿§¤Ê¤éº¸¤Ø } else { OnRev(OUT_A);OnFwd(OUT_C); //¹õ¤Ê¤é±¦¤ØÀû²ó } } }
sub line_trace_FE() { SetSensor(SENSOR_2,SENSOR_LIGHT); ClearTimer(0); while ( FastTimer(0) <= RUN_TIME_FE ) { if ( 48 < SENSOR_2 ){ OnFwd(OUT_A); Off(OUT_C); //Çò¤Ê¤é±¦¤Ø } else if (45 <SENSOR_2 < 49) { Off(OUT_A); OnFwd(OUT_C); //³¥¿§¤Ê¤éº¸¤Ø } else { OnRev(OUT_A);OnFwd(OUT_C); //¹õ¤Ê¤é±¦¤ØÀû²ó } } }
sub line_trace_DB() { SetSensor(SENSOR_2,SENSOR_LIGHT); ClearTimer(0); while ( FastTimer(0) <= RUN_TIME_DB ) { if ( 48 < SENSOR_2 ){ OnFwd(OUT_A); Off(OUT_C); //Çò¤Ê¤é±¦¤Ø } else if (45 <SENSOR_2 < 49) { Off(OUT_A); OnFwd(OUT_C); //³¥¿§¤Ê¤éº¸¤Ø } else { OnRev(OUT_A);OnFwd(OUT_C); //¹õ¤Ê¤é±¦¤ØÀû²ó } } }
task main(){ across_turn(); turn180; OnFwd(OUT_B); power(0);//¤æ¤Ã¤¯¤ê¥Ü¡¼¥ë¤òÄϤà Wait(25); Off(OUT_B); across_turn1(); turn90; Off(OUT_AC); line_trace1(); //k¤«¤é½Ðȯ line_trace_JIH(); //J¤«¤éI line_trace_JIH(); //I¤«¤éH line_trace_HGF(); //H¤«¤éF turn_left90; //F¤Çº¸90ÅÙÀû²ó line_trace_FE(); //F¤«¤éE turn_left; //E¤Çº¸Àû²ó(90Åٰʲ¼) line_trace1(); //E¤«¤éD¤Þ¤Ç¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¸å¡¢°ì»þÄä»ß turn_right;Wait(25); //D¤Çº¸¤Ø·¹¤¤¤¿Ê¬¡¢±¦¤Ë¶Ê¤¬¤Ã¤Æ°ÌÃÖÄ´À° line_trace_DB(); //D¤«¤éB turn180; //180ÅÙÀû²ó OnRev(OUT_B); //¥¢¡¼¥àŸ³« power(0); Wait(25); Off(OUT_B); go_straight; //¥Ü¡¼¥ë¤«¤éÎ¥¤ì¤ë Wait(100); OnFwd(OUT_B); //¥¢¡¼¥à¤òÊĤ¸¤ë power(0); Wait(25); go_back; //¸å¤í¤Ë²¼¤¬¤Ã¤Æ°ÌÃÖÄ´À° Wait(55); OnFwd(OUT_B); Wait(10); //¥Ü¡¼¥ë¤ò¥¢¡¼¥à¤ÇÃƤ¤¤ÆA¤Ë¥·¥å¡¼¥È
}
¥é¥¤¥ó¥È¥ì¡¼¥¹¤ÎÆ°¤¤ÏÀµ³Î¤«¤Ä¥¹¥à¡¼¥º¤ËÆ°¤¤¤¿¡£¥·¥å¡¼¥È¤Ç¤Ï¡¢¥Ô¥ó¥Ý¥ó¶Ì¤¬¾å¼ê¤ËÀŻߤ¹¤ë¤³¤È¤¬Æñ¤·¤¯¥·¥å¡¼¥È¤¬½ÐÍè¤Ê¤¤¤³¤È¤¬¤¿¤À¤¢¤Ã¤¿¡£
Á°²ó¤ËÈæ¤Ù¤Æ¥×¥í¥°¥é¥à¤ò½ñ¤¯Î̤¬Â¿¤«¤Ã¤¿¤¿¤á¡¢¥µ¥Ö¥ë¡¼¥Á¥ó¤ÎÍøÅÀ¤òÃΤ뤳¤È¤¬½ÐÍ褿¡£º£²ó¤Î¥í¥Ü¥Ã¥È¤Ï¶Ê¤¬¤ê¤ä¤¹¤¯¤¹¤ë¤¿¤á¤Ë¥¿¥¤¥ä¤òÆóÎؤ⤷¤¯¤Ï»°Îؤˤ¹¤ë¤Ù¤¤À¤Ã¤¿¡£¤·¤«¤·¡¢»ä¤¿¤Á¤Ï¥¿¥¤¥ä¤È¤ÎÉý¤ò¾®¤µ¤¯¤¹¤ë¤³¤È¤ÇµÞ¤Ê¥«¡¼¥Ö¤ò¤¦¤Þ¤¯Ä̲᤹¤ë¤¿¤á¤ÎÌäÂê¤ò²ò·è¤¹¤³¤È¤¬½ÐÍ褿¡£