2013a/Member/donky/Mission2
¤ò¥Æ¥ó¥×¥ì¡¼¥È¤Ë¤·¤ÆºîÀ®
[
¥È¥Ã¥×
] [
¿·µ¬
|
°ìÍ÷
|
¸¡º÷
|
ºÇ½ª¹¹¿·
|
¥Ø¥ë¥×
|
¥í¥°¥¤¥ó
]
³«»Ï¹Ô:
[[2013a/Member]]
#contents
*²ÝÂꣲ¤Ë¤Ä¤¤¤Æ [#o3b45107]
-ÆóÂæ¤Î¥í¥Ü¥Ã¥È¤Ç¥Ô¥ó¥Ý¥ó¶Ì¤ò¥Ñ¥¹¤·¤Ê¤¬¤é±¿¤Ó¡¢¥´¡¼¥ë¤ò¶õ¤´Ì¤ËÅö¤Æ¤ë¡£
#ref(2013a/Member/donky/Mission1/robocon2013a.png,¥³¡¼¥¹¿Þ)
*¥í¥Ü¥Ã¥ÈËÜÂξҲð [#z169ad55]
-¥í¥Ü¤¬ÆÈÁÏÀ¤òÁý¤·¤Æ¤¤¤¯²áÄø¤ò¾Ò²ð¤·¤Þ¤¹¡£¤³¤Î¥í¥Ü¤ÏËÜÂΤι½Â¤¤Î¤ª¤«¤²¤Ç´Êñ¤Ê¥×¥í¥°¥é¥à¤Ç¹ÔÆ°¤òµ¯¤³¤¹¤³¤È¤¬¤Ç¤¤ë¤Î¤¬ÆÃħ¤Ç¤¹¡£
**½é´ü¥Þ¥·¥ó [#k30d3ec9]
#ref(2013a/Member/donky/Mission1/robo.jpg,30%,¥í¥Ü¡)
-¤Þ¤À¤³¤ÎÃʳ¬¤Ç¤Ï¥Ñ¥¹¤Î¹½Â¤¤Î¤ß´°À®¡£¤³¤Î»þÅÀ¤Ç¤ÎÌäÂêÅÀ¤Ï¥Ñ¥¹¤Î¼õ¤±¼è¤ê¤¬¿Ò¾ï¤¸¤ã¤Ê¤¯Æñ¤·¤¤ÅÀ¤È¥Ü¡¼¥ë¤ò¼è¤ê¤Ë¤¤¤±¤Ê¤¤ÅÀ¤Ç¤¹¡£
**ÆóÂåÌÜ [#n5bd94b9]
#ref(2013a/Member/donky/Mission1/robo4.jpg,30%,¥í¥Ü¢)
-ÆóÂåÌܤϥѥ¹¤Î¼õ¤±¼è¤ê¤Î¤¿¤á¤Ë´Ê°×Ū¤Ë¹¤¤¼õ¤±¸ý¤ò¼è¤êÉÕ¤±¤Þ¤·¤¿¡£¤¬¡¢ÌäÂêÅÀ¤ÏÊѤï¤é¤º¡£
**»°ÂåÌÜ [#dd3936df]
#ref(2013a/Member/donky/Mission1/robo3.jpg,30%,¥í¥Ü£)
-»°ÂåÌܤ«¤é½ù¡¹¤ËÌܻؤ¹·Á¤¬ÆÈÆäˡ£²óž¤òÍøÍѤ·¤Æ¥Ü¡¼¥ë¤Î¥¥ã¥Ã¥Á¤ò¹Ô¤¦¤³¤È¤ò¹Í°Æ¡£ÄÌ¿®¤¬¤Ç¤¤Ê¤¤¤È¤¤¤¦¿·¤¿¤ÊÌäÂêÅÀ¤¬À¸¤Þ¤ì¤ë¡£
**»ÍÂåÌÜ [#y00cea80]
#ref(2013a/Member/donky/Mission1/robo5.jpg,30%,¥í¥Ü¤)
-¥Ñ¥¹¤ò¼õ¤±¼è¤ê¤ä¤¹¤¯²þÎÉ¡£ÄÌ¿®¤òÆ°¤«¤º¤Ë¹Ô¤¨¤ë¤è¤¦²þÎÉ¡£¤É¤ó¤É¤óÂÕÂƤÇÆÈÁÏŪ¤Ê¥í¥Ü¤Ë¡£
**ºÇ½ª¥Þ¥·¥ó [#r3166bb1]
#ref(2013a/Member/donky/Mission1/robo2.jpg,30%,¥í¥Ü¥)
-ºÇ½ªÅª¤ÊÃåÃÏÅÀ¤¬¤³¤Á¤é¡£¥Ð¥Ã¥¯¤Ç¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë¤¿¤á¤Ë¸åÉô¤Ë¤â¸÷¥»¥ó¥µ¡¼¤ò¼è¤êÉÕ¤±¡£¥Ñ¥¹¤Î¤ä¤ê¼è¤ê¤¬À®¸ù¤·¤ä¤¹¤¯¤Ê¤ë¤è¤¦¤ËºÙ¤«¤Ê²þÎɤâ²Ã¤¨¤é¤ì¤Æ¤¤¤Þ¤¹¡£¤µ¤é¤Ë¥¿¥Ã¥Á¥»¥ó¥µ¡¼¤ò¼è¤êÉÕ¤±¥×¥í¥°¥é¥à¤ò²þÎɤ·¤Þ¤·¤¿¡£
*¥³¡¼¥¹¹¶Î¬Ë¡ [#d2af051e]
**1 Âè°ì¤Î¥Ý¥¤¥ó¥È¡¼¥Ü¡¼¥ë¤Î¥¥ã¥Ã¥Á [#pe6f443b]
²óž¤ò¥Ù¡¼¥¹¤Ë¥Ü¡¼¥ë¤ò¥¥ã¥Ã¥Á¡£¥¿¥¤¥Þ¡¼¤È¥¿¥Ã¥Á¥»¥ó¥µ¡¼¤òÍѤ¤¤ÆÀºÅÙ¤ò¸þ¾å¤µ¤»¤Þ¤·¤¿¡£
¥×¥í¥°¥é¥à¤Ï°Ê¹ß¤Ë¼¨¤¹Ä̤ꡣ
**2 ÂèÆó¤Î¥Ý¥¤¥ó¥È¡¼ºÇ½é¤Î¥Ñ¥¹ [#p58ce3c1]
Æñ´Ø¤À¤Ã¤¿¤Î¤Ï¶õ¤´Ì¤¬¤¢¤ë¤³¤È¡£¥·¥å¡¼¥È¤ÎÀµ³ÎÀ¤Ï¹â¤«¤Ã¤¿¤Î¤Ç¥í¥Ü¤Î¥Ý¥¸¥·¥ç¥ó¤òÄ´À°¤¹¤ë¤³¤È¤Ç¹îÉþ¡£
**3 Âè»°¤Î¥Ý¥¤¥ó¥È¡¼¥Ñ¥¹¤Î¼õ¤±¼è¤ê [#y38f00c8]
¥í¥Ü¤ÎËÜÂΤ¬¤«¤Ê¤êŤ¤¤¦¤¨¤Ë¥¢¡¼¥à¤Î¹½Â¤¾åÆ°¤¯É¬ÍפϤʤ·¡£¤³¤³¤¬¤³¤Î¥í¥Ü¤ÎÍøÅÀ¤Î°ì¤Ä¤Ç¤¹¡£
**4 Âè»Í¤Î¥Ý¥¤¥ó¥È¡¼¥·¥å¡¼¥È [#d2a7eb41]
¤³¤ì¤Ë¤Ä¤¤¤Æ¤Ï¤Û¤Ü´°àú¡£¥·¥å¡¼¥È¤ÎÀºÅ٤ϤۤÜɬÃæ¤Ç¤·¤¿¡£¥í¥Ü¤Î¹½Â¤¾å´Êñ¤Ê¥×¥í¥°¥é¥à¤Ç¥·¥å¡¼¥È¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤¤Þ¤·¤¿¡£
*¥×¥í¥°¥é¥à¾ÜºÙ [#z4fec11c]
#define THRESHOLD 40
#define HHIPOWER 7 // ľÀþ¤È¥Ü¡¼¥ë¤òÂǤÁ½Ð¤¹¤È¤ÍѤζ¯¤á¤Î¥Ñ¥ï¡¼
#define POWER 2 // ¥«¡¼¥Ö¡¢Àû²óÍѤμå¤á¤Î¥Ñ¥ï¡¼
#define LOWPOWER 0 // ¥Ü¡¼¥ë¤ò¥¥ã¥Ã¥Á¤¹¤ëÍѤμ夤¥Ñ¥ï¡¼
#define set_power_HH SetPower(OUT_AC,HHIPOWER);
#define set_power_M SetPower(OUT_AC,POWER);
#define set_power_L SetPower(OUT_B,LOWPOWER);
#define go_forward set_power_HH; OnFwd(OUT_AC); // Á°¤Ë¿Ê¤àÆ°ºî
#define go_back set_power_HH; OnRev(OUT_AC); // ¸å¤í¤Ë¿Ê¤àÆ°ºî
#define turn_left1 set_power_M; Off(OUT_A); OnFwd(OUT_C); // º¸¤Ë¥«¡¼¥Ö¤¹¤ëÆ°ºî¡×
#define turn_right1 set_power_M; OnFwd(OUT_A); Off(OUT_C); // ±¦¤Ë¥«¡¼¥Ö¤¹¤ëÆ°ºî
#define turn_left2 set_power_M; OnRev(OUT_A); OnFwd(OUT_C); // º¸¤ËÀû²ó¤¹¤ëÆ°ºî
#define turn_right2 set_power_M; OnFwd(OUT_A); OnRev(OUT_C); // ±¦¤ËÀû²ó¤¹¤ëÆ°ºî
#define catch_ball set_power_L; OnFwd(OUT_B); // ¥Ü¡¼¥ë¤ò¥¥ã¥Ã¥Á¤¹¤ëÆ°ºî
#define pass_ball set_power_HH; OnRev(OUT_B);Wait(150);Off(OUT_B); // ¥Ü¡¼¥ë¤òÂǤÁ½Ð¤¹Æ°ºî
#define STEP 1 // £±²ó¤ÎȽÃǤÇÆ°ºî¤µ¤»¤ë»þ´Ö
¡¦¤³¤³¤«¤é¤¬¥í¥Ü¥Ã¥È¤òÆ°¤«¤¹¤¿¤á¤Î»ØÎá
task main()
{
SetSensor(SENSOR_1,SENSOR_LIGHT); // ¡Ö£±¡×¤Î¤È¤³¤í¤Ë¸÷¥»¥ó¥µ¡¼¤òÀßÃÖ
SetSensor(SENSOR_2,SENSOR_TOUCH); // ¡Ö£²¡×¤Î¤È¤³¤í¤Ë¥¿¥Ã¥Á¥»¥ó¥µ¡¼¤òÀßÃÖ
SetSensor(SENSOR_3,SENSOR_LIGHT); // ¡Ö£³¡×¤Î¤È¤³¤í¤Ë¸÷¥»¥ó¥µ¡¼¤òÀßÃÖ
Âè°ì¤Î¥Ý¥¤¥ó¥È~
¥¢¡¼¥à¤ÎŤµ¤Ë¤è¤ê²¼¿Þ¤ÎÀÖ¤¤Ìð°õ¤Î¤¢¤¿¤ê¤«¤éº¸Àû²ó¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¥Ü¡¼¥ë¤ò¥¥ã¥Ã¥Á¡£
#ref(2013a/Member/donky/Mission1/map.jpg,¥é¥¤¥ó)
ClearTimer(0); // ¥¿¥¤¥Þ¡¼¤ò¥ê¥»¥Ã¥È
while (FastTimer(0) <= 430) { // 4.3Éô֡¢Ä̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹
if (SENSOR_3 < THRESHOLD-4) {
turn_left2;
} else
if (SENSOR_3 < THRESHOLD-3) {
turn_left1;
} else if (SENSOR_3 < THRESHOLD+5) {
go_forward;
} else if (SENSOR_3 < THRESHOLD+10) {
turn_right1;
} else {
turn_right2;
}
Wait(STEP);
}
PlaySound(SOUND_UP); // 4.3Éô֡¢Ä̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¹Ô¤Ã¤¿¤é¡¢¥Ô¥í¥Ô¥í¡Á¤È¹â¤¤²»¤òÌĤ餹
set_power_M; OnRev(OUT_A); OnFwd(OUT_C); Wait(580); // 5.8Éô֡¢º¸¤ËÀû²ó¤¹¤ë
while(SENSOR_2==0){ // ¥¿¥Ã¥Á¥»¥ó¥µ¡¼¤¬¥ª¥Õ¤Î´Ö¡¢¥Ü¡¼¥ë¤ò¥¥ã¥Ã¥Á¤¹¤ëÆ°ºî¤ò¹Ô¤¦
catch_ball;
}
Off(OUT_B);
¥Ü¡¼¥ë¤ò¼è¤Ã¤Æ¤«¤é¿Ê¹ÔÊý¸þ¤Ë¥í¥Ü¥Ã¥È¤ò¸þ¤±¤ë¤Þ¤Ç~
¥Ü¡¼¥ë¤ò¼è¤Ã¤Æ¤«¤é¤â¸÷¥»¥ó¥µ¡¼¤¬¹õ¤ËÈ¿±þ¤¹¤ë¤Þ¤Çº¸Àû²ó¤µ¤»¤ë¤³¤È¤Ë¤è¤Ã¤Æ¿Ê¹ÔÊý¸þ¤Ë¥í¥Ü¥Ã¥È¤ò»ý¤Ã¤Æ¤¤¤¯¡£¥Ü¡¼¥ë¤ò¼è¤Ã¤Æ¤«¤é¤¹¤°¤Ë¸÷¥»¥ó¥µ¡¼¤ò»È¤¦¤È¡¢½é¤á¤ËµÕÊý¸þ¤Î¹õÀþ¤ËÈ¿±þ¤·¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢£²Éô֥¿¥¤¥Þ¡¼¤ò»È¤Ã¤ÆÀû²ó¤·¤Æ¡¢½é¤á¤Î¹õÀþ¤òÆÍÇˤ·¤Æ¤«¤é¸÷¥»¥ó¥µ¡¼¤ò»ÈÍÑ¡£
Wait(200); // £²Éô֡¢¥Ü¡¼¥ë¤ò¥¥ã¥Ã¥Á¤¹¤ë¤È¤¤Îº¸Àû²ó¤ò³¤±¤ë
Off(OUT_AC);
while (SENSOR_3 > THRESHOLD-5) { // ¸÷¥»¥ó¥µ¡¼¤¬¹õ¤¤Àþ¤ËÈ¿±þ¤¹¤ë¤Þ¤Ç¡¢º¸¤ËÀû²ó
turn_left2;
}
Off(OUT_AC);
¥Ü¡¼¥ë¤òÂǤÁ½Ð¤¹~
¥í¥Ü¥Ã¥È¤ò¿Ê¹ÔÊý¸þ¤Ë¸þ¤±¤¿¤é¡¢¤¹¤°¤Ë¥Ü¡¼¥ë¤òÂǤÁ½Ð¤¹Æ°ºî¤ËÆÍÆþ¡£¤½¤Î¤Þ¤ÞÂǤĤȤȴ̤Ëľ·â¤·¤Æ¤·¤Þ¤¦¤¿¤á¾¯¤·Ìá¤Ã¤Æ¤«¤é¥Ü¡¼¥ë¤òÂǤÁ½Ð¤¹¡£
go_back;Wait(80);Off(OUT_AC);Wait(100); // 0.8Éôָå¤í¤Ë²¼¤¬¤Ã¤Æ¡¢£±ÉôÖÄä»ß
pass_ball; // ¥Ü¡¼¥ë¤òÂǤÁ½Ð¤¹
¥Ü¡¼¥ë¤òÂǤÁ½Ð¤·¤Æ¤«¤é¡¢¥Ü¡¼¥ë¤ò¼õ¤±¤ë¤Þ¤Ç~
Ä̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤·¤Æ¡¢¥Ü¡¼¥ë¤ò¼õ¤±¤ë°ÌÃ֤ޤǥ¿¥¤¥Þ¡¼¤ò»È¤Ã¤Æ°ÜÆ°¤¹¤ë¡£¥Ü¡¼¥ë¤òÂǤÁ½Ð¤·¤¿»þ¤Ë¸å¤í¤Ë²¼¤ë¤Î¤Ç¡¢¥é¥¤¥ó¤òæÀþ¤·¤Æ¤·¤Þ¤¦¤«¤é¡¢¾¯¤·Á°¤Ë¿Ê¤ó¤Ç¤«¤é¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤·¤Þ¤¹¡£¥Ü¡¼¥ë¤Ï¥¢¡¼¥à¤ÎÈÏ°ÏÆâ¤Ë½Ð¤µ¤ì¤ë¤È¡¢¼«Á³¤È¥¢¡¼¥à¤ÎÆ⦤˼ý¤Þ¤ë¤Î¤Ç¡¢¾¯¤·º¸¤Ë¥«¡¼¥Ö¤·¤Æ¡¢¥Ü¡¼¥ë¤ò¥¢¡¼¥à¤Î±ü¤Ë°ÜÆ°¤µ¤»¤Æ¤«¤é¥Ü¡¼¥ë¤ò¥¥ã¥Ã¥Á¤¹¤ë¡£
¡¡¡¡go_forward;Wait(80);Off(OUT_AC); // 0.8ÉôÖÁ°¿Ê¤·¤Æ¡¢¹õ¤¤Àþ¤ËÈ¿±þ¤Ç¤¤ë¤È¤³¤í¤Þ¤Ç°ÜÆ°¤¹¤ë
ClearTimer(0); // ¥¿¥¤¥Þ¡¼¤ò¥ê¥»¥Ã¥È
while (FastTimer(0) <= 170) { // 1.7Éô֡¢Ä̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹
if (SENSOR_3 < THRESHOLD-4) {
turn_right2;
} else
if (SENSOR_3 < THRESHOLD-3) {
turn_right1;
} else if (SENSOR_3 < THRESHOLD+5) {
go_forward;
} else if (SENSOR_3 < THRESHOLD+10) {
turn_left1;
} else {
turn_left2;
}
Wait(STEP);
}
Off(OUT_AC); // 1.7Éô֡¢Ä̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¹Ô¤Ã¤¿¤éÄä»ß¤¹¤ë
Wait(1000); // Áê¼ê¤«¤é¤Î¥Ñ¥¹¤¬¤¯¤ë¤Þ¤Ç¤Î10ÉôÖÄä»ß¤·¤ÆÂÔ¤Ä
turn_left1;Wait(100); // £±Éôֺ¸¤Ë¥«¡¼¥Ö¤·¤Æ¡¢¥Ü¡¼¥ë¤ò¥¢¡¼¥à¤Î±ü¤Þ¤Ç°ÜÆ°¤µ¤»¤ë
while(SENSOR_2==0){ // ¥¿¥Ã¥Á¥»¥ó¥µ¡¼¤¬¥ª¥Õ¤Î´Ö¡¢¥Ü¡¼¥ë¤ò¥¥ã¥Ã¥Á¤¹¤ëÆ°ºî¤ò³¤±¤ë
catch_ball;
}
Off(OUT_B);
PlaySound(SOUND_UP); // ¥Ü¡¼¥ë¤ò¥¥ã¥Ã¥Á¤·¤¿¤é¡¢¥Ô¥í¥Ô¥í¡Á¤È¹â¤¤²»¤òÌĤ餹
}
¥í¥Ü¥³¥ó¤Çȯɽ¤·¤¿¥×¥í¥°¥é¥à¤Ï¤³¤³¤Þ¤Ç¡£
´Ì¤Ë¸þ¤«¤Ã¤Æ¥·¥å¡¼¥È~
´Ì¤Ë¥·¥å¡¼¥È¤¹¤ë¤È¤¤Î¥×¥í¥°¥é¥à¤â°ì±þźÉÕ¡£
ºÇ¸å¤Ë¥Ö¡¼¥ë¤ò¼õ¤±¤ë°ÌÃÖ¤«¤é¡¢¥·¥å¡¼¥È¤¹¤ë¤Þ¤Ç¤Î¥×¥í¥°¥é¥à¡£Ì¿ÃæΨ¤Ï¹â¤á¡£
¤³¤³¤ÇÂç»ö¤Ê¤Î¤Ï¡¢¥·¥å¡¼¥È¤¹¤ë°ÌÃÖ¼è¤ê¤Ê¤Î¤Ç£±ÉÃÁ°¿Ê¡¢0.6Éú¸¤ËÀû²ó¤¹¤ë¤³¤È¤Ë¤è¤Ã¤ÆÀä¹¥¤Î°ÌÃÖ¤ËÃ夤ޤ¹¡£¤³¤³¤Þ¤Ç¤¤¿¤é¡¢¤½¤Î¤Þ¤Þ¥·¥å¡¼¥È¡£
task main()
{
OnFwd(OUT_AC);Wait(100); // £±ÉÃÁ°¿Ê
OnRev(OUT_A); OnFwd(OUT_C);Wait(60);Off(OUT_AC); // 0.6Éᢺ¸¤ËÀû²ó
OnRev(OUT_B);Wait(100);Off(OUT_B); // ¥Ü¡¼¥ë¤òÂǤÁ½Ð¤¹
}
*¤Þ¤È¤á [#pf62a8c6]
-¥í¥Ü¥Æ¥£¥¯¥¹ÆþÌ祼¥ß¤ÎºÇ½ª²ÝÂê¤È¤Ê¤Ã¤¿¤³¤Î²ÝÂꣲ¤Ç¤¹¤¬¡¢´°À®¤µ¤»¤ë¤³¤È¤Ï½ÐÍè¤Þ¤»¤ó¤Ç¤·¤¿¡£¤·¤«¤·¡¢²ÝÂ꣱¤ÈÈæ¤Ù¤ë¤È¤Ï¤ë¤«¤Ëºî¤ê¤³¤á¤¿µ¤¤¬¤·¤Þ¤¹¡£¥Á¡¼¥à¥á¥¤¥È¤Î¥¢¥¤¥Ç¥¢¤Ë¤¿¤¯¤µ¤ó½õ¤±¤é¤ì¡¢¤³¤³¤Þ¤Ç¤Ç¤¤Þ¤·¤¿¡£¤È¤Æ¤â³Ú¤·¤¤¹ÖµÁ¤Ç¤·¤¿¡£
½ªÎ»¹Ô:
[[2013a/Member]]
#contents
*²ÝÂꣲ¤Ë¤Ä¤¤¤Æ [#o3b45107]
-ÆóÂæ¤Î¥í¥Ü¥Ã¥È¤Ç¥Ô¥ó¥Ý¥ó¶Ì¤ò¥Ñ¥¹¤·¤Ê¤¬¤é±¿¤Ó¡¢¥´¡¼¥ë¤ò¶õ¤´Ì¤ËÅö¤Æ¤ë¡£
#ref(2013a/Member/donky/Mission1/robocon2013a.png,¥³¡¼¥¹¿Þ)
*¥í¥Ü¥Ã¥ÈËÜÂξҲð [#z169ad55]
-¥í¥Ü¤¬ÆÈÁÏÀ¤òÁý¤·¤Æ¤¤¤¯²áÄø¤ò¾Ò²ð¤·¤Þ¤¹¡£¤³¤Î¥í¥Ü¤ÏËÜÂΤι½Â¤¤Î¤ª¤«¤²¤Ç´Êñ¤Ê¥×¥í¥°¥é¥à¤Ç¹ÔÆ°¤òµ¯¤³¤¹¤³¤È¤¬¤Ç¤¤ë¤Î¤¬ÆÃħ¤Ç¤¹¡£
**½é´ü¥Þ¥·¥ó [#k30d3ec9]
#ref(2013a/Member/donky/Mission1/robo.jpg,30%,¥í¥Ü¡)
-¤Þ¤À¤³¤ÎÃʳ¬¤Ç¤Ï¥Ñ¥¹¤Î¹½Â¤¤Î¤ß´°À®¡£¤³¤Î»þÅÀ¤Ç¤ÎÌäÂêÅÀ¤Ï¥Ñ¥¹¤Î¼õ¤±¼è¤ê¤¬¿Ò¾ï¤¸¤ã¤Ê¤¯Æñ¤·¤¤ÅÀ¤È¥Ü¡¼¥ë¤ò¼è¤ê¤Ë¤¤¤±¤Ê¤¤ÅÀ¤Ç¤¹¡£
**ÆóÂåÌÜ [#n5bd94b9]
#ref(2013a/Member/donky/Mission1/robo4.jpg,30%,¥í¥Ü¢)
-ÆóÂåÌܤϥѥ¹¤Î¼õ¤±¼è¤ê¤Î¤¿¤á¤Ë´Ê°×Ū¤Ë¹¤¤¼õ¤±¸ý¤ò¼è¤êÉÕ¤±¤Þ¤·¤¿¡£¤¬¡¢ÌäÂêÅÀ¤ÏÊѤï¤é¤º¡£
**»°ÂåÌÜ [#dd3936df]
#ref(2013a/Member/donky/Mission1/robo3.jpg,30%,¥í¥Ü£)
-»°ÂåÌܤ«¤é½ù¡¹¤ËÌܻؤ¹·Á¤¬ÆÈÆäˡ£²óž¤òÍøÍѤ·¤Æ¥Ü¡¼¥ë¤Î¥¥ã¥Ã¥Á¤ò¹Ô¤¦¤³¤È¤ò¹Í°Æ¡£ÄÌ¿®¤¬¤Ç¤¤Ê¤¤¤È¤¤¤¦¿·¤¿¤ÊÌäÂêÅÀ¤¬À¸¤Þ¤ì¤ë¡£
**»ÍÂåÌÜ [#y00cea80]
#ref(2013a/Member/donky/Mission1/robo5.jpg,30%,¥í¥Ü¤)
-¥Ñ¥¹¤ò¼õ¤±¼è¤ê¤ä¤¹¤¯²þÎÉ¡£ÄÌ¿®¤òÆ°¤«¤º¤Ë¹Ô¤¨¤ë¤è¤¦²þÎÉ¡£¤É¤ó¤É¤óÂÕÂƤÇÆÈÁÏŪ¤Ê¥í¥Ü¤Ë¡£
**ºÇ½ª¥Þ¥·¥ó [#r3166bb1]
#ref(2013a/Member/donky/Mission1/robo2.jpg,30%,¥í¥Ü¥)
-ºÇ½ªÅª¤ÊÃåÃÏÅÀ¤¬¤³¤Á¤é¡£¥Ð¥Ã¥¯¤Ç¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë¤¿¤á¤Ë¸åÉô¤Ë¤â¸÷¥»¥ó¥µ¡¼¤ò¼è¤êÉÕ¤±¡£¥Ñ¥¹¤Î¤ä¤ê¼è¤ê¤¬À®¸ù¤·¤ä¤¹¤¯¤Ê¤ë¤è¤¦¤ËºÙ¤«¤Ê²þÎɤâ²Ã¤¨¤é¤ì¤Æ¤¤¤Þ¤¹¡£¤µ¤é¤Ë¥¿¥Ã¥Á¥»¥ó¥µ¡¼¤ò¼è¤êÉÕ¤±¥×¥í¥°¥é¥à¤ò²þÎɤ·¤Þ¤·¤¿¡£
*¥³¡¼¥¹¹¶Î¬Ë¡ [#d2af051e]
**1 Âè°ì¤Î¥Ý¥¤¥ó¥È¡¼¥Ü¡¼¥ë¤Î¥¥ã¥Ã¥Á [#pe6f443b]
²óž¤ò¥Ù¡¼¥¹¤Ë¥Ü¡¼¥ë¤ò¥¥ã¥Ã¥Á¡£¥¿¥¤¥Þ¡¼¤È¥¿¥Ã¥Á¥»¥ó¥µ¡¼¤òÍѤ¤¤ÆÀºÅÙ¤ò¸þ¾å¤µ¤»¤Þ¤·¤¿¡£
¥×¥í¥°¥é¥à¤Ï°Ê¹ß¤Ë¼¨¤¹Ä̤ꡣ
**2 ÂèÆó¤Î¥Ý¥¤¥ó¥È¡¼ºÇ½é¤Î¥Ñ¥¹ [#p58ce3c1]
Æñ´Ø¤À¤Ã¤¿¤Î¤Ï¶õ¤´Ì¤¬¤¢¤ë¤³¤È¡£¥·¥å¡¼¥È¤ÎÀµ³ÎÀ¤Ï¹â¤«¤Ã¤¿¤Î¤Ç¥í¥Ü¤Î¥Ý¥¸¥·¥ç¥ó¤òÄ´À°¤¹¤ë¤³¤È¤Ç¹îÉþ¡£
**3 Âè»°¤Î¥Ý¥¤¥ó¥È¡¼¥Ñ¥¹¤Î¼õ¤±¼è¤ê [#y38f00c8]
¥í¥Ü¤ÎËÜÂΤ¬¤«¤Ê¤êŤ¤¤¦¤¨¤Ë¥¢¡¼¥à¤Î¹½Â¤¾åÆ°¤¯É¬ÍפϤʤ·¡£¤³¤³¤¬¤³¤Î¥í¥Ü¤ÎÍøÅÀ¤Î°ì¤Ä¤Ç¤¹¡£
**4 Âè»Í¤Î¥Ý¥¤¥ó¥È¡¼¥·¥å¡¼¥È [#d2a7eb41]
¤³¤ì¤Ë¤Ä¤¤¤Æ¤Ï¤Û¤Ü´°àú¡£¥·¥å¡¼¥È¤ÎÀºÅ٤ϤۤÜɬÃæ¤Ç¤·¤¿¡£¥í¥Ü¤Î¹½Â¤¾å´Êñ¤Ê¥×¥í¥°¥é¥à¤Ç¥·¥å¡¼¥È¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤¤Þ¤·¤¿¡£
*¥×¥í¥°¥é¥à¾ÜºÙ [#z4fec11c]
#define THRESHOLD 40
#define HHIPOWER 7 // ľÀþ¤È¥Ü¡¼¥ë¤òÂǤÁ½Ð¤¹¤È¤ÍѤζ¯¤á¤Î¥Ñ¥ï¡¼
#define POWER 2 // ¥«¡¼¥Ö¡¢Àû²óÍѤμå¤á¤Î¥Ñ¥ï¡¼
#define LOWPOWER 0 // ¥Ü¡¼¥ë¤ò¥¥ã¥Ã¥Á¤¹¤ëÍѤμ夤¥Ñ¥ï¡¼
#define set_power_HH SetPower(OUT_AC,HHIPOWER);
#define set_power_M SetPower(OUT_AC,POWER);
#define set_power_L SetPower(OUT_B,LOWPOWER);
#define go_forward set_power_HH; OnFwd(OUT_AC); // Á°¤Ë¿Ê¤àÆ°ºî
#define go_back set_power_HH; OnRev(OUT_AC); // ¸å¤í¤Ë¿Ê¤àÆ°ºî
#define turn_left1 set_power_M; Off(OUT_A); OnFwd(OUT_C); // º¸¤Ë¥«¡¼¥Ö¤¹¤ëÆ°ºî¡×
#define turn_right1 set_power_M; OnFwd(OUT_A); Off(OUT_C); // ±¦¤Ë¥«¡¼¥Ö¤¹¤ëÆ°ºî
#define turn_left2 set_power_M; OnRev(OUT_A); OnFwd(OUT_C); // º¸¤ËÀû²ó¤¹¤ëÆ°ºî
#define turn_right2 set_power_M; OnFwd(OUT_A); OnRev(OUT_C); // ±¦¤ËÀû²ó¤¹¤ëÆ°ºî
#define catch_ball set_power_L; OnFwd(OUT_B); // ¥Ü¡¼¥ë¤ò¥¥ã¥Ã¥Á¤¹¤ëÆ°ºî
#define pass_ball set_power_HH; OnRev(OUT_B);Wait(150);Off(OUT_B); // ¥Ü¡¼¥ë¤òÂǤÁ½Ð¤¹Æ°ºî
#define STEP 1 // £±²ó¤ÎȽÃǤÇÆ°ºî¤µ¤»¤ë»þ´Ö
¡¦¤³¤³¤«¤é¤¬¥í¥Ü¥Ã¥È¤òÆ°¤«¤¹¤¿¤á¤Î»ØÎá
task main()
{
SetSensor(SENSOR_1,SENSOR_LIGHT); // ¡Ö£±¡×¤Î¤È¤³¤í¤Ë¸÷¥»¥ó¥µ¡¼¤òÀßÃÖ
SetSensor(SENSOR_2,SENSOR_TOUCH); // ¡Ö£²¡×¤Î¤È¤³¤í¤Ë¥¿¥Ã¥Á¥»¥ó¥µ¡¼¤òÀßÃÖ
SetSensor(SENSOR_3,SENSOR_LIGHT); // ¡Ö£³¡×¤Î¤È¤³¤í¤Ë¸÷¥»¥ó¥µ¡¼¤òÀßÃÖ
Âè°ì¤Î¥Ý¥¤¥ó¥È~
¥¢¡¼¥à¤ÎŤµ¤Ë¤è¤ê²¼¿Þ¤ÎÀÖ¤¤Ìð°õ¤Î¤¢¤¿¤ê¤«¤éº¸Àû²ó¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¥Ü¡¼¥ë¤ò¥¥ã¥Ã¥Á¡£
#ref(2013a/Member/donky/Mission1/map.jpg,¥é¥¤¥ó)
ClearTimer(0); // ¥¿¥¤¥Þ¡¼¤ò¥ê¥»¥Ã¥È
while (FastTimer(0) <= 430) { // 4.3Éô֡¢Ä̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹
if (SENSOR_3 < THRESHOLD-4) {
turn_left2;
} else
if (SENSOR_3 < THRESHOLD-3) {
turn_left1;
} else if (SENSOR_3 < THRESHOLD+5) {
go_forward;
} else if (SENSOR_3 < THRESHOLD+10) {
turn_right1;
} else {
turn_right2;
}
Wait(STEP);
}
PlaySound(SOUND_UP); // 4.3Éô֡¢Ä̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¹Ô¤Ã¤¿¤é¡¢¥Ô¥í¥Ô¥í¡Á¤È¹â¤¤²»¤òÌĤ餹
set_power_M; OnRev(OUT_A); OnFwd(OUT_C); Wait(580); // 5.8Éô֡¢º¸¤ËÀû²ó¤¹¤ë
while(SENSOR_2==0){ // ¥¿¥Ã¥Á¥»¥ó¥µ¡¼¤¬¥ª¥Õ¤Î´Ö¡¢¥Ü¡¼¥ë¤ò¥¥ã¥Ã¥Á¤¹¤ëÆ°ºî¤ò¹Ô¤¦
catch_ball;
}
Off(OUT_B);
¥Ü¡¼¥ë¤ò¼è¤Ã¤Æ¤«¤é¿Ê¹ÔÊý¸þ¤Ë¥í¥Ü¥Ã¥È¤ò¸þ¤±¤ë¤Þ¤Ç~
¥Ü¡¼¥ë¤ò¼è¤Ã¤Æ¤«¤é¤â¸÷¥»¥ó¥µ¡¼¤¬¹õ¤ËÈ¿±þ¤¹¤ë¤Þ¤Çº¸Àû²ó¤µ¤»¤ë¤³¤È¤Ë¤è¤Ã¤Æ¿Ê¹ÔÊý¸þ¤Ë¥í¥Ü¥Ã¥È¤ò»ý¤Ã¤Æ¤¤¤¯¡£¥Ü¡¼¥ë¤ò¼è¤Ã¤Æ¤«¤é¤¹¤°¤Ë¸÷¥»¥ó¥µ¡¼¤ò»È¤¦¤È¡¢½é¤á¤ËµÕÊý¸þ¤Î¹õÀþ¤ËÈ¿±þ¤·¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢£²Éô֥¿¥¤¥Þ¡¼¤ò»È¤Ã¤ÆÀû²ó¤·¤Æ¡¢½é¤á¤Î¹õÀþ¤òÆÍÇˤ·¤Æ¤«¤é¸÷¥»¥ó¥µ¡¼¤ò»ÈÍÑ¡£
Wait(200); // £²Éô֡¢¥Ü¡¼¥ë¤ò¥¥ã¥Ã¥Á¤¹¤ë¤È¤¤Îº¸Àû²ó¤ò³¤±¤ë
Off(OUT_AC);
while (SENSOR_3 > THRESHOLD-5) { // ¸÷¥»¥ó¥µ¡¼¤¬¹õ¤¤Àþ¤ËÈ¿±þ¤¹¤ë¤Þ¤Ç¡¢º¸¤ËÀû²ó
turn_left2;
}
Off(OUT_AC);
¥Ü¡¼¥ë¤òÂǤÁ½Ð¤¹~
¥í¥Ü¥Ã¥È¤ò¿Ê¹ÔÊý¸þ¤Ë¸þ¤±¤¿¤é¡¢¤¹¤°¤Ë¥Ü¡¼¥ë¤òÂǤÁ½Ð¤¹Æ°ºî¤ËÆÍÆþ¡£¤½¤Î¤Þ¤ÞÂǤĤȤȴ̤Ëľ·â¤·¤Æ¤·¤Þ¤¦¤¿¤á¾¯¤·Ìá¤Ã¤Æ¤«¤é¥Ü¡¼¥ë¤òÂǤÁ½Ð¤¹¡£
go_back;Wait(80);Off(OUT_AC);Wait(100); // 0.8Éôָå¤í¤Ë²¼¤¬¤Ã¤Æ¡¢£±ÉôÖÄä»ß
pass_ball; // ¥Ü¡¼¥ë¤òÂǤÁ½Ð¤¹
¥Ü¡¼¥ë¤òÂǤÁ½Ð¤·¤Æ¤«¤é¡¢¥Ü¡¼¥ë¤ò¼õ¤±¤ë¤Þ¤Ç~
Ä̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤·¤Æ¡¢¥Ü¡¼¥ë¤ò¼õ¤±¤ë°ÌÃ֤ޤǥ¿¥¤¥Þ¡¼¤ò»È¤Ã¤Æ°ÜÆ°¤¹¤ë¡£¥Ü¡¼¥ë¤òÂǤÁ½Ð¤·¤¿»þ¤Ë¸å¤í¤Ë²¼¤ë¤Î¤Ç¡¢¥é¥¤¥ó¤òæÀþ¤·¤Æ¤·¤Þ¤¦¤«¤é¡¢¾¯¤·Á°¤Ë¿Ê¤ó¤Ç¤«¤é¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤·¤Þ¤¹¡£¥Ü¡¼¥ë¤Ï¥¢¡¼¥à¤ÎÈÏ°ÏÆâ¤Ë½Ð¤µ¤ì¤ë¤È¡¢¼«Á³¤È¥¢¡¼¥à¤ÎÆ⦤˼ý¤Þ¤ë¤Î¤Ç¡¢¾¯¤·º¸¤Ë¥«¡¼¥Ö¤·¤Æ¡¢¥Ü¡¼¥ë¤ò¥¢¡¼¥à¤Î±ü¤Ë°ÜÆ°¤µ¤»¤Æ¤«¤é¥Ü¡¼¥ë¤ò¥¥ã¥Ã¥Á¤¹¤ë¡£
¡¡¡¡go_forward;Wait(80);Off(OUT_AC); // 0.8ÉôÖÁ°¿Ê¤·¤Æ¡¢¹õ¤¤Àþ¤ËÈ¿±þ¤Ç¤¤ë¤È¤³¤í¤Þ¤Ç°ÜÆ°¤¹¤ë
ClearTimer(0); // ¥¿¥¤¥Þ¡¼¤ò¥ê¥»¥Ã¥È
while (FastTimer(0) <= 170) { // 1.7Éô֡¢Ä̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹
if (SENSOR_3 < THRESHOLD-4) {
turn_right2;
} else
if (SENSOR_3 < THRESHOLD-3) {
turn_right1;
} else if (SENSOR_3 < THRESHOLD+5) {
go_forward;
} else if (SENSOR_3 < THRESHOLD+10) {
turn_left1;
} else {
turn_left2;
}
Wait(STEP);
}
Off(OUT_AC); // 1.7Éô֡¢Ä̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¹Ô¤Ã¤¿¤éÄä»ß¤¹¤ë
Wait(1000); // Áê¼ê¤«¤é¤Î¥Ñ¥¹¤¬¤¯¤ë¤Þ¤Ç¤Î10ÉôÖÄä»ß¤·¤ÆÂÔ¤Ä
turn_left1;Wait(100); // £±Éôֺ¸¤Ë¥«¡¼¥Ö¤·¤Æ¡¢¥Ü¡¼¥ë¤ò¥¢¡¼¥à¤Î±ü¤Þ¤Ç°ÜÆ°¤µ¤»¤ë
while(SENSOR_2==0){ // ¥¿¥Ã¥Á¥»¥ó¥µ¡¼¤¬¥ª¥Õ¤Î´Ö¡¢¥Ü¡¼¥ë¤ò¥¥ã¥Ã¥Á¤¹¤ëÆ°ºî¤ò³¤±¤ë
catch_ball;
}
Off(OUT_B);
PlaySound(SOUND_UP); // ¥Ü¡¼¥ë¤ò¥¥ã¥Ã¥Á¤·¤¿¤é¡¢¥Ô¥í¥Ô¥í¡Á¤È¹â¤¤²»¤òÌĤ餹
}
¥í¥Ü¥³¥ó¤Çȯɽ¤·¤¿¥×¥í¥°¥é¥à¤Ï¤³¤³¤Þ¤Ç¡£
´Ì¤Ë¸þ¤«¤Ã¤Æ¥·¥å¡¼¥È~
´Ì¤Ë¥·¥å¡¼¥È¤¹¤ë¤È¤¤Î¥×¥í¥°¥é¥à¤â°ì±þźÉÕ¡£
ºÇ¸å¤Ë¥Ö¡¼¥ë¤ò¼õ¤±¤ë°ÌÃÖ¤«¤é¡¢¥·¥å¡¼¥È¤¹¤ë¤Þ¤Ç¤Î¥×¥í¥°¥é¥à¡£Ì¿ÃæΨ¤Ï¹â¤á¡£
¤³¤³¤ÇÂç»ö¤Ê¤Î¤Ï¡¢¥·¥å¡¼¥È¤¹¤ë°ÌÃÖ¼è¤ê¤Ê¤Î¤Ç£±ÉÃÁ°¿Ê¡¢0.6Éú¸¤ËÀû²ó¤¹¤ë¤³¤È¤Ë¤è¤Ã¤ÆÀä¹¥¤Î°ÌÃÖ¤ËÃ夤ޤ¹¡£¤³¤³¤Þ¤Ç¤¤¿¤é¡¢¤½¤Î¤Þ¤Þ¥·¥å¡¼¥È¡£
task main()
{
OnFwd(OUT_AC);Wait(100); // £±ÉÃÁ°¿Ê
OnRev(OUT_A); OnFwd(OUT_C);Wait(60);Off(OUT_AC); // 0.6Éᢺ¸¤ËÀû²ó
OnRev(OUT_B);Wait(100);Off(OUT_B); // ¥Ü¡¼¥ë¤òÂǤÁ½Ð¤¹
}
*¤Þ¤È¤á [#pf62a8c6]
-¥í¥Ü¥Æ¥£¥¯¥¹ÆþÌ祼¥ß¤ÎºÇ½ª²ÝÂê¤È¤Ê¤Ã¤¿¤³¤Î²ÝÂꣲ¤Ç¤¹¤¬¡¢´°À®¤µ¤»¤ë¤³¤È¤Ï½ÐÍè¤Þ¤»¤ó¤Ç¤·¤¿¡£¤·¤«¤·¡¢²ÝÂ꣱¤ÈÈæ¤Ù¤ë¤È¤Ï¤ë¤«¤Ëºî¤ê¤³¤á¤¿µ¤¤¬¤·¤Þ¤¹¡£¥Á¡¼¥à¥á¥¤¥È¤Î¥¢¥¤¥Ç¥¢¤Ë¤¿¤¯¤µ¤ó½õ¤±¤é¤ì¡¢¤³¤³¤Þ¤Ç¤Ç¤¤Þ¤·¤¿¡£¤È¤Æ¤â³Ú¤·¤¤¹ÖµÁ¤Ç¤·¤¿¡£
¥Ú¡¼¥¸Ì¾: