¡¡Ìܼ¡
¥Æ¥Ë¥¹¥Ü¡¼¥ë£³¸Ä¤ò¥´¡¼¥ë¤ËÆþ¤ì¤ë¡£
¥Õ¥£¡¼¥ë¥É¤ÎÀâÌÀ
´ðËܥ롼¥ë
´ðËÜÆÀÅÀ¤Î·×»»ÊýË¡
µ»½ÑÆÀÅÀ¤Î·×»»ÊýË¡
°Ê²¼¤ÎÆ°ºî¤ÎÀºÅÙ¡¦¥¹¥Ô¡¼¥É¡¦³Î¼ÂÀ¤Ê¤É¤ò´Þ¤á¤¿µ»½ÑŪ¤Ê¹©Éפä·Ý½ÑÀ¤Ë¤Ä¤¤¤Æ¾¤ÎÁ´¤Æ¤Î¥Á¡¼¥à(8¥Á¡¼¥à)¤¬20ÅÀËþÅÀ¤ÇºÎÅÀ¤·¡¢¤½¤ÎÊ¿¶ÑÅÀ¤òµá¤á¤ë¡£
ÆÀÅÀ¤ÎÌܰ¡§
¡¤Î¥í¥Ü¥Ã¥È¤¬Êɤδ֤ËÆþ¤ê¹þ¤ß¡¢
¥Ü¡¼¥ë¤ò²¡¤·½Ð¤·¡¢È¿ÂЦ¤Ë¤¤¤ë¢¤Î¥í¥Ü¥Ã¥È¤ËÅϤ¹¡£
¢¤Î¥í¥Ü¥Ã¥È¤¬¥´¡¼¥ë¤Þ¤Ç±¿¤Ö¡£
#define signal_on 11 #define signal_off 12 #define turn_right OnFwd(OUT_C);Wait(124);Off(OUT_A+OUT_C); #define turn_left OnFwd(OUT_A);Wait(124);Off(OUT_A+OUT_C); #define go_straight(t) OnFwd(OUT_A+OUT_C);Wait(t);Float(OUT_A+OUT_C); sub SEND() //¥á¥Ã¥»¡¼¥¸¤òÁ÷¤ë¥×¥í¥°¥é¥à { ClearTimer(0); ClearMessage(); while (FastTimer(0) < 200) { SendMessage(signal_on); if (Message() == 1) { PlaySound(SOUND_CLICK); // Á÷¿®¤ËÀ®¸ù¤·¤¿¤È¤¤Ï¥Ô¥Ã¤ÈÌĤ餹 } else { PlaySound(SOUND_LOW_BEEP); // Á÷¿®¤Ë¼ºÇÔ¤·¤¿¤È¤¤Ï¥Ö¥Ã¤ÈÌĤ餹 } } } task main() { SetSensor(SENSOR_1, SENSOR_LIGHT); //¸÷¥»¥ó¥µ¡¼¤ò¥»¥ó¥µ¡¼1¤Ë¥»¥Ã¥È SetSensor(SENSOR_3, SENSOR_LIGHT); //¸÷¥»¥ó¥µ¡¼¤ò¥»¥ó¥µ¡¼3¤Ë¥»¥Ã¥È go_straight(70); //±ß¤«¤é¤Ç¤Æ¥é¥¤¥ó¤Ë¤Î¤ë turn_left; go_straight(240); //¥é¥¤¥ó¤Îü¤Þ¤Ç¤¹¤¹¤à turn_left; go_straight(160); //¥Ü¡¼¥ë¤ò¤Ä¤¯ SEND(); ClearMessage(); //¥á¥Ã¥»¡¼¥¸¤ò¥¯¥ê¥¢ until(Message() == signal_on); //¥á¥Ã¥»¡¼¥¸¤¬signal_on¤Ë¤Ê¤ë¤Þ¤ÇÂÔµ¡ go_straight(40); //¥Ü¡¼¥ë¤ò¤Ä¤¯ SEND(); ClearMessage(); until(Message() == signal_on); go_straight(40); SEND(); }
#define go_s(t) OnFwd(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C); //ľ¿Ê #define back(t) OnRev(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C); //¸åÂà #define turn_r(t) OnFwd(OUT_A);OnRev(OUT_C);Wait(t);Off(OUT_A+OUT_C); //±¦¤Ë¶Ê¤¬¤ë #define turn_l(t) OnFwd(OUT_C);OnRev(OUT_A);Wait(t);Off(OUT_A+OUT_C); //º¸¤Ë¶Ê¤¬¤ë #define arm_d OnRev(OUT_B);Wait(90);Off(OUT_B); //¥¢¡¼¥à¤ò²¼¤²¤ë #define arm_u OnFwd(OUT_B);Wait(90);Off(OUT_B); //¥¢¡¼¥à¤ò¾å¤²¤ë #define SPIN 200 //°ì²óž¤¹¤ë»þ´Ö #define signal_on 11 #define signal_off 12 task main() { SetSensor(SENSOR_1,SENSOR_LIGHT); //¥»¥ó¥µ¡¼1¤ò¸÷¥»¥ó¥µ¡¼¤Ë SetSensor(SENSOR_2,SENSOR_TOUCH); //¥»¥ó¥µ¡¼1¤ò¥¿¥Ã¥Á¥»¥ó¥µ¡¼¤Ë SetSensor(SENSOR_3,SENSOR_LIGHT); //¥»¥ó¥µ¡¼3¤ò¸÷¥»¥ó¥µ¡¼¤Ë¡Ê¥é¥ó¥¿¥ó¤òõ¤¹¡Ë SetPower(OUT_B,6); int l_max=0; //l_max¤òÄêµÁ¡Ê½é´üÃÍ0¡Ë int t_max=0; //t_max¤òÄêµÁ¡Ê½é´üÃÍ0¡Ë go_s(180); //¥¹¥¿¡¼¥ÈÃÏÅÀ¤«¤é¥Ü¡¼¥ëÃÖ¤¾ì¤Ø°ÜÆ° turn_l(80); OnFwd(OUT_A+OUT_C); until(SENSOR_1<40); //Àþ¾å¤Þ¤ÇÍ褿¤é turn_r(100); //¸þ¤¤òÊѤ¨¤Æľ¿Ê go_s(180); turn_r(150); arm_d; //¥Ü¡¼¥ëÃÖ¤¾ì¤Þ¤ÇÍ褿¤é¥¢¡¼¥à¤ò²¼¤² OnFwd(OUT_A+OUT_C); until(SENSOR_2 == 1); //ÌڤΥ֥í¥Ã¥¯¤Ë¤Ö¤Ä¤«¤ë¤Þ¤Çľ¿Ê Wait(500); //¤â¤¦°ì¤Ä¤Î¥í¥Ü¥Ã¥È¤¬¥Ü¡¼¥ë¤ò²¡¤¹¤Þ¤ÇÂÔ¤Ä OnRev(OUT_A+OUT_C); Wait(20); //¥¢¡¼¥à¤¬¥Ö¥í¥Ã¥¯¤«¤éÎ¥¤ì¤ë¤Þ¤Ç¸åÂà Float(OUT_A+OUT_C); //¤æ¤Ã¤¯¤ê»ß¤Þ¤ë arm_u; //¥¢¡¼¥à¤ò¾å¤²¤Æ¥Ü¡¼¥ë¤ò¸ÇÄê back(50); turn_r(150); //¥´¡¼¥ë¤ÎÊý¸þ¤ËÊý¸þž´¹ go_s(850); //¥´¡¼¥ëÁ°¤Ë¸þ¤«¤Ã¤Æľ¿Ê turn_r(90); //¥í¥Ü¥Ã¥È¤È¥´¡¼¥ë¤¬Ä¾³Ñ¤Ë¤Ê¤ë¤è¤¦¸þ¤¤òÄ´À° go_s(200); //¥´¡¼¥ë¤Ë¸þ¤«¤Ã¤Æľ¿Ê arm_d; //¥¢¡¼¥à¤ò¹ß¤í¤·¡¢¥Ü¡¼¥ë¤òÊü¤¹ repeat(3) {go_s(10); back(10);} //¼ÖÂΤòÍɤ餷¡¢¥Ü¡¼¥ë¤ò³Î¼Â¤ËÍî¤È¤¹ arm_u; //¥¢¡¼¥à¤ò¾å¤²¤ë repeat(2) { turn_r(200); //¥Ü¡¼¥ëÃÖ¤¾ì¤ØÌá¤ë¥×¥í¥°¥é¥à go_s(800); //¤Þ¤Ã¤¹¤°¥¹¥¿¡¼¥ÈÃÏÅÀ¤Þ¤ÇÌá¤ë turn_r(100); //Êý¸þž´¹ OnFwd(OUT_A+OUT_C); until(SENSOR_1<40); //Àþ¾å¤Þ¤Çľ¿Ê¤·¤¿¤é turn_l(100); //¥Ü¡¼¥ëÃÖ¤¾ì¤ØÊý¸þž´¹ go_s(180); turn_r(120); //¥Ü¡¼¥ëÃÖ¤¾ì¤Ø arm_d; OnFwd(OUT_A+OUT_C); until(SENSOR_2 == 1); //¥Ö¥í¥Ã¥¯¤Ë¤Ö¤Ä¤«¤ë¤Þ¤Çľ¿Ê ClearMessage(); //¤â¤¦°ìÂæ¤Î¥í¥Ü¥Ã¥È¤È¥á¥Ã¥»¡¼¥¸¤ÎÁ÷¼õ¿® while(true) {until(Message() == signal_on); //¥¢¡¼¥à¤ò¾å¤²¤ë¥×¥í¥°¥é¥à¤ò¼Â¹Ô arm_u; } //¥´¡¼¥ë¤Ë¸þ¤«¤¦¥×¥í¥°¥é¥à back(40); turn_r(120); go_s(830); turn_r(90); go_s(200); arm_d; //¥¢¡¼¥à¤ò¹ß¤í¤·¡¢¥Ü¡¼¥ë¤ò½³¤ê½Ð¤¹ repeat(3) {go_s(10); back(10);} arm_u; } //¡Ð¡ÑÆâ¤òÆó²ó·«¤êÊÖ¤¹ back(500); //¥³¡¼¥¹¤ÎÃæ¿´¤¢¤¿¤ê¤Þ¤ÇÌá¤Ã¤Æ½ªÎ» }
¤Ê¤«¤Ê¤«²ñ¤Ã¤Æ¥í¥Ü¥Ã¥È¤òÀ½ºî¤¹¤ë¤³¤È¤¬¤Ç¤¤º¡¢´°À®¤Ë»þ´Ö¤¬¤«¤«¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£
£²Âæ¤òÏ¢·È¤µ¤»¤Æ¥Ü¡¼¥ë¤ò±¿¤Ö¥í¥Ü¥Ã¥È¤òºî¤Ã¤¿¤¬¡¢¤¢¤Þ¤ê¤¦¤Þ¤¯Ï¢·È¤»¤ºÂçÊѤÀ¤Ã¤¿¡£
¥×¥í¥°¥é¥à¤â¤Ê¤«¤Ê¤«¤¦¤Þ¤¯¤¤¤«¤º¡¢¥Ü¡¼¥ëÃÖ¤¾ì¤Î´Ö¤ËÆþ¤ì¤Ê¤«¤Ã¤¿¤ê¥´¡¼¥ë¤Þ¤Ç¤¿¤É¤êÃ夫¤Ê¤«¤Ã¤¿¤ê¤ÈÂçÊѤÀ¤Ã¤¿¡£
¥Ü¡¼¥ë¤ò²¡¤·½Ð¤¹¥í¥Ü¥Ã¥È¤Ê¤É¡¢»Â¿·¤µ¤Ï¼è¤êÆþ¤ì¤é¤ì¤¿¤Î¤ÇÎɤ«¤Ã¤¿¡£
¥¢¡¼¥àÉôʬ¤Î¥®¥¢¤ÎÁȤ߹ç¤ï¤»¤¬¤Ê¤«¤Ê¤«¤¦¤Þ¤¯¤¤¤«¤º¡¢º£²ó¤Î·Á¤Ë¤Ê¤ë¤Þ¤Ç¤È¤Æ¤â»þ´Ö¤¬¤«¤«¤Ã¤Æ¤·¤Þ¤¤¡¢¶ìÏ«¤·¤¿¡£