[[2009a]] *Ìܼ¡ [#q3f2648a] #contents *²ÝÂꣲ¡¡¡¡¹õÀþ¤Ë±è¤Ã¤ÆÆ°¤¯¥í¥Ü¥Ã¥È¤òºî¤ì [#ic3f77d1] ¹õ¤¤Àþ¤Î¾å¤Ë±è¤Ã¤ÆÆ°¤¸òº¹ÅÀ¤Ë¤¢¤ëµíÆý¥Ñ¥Ã¥¯¤ò±¿¤Ö¡¢Èò¤±¤ë¥×¥í¥°¥é¥à¡¢¸òº¹ÅÀ¤´¤È¤Ë±¦º¸ÀÞ¤òÊѤ¨¤ë¥×¥í¥°¥é¥à¤òºî¤ë¡£ ¥³¡¼¥¹¤Ç¤¹¡£ &ref(200906191625000.jpg); **¥í¥Ü¥Ã¥È¤Î¹©É× [#w1f7258d] ¡¦¥¢¡¼¥à¤ÇµíÆý¥Ñ¥Ã¥¯¤ò¤Ï¤µ¤ß¡¢ÄϤó¤Ç¤â¤Ã¤Æ¤¤¤¯¥í¥Ü¥Ã¥È...¤ó¤Ê¤à¤Á¤ã¤Ê...¤Ç¤â¡¢¤¢¤¨¤Æ¤½¤³¤ò¹Ô¤¯¡£ ¡¥¿¥Ã¥Á¥»¥ó¥µ¡¼¤È¥¢¡¼¥à¤ÎξΩ¡¡¢½Å¿´ÌäÂê¤Î²ò·è¡¡£¥¢¡¼¥à¤Î¸ÇÄê ¤¬²ÝÂê ¡ºÇ½é¤Ï¥¢¡¼¥à¤È¥»¥ó¥µ¤òÊÌ¡¹¤Ë¤Ä¤¯¤Ã¤Æ¤¤¤¿¤¬¡¢¤¦¤ÞÁȤ߹ç¤Ê¤«¤Ã¤¿ ¤½¤³¤Ç¡¢ &ref(200906261752000.jpg); ¥¢¡¼¥à¤È¥»¥ó¥µ¡¼¤ò°ì¤Ä¤Î¥æ¥Ë¥Ã¥È¤Ë¤·¤ÆÀ©ºî¡£¥¢¡¼¥à¤Ë¥»¥ó¥µ¡¼¤È¥â¡¼¥¿¡¼¤ò¼è¤êÉÕ¤±¤ë·Á¤Ë¡Ê¤«¤Ê¤ê´è¾æ¤Ç¤¹¡Ë ¢½Å¤¤¥æ¥Ë¥Ã¥È¤òÀµÌ̤˼è¤êÉÕ¤±...¤è¤¦¤È¤·¤¿¤¬¡¢½Å¿´¤¬Á°¤¹¤®¤Æ¥¬¥¯¥¬¥¯¤·¡¢¥»¥ó¥µ¡¼¤¬¸íºîÆ° ¤½¤³¤Ç¡¢ &ref(200906261751001.jpg); ËÜÂÎ¥æ¥Ë¥Ã¥È¤ò¸åÊý¤Ø°ÜÆ°¡¢½Å¿´¤ò¥í¥Ü¥Ã¥È¤ÎÃæ¿´¤Ø £¥¢¡¼¥à¤Î¸ÇÄê¤Ï¼Â¤Ï¤â¤Ã¤È¤âÆñ¤·¤¤²ÝÂê¡Ê¥¢¡¼¥à¤¬½Å¤¹¤®¤ë¡Ë ¤½¤³¤Ç¡¢ &ref(200906261751000.jpg); ²¼¤È¾å¤Ë¤Î£²¥«½ê¤Ç¸ÇÄꤷ¡¢¥¢¡¼¥à¤ò¿âľ¤ËÊÝ»ý **¥×¥í¥°¥é¥à¤Î¹©É× [#afe17489] ¡¦¹õÀþ¤ò£²¤Ä¤Î¥»¥ó¥µ¡¼¤Ç¤Ï¤µ¤ß¡¢¥»¥ó¥µ¡¼¤¬¹õÀþ¤Î¾å¤ËÍ褿¤é¥â¡¼¥¿¡¼¤òÄ´Àᤷ¤Æµ°Æ»¤òľ¤·¤Þ¤¹¡£ ***µíÆý¥Ñ¥Ã¥¯¤ò¼¡¤Î¸òº¹ÅÀ¤Þ¤Ç±¿¤Ö¥×¥í¥°¥é¥à(¤Ï¤ä¤Ö¤µ) [#h854a0b5] int turn_n ;//¸òº¹ÅÀ¤ò²£Àڤ俲ó¿ô¤ÎÊÑ¿ô¤òÄêµÁ task main() { turn_n == 0 ; SetSensor(SENSOR_2,SENSOR_TOUCH); SetSensor(SENSOR_1, SENSOR_LIGHT); SetSensor(SENSOR_3, SENSOR_LIGHT); while(turn_n < 7 )//¸òº¹ÅÀ¤ò²£Àڤ俲ó¿ô¤¬£·²ó¤è¤ê¾¯¤Ê¤¤´Ö·«¤êÊÖ¤¹ { if ((SENSOR_1 < 50 ) && (SENSOR_3 > 50 ))//º¸¤Î¤ß¹õ¤¤¾ì¹ç±¦¤Ë²óž { OnRev(OUT_A); OnFwd(OUT_C); } if ((SENSOR_3 < 50 ) && (SENSOR_1 > 50 ))//±¦¤Î¤ß¹õ¤¤¾ì¹çº¸¤Ë²óž { OnFwd(OUT_A); OnRev(OUT_C); } if ((SENSOR_1 > 50 ) && (SENSOR_3 > 50 ))//ξÊýÇò¤¤¾ì¹çÁ°¿Ê { OnFwd(OUT_A+OUT_C); } if ((SENSOR_1 < 50 ) && (SENSOR_3 < 50 ))//ξÊý¹õ¤¤¾ì¹ç0.5ÉôÖÁ°¿Ê¤·¸òº¹ÅÀ¤ò²£Àڤ俲ó¿ô¤ò°ì²óÁý¤ä¤¹ { OnFwd(OUT_A+OUT_C); Wait(50); turn_n += 1 ; } if (SENSOR_2 == 1 )//¥¿¥Ã¥Á¥»¥ó¥µ¤¬È¿±þ¤·¤Þ¤·¤¿ { Off(OUT_A+OUT_C);//°ìÅÙÄä»ß OnRev(OUT_B);//¥Ñ¥Ã¥¯¤ò¤Ä¤«¤à Wait(100); OnFwd(OUT_A+OUT_C);//¸òº¹ÅÀ¤òÄ̤ê²á¤®¤ë Wait(100); while ((SENSOR_1 > 50 ) || (SENSOR_3 > 50 ))//¼¡¤Î¸òº¹ÅÀ¤Þ¤Ç¤Î´ÖºÆ¤Ó¥é¥¤¥ó¥È¥ì¡¼¥¹ { if ((SENSOR_1 < 50 ) && (SENSOR_3 > 50 )) { OnRev(OUT_A); OnFwd(OUT_C); } if ((SENSOR_3 < 50 ) && (SENSOR_1 > 50 )) { OnFwd(OUT_A); OnRev(OUT_C); } if ((SENSOR_1 > 50 ) && (SENSOR_3 > 50 )) { OnFwd(OUT_A+OUT_C); } } OnFwd(OUT_A+OUT_C);//¤Þ¤º¤Ï¾¯¤·Ä̤ê²á¤®¤ë Wait(200); OnFwd(OUT_A);//²óž¤·¤Æ¸å¤í¤ò¸þ¤¯ OnRev(OUT_C); Wait(150); Off(OUT_A+OUT_C); OnFwd(OUT_B);//¥Ñ¥Ã¥¯¤òÊü¤¹ Wait(100); Off(OUT_B); Wait(100); OnRev(OUT_A+OUT_C);//¾¯¤·²¼¤¬¤ë Wait(100); OnFwd(OUT_A);//ºÆ¤ÓÁ°¤ò¸þ¤¯ OnRev(OUT_C); Wait(150); OnRev(OUT_A+OUT_C);//¾¯¤·²¼¤¬¤ë Wait(100); turn_n += 1 ;//¸òº¹ÅÀ¤ò²£Àڤ俲ó¿ô¤Ë£±²Ã¤¨¤ë } } Off(OUT_A+OUT_B+OUT_C);//Á´Ää»ß } ***µíÆý¥Ñ¥Ã¥¯¤òÈò¤±¤Æ¿Ê¤à¥×¥í¥°¥é¥à(¥¹¥¬) [#w40a17eb] #define THRESHOLD 40 int count; task main() { SetSensor(SENSOR_1,SENSOR_LIGHT);¡¡¡¡¡¡¡¡¡¡//¥»¥ó¥µ¡Ý£±¤Ï¸÷¥»¥ó¥µ¡¼ SetSensor(SENSOR_3,SENSOR_LIGHT);¡¡¡¡¡¡¡¡¡¡//¥»¥ó¥µ¡Ý£³¤Ï¸÷¥»¥ó¥µ¡¼ SetSensor(SENSOR_2,SENSOR_TOUCH);¡¡¡¡¡¡¡¡¡¡//¥»¥ó¥µ¡Ý£²¤Ï¥¿¥Ã¥Á¥»¥ó¥µ¡¼ count = 0; while (count>5) ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//5²ó°Ê²¼¤Î¤È¤·«¤êÊÖ¤¹¡¡¡¡ { if ((SENSOR_1>THRESHOLD) && (SENSOR_3>THRESHOLD)) { OnFwd(OUT_A+OUT_C);¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//£²¤Ä¤Î¥»¥ó¥µ¡¼¤¬Çò¤Ê¤éľ¿Ê until((SENSOR_1 < THRESHOLD) || (SENSOR_3 < THRESHOLD)); } { if ((SENSOR_1<THRESHOLD) && (SENSOR_3<THRESHOLD)) { count = count+1; OnFwd(OUT_A+OUT_C);¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//£²¤Ä¤Î¥»¥ó¥µ¡¼¤¬¹õ¤Ê¤éľ¿Ê until((SENSOR_1 < THRESHOLD) || (SENSOR_3 < THRESHOLD)); } if (SENSOR_1<THRESHOLD) {¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¥»¥ó¥µ¡¼£±¤¬¹õ¤Î»þ¤Ïº¸¤Ë½¤Àµ OnFwd(OUT_C); Off(OUT_A); Wait(1); } if (SENSOR_3<THRESHOLD) {¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¥»¥ó¥µ¡¼£³¤¬¹õ¤Î»þ¤Ï±¦¤Ë½¤Àµ OnFwd(OUT_A); Off(OUT_C); Wait(1); } if (SENSOR_2==1) { ¡¡¡¡¡¡¡¡ //¾ã³²Êª¤Ë¤¢¤¿¤Ã¤¿¤é±ª²ó¤·¤Æ¾ã³²Êª¤òÈò¤±¤ë OnRev(OUT_A+OUT_C);¡¡¡¡¡¡¡¡¡¡¡¡//¥Ð¥Ã¥¯¤·¤Þ¤¹ Wait(200); OnFwd(OUT_A);OnRev(OUT_C); //Êý¸þž´¹¤·¤Þ¤¹ Wait(100); OnFwd(OUT_A+OUT_C); Wait(150); OnFwd(OUT_C);OnRev(OUT_A); ¡¡¡¡¡¡¡¡¡¡//Êý¸þž´¹¤·¤Þ¤¹ Wait(100); OnFwd(OUT_A+OUT_C); Wait(200); OnFwd(OUT_C);OnRev(OUT_A); ¡¡¡¡¡¡¡¡//Êý¸þž´¹¤·¤Þ¤¹ Wait(100); OnFwd(OUT_A+OUT_C); Wait(150); OnFwd(OUT_A);OnRev(OUT_C); ¡¡¡¡¡¡¡¡//¥³¡¼¥¹¾å¤ËÌá¤ê¤Þ¤·¤¿ Wait(100);¡¡¡¡¡¡¡¡ } } } } ***¸òº¹ÅÀ¤´¤È¤Ë±¦º¸ÀÞ¤òÊѤ¨¤ë¥×¥í¥°¥é¥à(¾¾) [#fe2e9077] #define RUN_TIME 1200 task main() { SetSensor(SENSOR_1,SENSOR_LIGHT);¡¡¡¡ //¥»¥ó¥µ¡Ý£±¤Ï¥é¥¤¥È SetSensor(SENSOR_3,SENSOR_LIGHT);¡¡¡¡ //¥»¥ó¥µ¡Ý£³¤â¥é¥¤¥È SetSensor(SENSOR_2,SENSOR_TOUCH);¡¡¡¡ //¥»¥ó¥µ¡¼£²¤Ï¥¿¥Ã¥Á while(true)¡¡¡¡¡¡//¥á¥¤¥ó¤Î¥×¥í¥°¥é¥à { start follow_line; until((SENSOR_1>=£´0)&&(SENSOR_3<=30)) stop follow_line; start turn_right; stop turn_right; start follow_line; until((SENSOR_1<=30)&&(SENSOR_3>=40)) start turn_left; stop turn_left; } } task follow_line()¡¡¡¡¡¡//¥é¥¤¥ó¥È¥ì¡¼¥¹¤Î¥×¥í¥°¥é¥à { while(true) { if((SENSOR_1>=40)&&(SENSOR_3>=40))¡¡¡¡¡¡//¥»¥ó¥µ¡¼£±¡¢£³¤¬Çò¤Ê¤éÁ°¿Ê { OnFwd(OUT_A+OUT_C); } else if((SENSOR_1>=40)&&(SENSOR_3<=30))¡¡¡¡¡¡//¥»¥ó¥µ¡¼£³¤¬¹õ¤Ê¤é±¦¤Ø { OnFwd(OUT_A); OnRev(OUT_C); } else if((SENSOR_1<=30)&&(SENSOR_3>=40))¡¡¡¡¡¡//¥»¥ó¥µ¡¼£±¤¬¹õ¤Ê¤éº¸¤Ø { OnRev(OUT_A); OnFwd(OUT_C); } Wait(1); } } task turn_right()¡¡¡¡¡¡//±¦²ó¤ê¤Î¥×¥í¥°¥é¥à { OnFwd(OUT_A); OnRev(OUT_C); Wait(60); Wait(1); } task turn_left()¡¡¡¡¡¡//º¸²ó¤ê¤Î¥×¥í¥°¥é¥à { OnFwd(OUT_C); OnRev(OUT_A); Wait(60); Wait(1); } **´¶ÁÛ [#n184a3cc] Æñ¤·¤«¤Ã¤¿¤Ç¤¹¡£ ¥³¡¼¥¹¤Î¥«¡¼¥Ö¤¬¤¤Ä¤¤»þ¤Ë¥³¡¼¥¹¤«¤é³°¤ì¤ë¤³¤È¤â¤·¤Ð¤·¤Ð¤¢¤ê¤Þ¤·¤¿¡£ ¸òº¹ÅÀ¤Ç¡¢²ó¤ê¤¹¤®¤ë¤³¤È¤â¤·¤Ð¤·¤Ð¤¢¤ê¤Þ¤·¤¿¡£¥¿¥¤¥à¤ÎÂŶ¨ÅÀ¤ò¸«¤Ä¤±¤ë¤Î¤¬ÂçÊѤǤ·¤¿¡£ **¥³¥á¥ó¥È [#h6ba1c68] ¥³¥á¥ó¥È¤ò¤ª´ê¤¤¤·¤Þ¤¹¡£ - ¡Ê¼Ì¿¿¤¤¤ì¤Æ¡Ë¤Ë¼Ì¿¿¤òÆþ¤ì¤Æ¤¯¤À¤µ¤¤¡Ê¾Ð¡Ë¡£¥×¥í¥°¥é¥à¤Ë¡¢¥¤¥ó¥Ç¥ó¥È¡Êif¤Ê¤É¤Î³¬Áؤ´¤È¤Ë¹Ô¤¦»ú²¼¤²¡¢º¸±¦ÀÞ¤ÎÊý¤Ë¤ÏÆþ¤Ã¤Æ¤¤¤Þ¤¹¡Ë¤òÆþ¤ì¤Æ¤â¤é¤¦¤È¡¢¸«¤ä¤¹¤¤¤Ç¤¹¡£¤Þ¤¿¡¢if¤Ç¥»¥ó¥µ¡¼¤ÎÈ¿±þ¤òȽÊ̤·¤Æ¤¤¤ë¤È¤³¤í¤ò¡¢¥»¥ó¥µ¡¼¤¬Çò¤«¹õ¤«¡Ê¤â¤·¤¯¤Ï¿¨¤Ã¤Æ¤¤¤Ê¤¤¤«¿¨¤Ã¤Æ¤¤¤ë¤«¡Ë¤Ë¤Ä¤¤¤Æ¡¢¡Ö̵ȿ±þ¤Ê¤é0¤ò¡¢È¿±þ¤Ê¤é1¤òÊÖ¤¹´Ø¿ô¡×¤Ë¤·¤Æ¤ß¤ë¤È¡¢¤â¤Ã¤È¥¹¥ê¥à²½¤Ç¤¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£ -- [[¤³¤µ¤«]] &new{2009-07-02 (ÌÚ) 22:57:02}; - ¼Ì¿¿¤È¥×¥í¥°¥é¥àºÜ¤»¤Þ¤·¤¿¡£ -- [[¤Ï¤ä¤Ö¤µ]] &new{2009-07-03 (¶â) 17:44:08}; #comment