#contents *²ÝÂê [#j496acd3] [[2019a/Mission2]] &ref(./2019a-mission2.png,60%); »ä¤Ï°Ê²¼¤Î¥ë¡¼¥È¤ÇÁö¹Ô¤¹¤ë¥í¥Ü¥Ã¥È¤òºîÀ®¤·¤¿¡£ AÃÏÅÀ¤«¤é½Ðȯ ¢ª B ¢ª C(ľ¿Ê) ¢ª D(°ì»þÄä»ß¤Î¸å¡¢Ä¾¿Ê) ¢ª E ¢ª F ¢ª G(°ì»þÄä»ß¤Î¸å¡¢±¦ÀÞ) ¢ª H ¢ª I ¢ª J(±¦ÀÞ) ¢ª K(º¸ÀÞ) ¢ª L(¥Ô¥ó¥Ý¥ó¶Ì¤ò¤Ä¤«¤à) ¢ª K(ľ¿Ê) ¢ª M(°ì»þÄä»ß) ¢ª ¥·¥å¡¼¥È¢ª AÃÏÅÀ¤ËÆþ¤ë(¥´¡¼¥ë) *¥í¥Ü¥Ã¥È¤Î¹½Â¤ [#kc253e0a] **¥í¥Ü¥Ã¥ÈÁ´ÂΤι½Â¤ [#r52dd6c8] ¥ì¥´¤Î¥¯¥é¥Õ¥È¥¬¥¤¥É¤ò»²¹Í¤Ë¥¿¥¤¥ä¤È¸÷¥»¥ó¥µ¡¼¤òÉÕ¤±¡¢¤½¤³¤Ë¥¢¡¼¥à¤ÎÉôʬ¤ò¼è¤êÉÕ¤±¤¿¡£ &ref(./image1.jpeg,40%); **¥¢¡¼¥à¤Î¹½Â¤ [#a7ffc8ff] ¥Ô¥ó¥Ý¥ó¶Ì¤ò¤¹¤¯¤¤¼è¤ë¤è¤¦¤Êµ¡¹½¤Ë¤·¤¿¡£¥Ô¥ó¥Ý¥ó¶Ì¤Þ¤Ç¿Ê¤ß¥¢¡¼¥à¤ò¾å¤²¤ë¤È¥Ô¥ó¥Ý¥ó¶Ì¤¬»ý¤Á¾å¤¬¤ë¡£ &ref(./image3.jpeg,60%); *¥×¥í¥°¥é¥àÆâÍÆ [#v7c13868] **¥é¥¤¥ó¥È¥ì¡¼¥¹¤ÎÊýË¡ [#na352db6] ¿Þ¤Î¤è¤¦¤Ë¸÷¥»¥ó¥µ¡¼¤Î¼è¤ëÃͤËÂФ¹¤ë¥í¥Ü¥Ã¥È¤ÎÆ°¤¤ò£µÃʳ¬¤Ëʬ¤±¤ë¤³¤È¤Ç¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤Ç¤¤ë¤è¤¦¤Ë¤·¤¿¡£ &ref(./hikari3.png,60%); **¸òº¹ÅÀ¤Ç¤Î»ß¤Þ¤êÊý [#r0a1c5c8] &ref(./hikari5,60%); &ref(./hikari5.png,60%); ¢¤è¤ê¤â¡¤ÎÊý¤¬Ä¹¤¤»þ´Ö¡¢Àþ¾å¤òÄ̤ë¤Î¤Ç¡¢¸÷¥»¥ó¥µ¡¼¤ÎÃͤ¬£³£¸¤ò¼è¤ë»þ´Ö¤¬°ìÄê°Ê¾å¤Ë¤Ê¤Ã¤¿¤é¥í¥Ü¥Ã¥È¤¬»ß¤Þ¤ë¤è¤¦¤Ë¤·¤¿¡£ **¡ôdefine[#lab1035a] ***£µÃʳ¬¤Ëʬ¤±¤¿¸÷¥»¥ó¥µ¡¼¤Î¼è¤ëÃÍ [#kf9da661] #define BLACKS 38 #define BLACK 45 #define THRESHOLD 53 #define WHITE 60 #define WHITES 68 ***¸÷¥»¥ó¥µ¡¼¤ËÂбþ¤·¤¿¥í¥Ü¥Ã¥È¤ÎÆ°¤ [#g27bc6bf] #define left_s OnFwd(OUT_A,20);OnRev(OUT_B,20); #define left OnFwd(OUT_A,20);Off(OUT_B); #define right_s OnFwd(OUT_B,20);OnRev(OUT_A,20); #define right OnFwd(OUT_B,20);Off(OUT_A); #define forward OnFwd(OUT_AB,20); **¥µ¥Ö¥ë¡¼¥Á¥ó [#wb67a32a] ***Àþ¤Îº¸Â¦¤ò¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë¥×¥í¥°¥é¥ß¥ó¥° [#x98e539a] sub follow_line_left() { SetSensorLight(S3); long t0=0,t1=0,time_max=2; while(t1-t0<time_max){ if(SENSOR_3<BLACKS){ t0=CurrentTick(); left_s;until(SENSOR_3<THRESHOLD); t1=CurrentTick(); }else if(SENSOR_3<BLACK){ left; }else if(SENSOR_3<THRESHOLD){ forward; }else if(SENSOR_3<WHITE){ right; }else if(SENSOR_3<WHITES){ right_s; } } Off(OUT_AB); Wait(1000); } ***Àþ¤Î±¦Â¦¤ò¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë¥×¥í¥°¥é¥ß¥ó¥° [#ja616424] sub follow_line_right() { SetSensorLight(S3); long t0=0,t1=0,time_max=2; while(t1-t0<time_max){ if(SENSOR_3<BLACKS){ t0=CurrentTick(); right_s; until(SENSOR_3<THRESHOLD); t1=CurrentTick(); }else if(SENSOR_3<BLACK){ right; }else if(SENSOR_3<THRESHOLD){ forward; }else if(SENSOR_3<WHITE){ left; }else if(SENSOR_3<WHITES){ left_s; } } Off(OUT_AB); Wait(1000); } **¥á¥¤¥ó¥×¥í¥°¥é¥à [#ne8b38c8] task main() { long t=1000; forward; Wait(1000);¡¡¡¡¡¡¡¡¡¡//A¤«¤é½Ð¤ë¡£ follow_line_left();¡¡ ¡¡¡¡¡¡//B¤«¤éC¤òÄ̤êD¤Ç»ß¤Þ¤ë¡£ forward; Wait(t);¡¡¡¡¡¡¡¡¡¡//D¤Î¸òº¹ÅÀ¤òÅϤ롣 follow_line_left();¡¡¡¡¡¡¡¡¡¡//D¤«¤éE¤òÄ̤êF¤Ç»ß¤Þ¤ë¡£ right; Wait(t);¡¡¡¡¡¡¡¡¡¡//G¤ÇÊý¸þž²ó¡£ follow_line_right();¡¡¡¡¡¡¡¡¡¡//G¤«¤éH¤Þ¤Ç°ÜÆ°¡£ repeat(2){ forward; Wait(t); follow_line_right(); }¡¡¡¡¡¡¡¡¡¡//H¤«¤éI¤òÄ̤êJ¤Ç»ß¤Þ¤ë¡£ right_s; Wait(t); follow_line_right();¡¡¡¡¡¡¡¡¡¡//J¤«¤éK¤Þ¤Ç°ÜÆ°¡£ left_s; Wait(t);¡¡¡¡¡¡¡¡¡¡¡¡//K¤ÇÊý¸þž´¹¡£ follow_line_left();¡¡¡¡¡¡¡¡¡¡¡¡//K¤«¤éL¤Ë°ÜÆ°¡£ OnRev(OUT_C,20); Wait(500);¡¡¡¡¡¡¡¡¡¡//¥Ü¡¼¥ë¤ò¤¹¤¯¤¤¼è¤ë¡£ left_s; Wait(4000);¡¡¡¡¡¡¡¡¡¡¡¡//L¤ÇÊý¸þž´¹¡£ follow_line_right();¡¡¡¡¡¡¡¡¡¡¡¡//L¤«¤éK¤Ë°ÜÆ°¡£ forward;¡¡¡¡¡¡¡¡¡¡ Wait(2000);¡¡¡¡¡¡¡¡¡¡//¸òº¹ÅÀ¤òÅϤ롣 follow_line_right();¡¡¡¡¡¡¡¡¡¡//K¤«¤éM¤Ë°ÜÆ°¡£ OnFwd(OUT_C,20); Wait(500); ¡¡¡¡¡¡¡¡¡¡//¥Ü¡¼¥ë¤ò²¼¤í¤¹¡£ OnRev(OUT_AB,20); Wait(500); OnFwd(OUT_AB,100); Wait(t);¡¡¡¡¡¡¡¡¡¡//¥·¥å¡¼¥È¡£ Off(OUT_AB);¡¡¡¡¡¡¡¡¡¡¡¡//Ää»ß¡£ } *È¿¾Ê¡¦´¶ÁÛ[#d7a75c1d] º£²ó¤Î²ÝÂê¤Ç¤Ï¥é¥¤¥ó¥È¥ì¡¼¥¹¡¢¸òº¹ÅÀ¤Ç»ß¤Þ¤ë¤Ê¤É¤ÎÅÀ¤ÇÁ°²ó¤Î²ÝÂ꣱¤ËÈæ¤Ù¤Æ¿¤¯¤ÎÅÀ¤ÇÆñ¤·¤µ¤ò´¶¤¸¤¿¡£º£²ó¤Î²ÝÂê¤Ç¿¤¯¤Î¥È¥é¥¤¡õ¥¨¥é¡¼¤ò·Ð¸³¤·¤¿¤³¤È¤ÇÌäÂê²ò·è¤ÎÎϤò¿¤Ð¤¹¤³¤È¤¬¤Ç¤¤¿¡£¤³¤Îº£²ó¿È¤Ë¤Ä¤±¤¿ÎϤò²ÝÂꣳ¤Ë³è¤«¤·¡¢¤è¤ê¤è¤¤¥í¥Ü¥Ã¥È¡¢¥×¥í¥°¥é¥à¤òºî¤í¤¦¤È»×¤Ã¤¿¡£