Ìܼ¡
»æ¥³¥Ã¥×¼ý½¸Ê¬ÊÌ¥í¥Ü¥Ã¥È
2Âæ¤Î¥í¥Ü¥Ã¥È¤Ç»æ¥³¥Ã¥×¤ò¼ý½¸¤·¡¢Æ±¤¸ÈÖ¹æ¤Î½ñ¤«¤ì¤Æ¤¤¤ë»æ¥³¥Ã¥×¤Ë½Å¤Í¤ë
¥í¥Ü¥³¥ó¤Î¥Õ¥£¡¼¥ë¥ÉÊ¿ÌÌ¿Þ
¥Õ¥£¡¼¥ë¥É¤ÎÀâÌÀ
¥Õ¥£¡¼¥ë¥É¤Ï²ÝÂê1¤Ç»ÈÍѤ·¤¿»æ¤ò2Ëç¤Ä¤Ê¤®¹ç¤ï¤»¤ë (¾ÜºÙ¤Ê¿ÞÌ̤ϲÝÂê1¤ò»²¾È¤Î¤³¤È)¡£
¿Þ¤Î±¦È¾Ê¬¤Î²«¿§¤¤ÃÏÅÀ¤Ë¤Ï¡¢¤½¤Î¿ô»ú¤ÈƱ¤¸¿ô»ú¤¬½ñ¤¤¤Æ¤¢¤ë»æ¥³¥Ã¥×¤¬ÃÖ¤«¤ì¤Æ¤¤¤ë¡£ ¤Þ¤¿º¸È¾Ê¬¤ÎA,B,C¤ÎÃÏÅÀ¤Ë¤â1¤«¤é3¤Þ¤Ç¤Î¿ô»ú¤¬½ñ¤«¤ì¤Æ¤¤¤ë»æ¥³¥Ã¥×¤¬ÃÖ¤«¤ì¤Æ¤¤¤ë¤¬¡¢ ¤É¤Î¥³¥Ã¥×¤ò¤É¤ÎÃÏÅÀ¤ËÃÖ¤¯¤«¤ÏľÁ°¤Ë¥µ¥¤¥³¥í¤ò¿¶¤Ã¤Æ·è¤á¤ë¡£
¥ë¡¼¥ë
´ðËܥ롼¥ë
◦¶¥µ»»þ´Ö¤Ï¿³È½¤¬Â³¹ÔÉÔǽ¤ÈȽÃǤ¹¤ë¤Þ¤Ç¡¢¤¢¤ë¤¤¤Ï¥ê¥¿¥¤¥¢¤¹¤ë¤Þ¤Ç¡£
◦¿Þ¤Î±¦¾å¤Î¥¹¥¿¡¼¥È¥¨¥ê¥¢¤«¤é¥¹¥¿¡¼¥È¤¹¤ë(²ÝÂê1¤ÈƱ¤¸)¡£
ÀÜÃϤ·¤Æ¤¤¤ëÉôʬ¤¬¥¹¥¿¡¼¥È¥¨¥ê¥¢Æâ¤ËÆþ¤Ã¤ÆÆþ¤ì¤Ð¤è¤¤¡£
◦¿Þ¤Îº¸È¾Ê¬¤Ë¤¢¤ë»æ¥³¥Ã¥×¤ò½¸¤á¤Æ¡¢¤½¤ì¤¾¤ì±¦È¾Ê¬¤Ë¤¢¤ëƱ¤¸ÈÖ¹æ¤Î»æ¥³¥Ã¥×¤Ë½Å¤Í¤ë¡£
◦±¦È¾Ê¬¤Î»æ¥³¥Ã¥×¤Ï10cmÆâ¤Î°ÜÆ°¤Ïǧ¤á¤ë
◦³«»Ï¤Î¹ç¿Þ¤«¤é£µÉðÊÆâ¤Ë¥¹¥¿¡¼¥È¥Ü¥¿¥ó¤ò²¡¤¹ºî¶È¤ò´°Î»¤¹¤ë¤³¤È¡£
◦¶¥µ»¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¡¢¥í¥Ü¥Ã¥È¤Ë¿¨¤Ã¤¿¤ê¿Í´Ö¤¬±ó³Ö¤ÇÁàºî¤·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£
◦ÅÓÃæ¤Ç¤¦¤Þ¤¯Æ°¤«¤Ê¤¯¤Ê¤Ã¤¿¾ì¹ç¡¢£±²ó¸Â¤êºÆ¥¹¥¿¡¼¥È¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡ÊºÆ¥¹¥¿¡¼¥È¤ÎºÝ¤ËÊÌ¥×¥í¥°¥é¥à¤Çµ¯Æ°¤·¤Æ¤è¤¤¡Ë¡£ :´ðËÜÆÀÅÀ¤Î·×»»ÊýË¡
◦Ʊ¤¸ÈÖ¹æ¤Î»æ¥³¥Ã¥×¤Ë½Å¤Í¤ë¤³¤È¤¬¤Ç¤¤ì¤Ð¡¢1ÁȤÇ10ÅÀ
◦Èֹ椬1°ã¤¤¤Î»æ¥³¥Ã¥×¤Ë½Å¤Í¤ì¤Ð¡¢1ÁȤÇ2ÅÀ
◦Èֹ椬2°ã¤¤¤Î»æ¥³¥Ã¥×¤Ë½Å¤Í¤ì¤Ð¡¢1ÁȤÇ0ÅÀ
◦ºÇ½ªÅª¤Ê»æ¥³¥Ã¥×¤Î°ÌÃÖ¤¬10cm°Ê¾åÆ°¤¤¤¿¾ì¹ç¤Ï¡¢¤½¤Î1ÁȤÎÅÀ¿ô¤òȾʬ¤Ë¤¹¤ë
´äº´¶Ç»Ë(kanzaki) ½©»³ÏºÈ(ayusaka) Æ£²¬Ë§Ìï(fuji)
¾¤Î¥°¥ë¡¼¥×¤Î¥í¥Ü¥Ã¥È¤ÈÈæ¤Ù¤Æ¤Ç¤«¤¯¤Ê¤ê¤¹¤®¤¿¡£
ÀµÌ̤ò¸þ¤¤¤Æ¤¤¤ëÀĤ¤¥Ö¥í¥Ã¥¯¤¬»æ¥³¥Ã¥×¤ò¼±Ê̤¹¤ë¤¿¤á¤Î¥»¥ó¥µ¡¼
²¼¤ò¸þ¤¤¤Æ¤¤¤ëÀĤ¤¥Ö¥í¥Ã¥¯¤¬¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤¹¤ë¤¿¤á¤Î¥»¥ó¥µ¡¼
Á°Êý¤Ë¤Ä¤¤¤Æ¤¤¤ë¤³¤ÎÉôÉʤ¬¾å²¼¤·¤Æ
¤³¤Î¤è¤¦¤Ë¥³¥Ã¥×¤ò¤Ä¤«¤à¡£
¤³¤ÎÉôÉʤò¾å¤Ë¾å¤²¤Æ¤¤¤¯¤ÈÀÖ¤¤Æ͵¯¤¬¤Ä¤¤¤¿½ê¤Ë»æ¥³¥Ã¥×¤¬¤¢¤¿¤ê¥³¥Ã¥×¤¬Íî¤Á¤ë¡£
#define HIPOWER 1¡¡¡¡¡¡//ľÀþÍѤΥѥ #define LOWPOWER 3 //¥«¡¼¥ÖÍѤΥѥ #define set_power_H SetPower(OUT_AC,HIPOWER); #define set_power_L SetPower(OUT_AC,LOWPOWER); #define go_forward set_power_H; OnFwd(OUT_AC); //ľ¿Ê #define turn_left1 set_power_L;\ OnFwd(OUT_C); OnRev(OUT_A); //º¸Àû²ó #define turn_left0 set_power_L;\ OnFwd(OUT_C); Off(OUT_A); //º¸ÀÞ #define turn_right0 set_power_L;\ OnFwd(OUT_A); Off(OUT_C); //±¦Àû²ó #define turn_right1 set_power_L;\ OnFwd(OUT_A); OnRev(OUT_C); //±¦ÀÞ #define SIGNALON 13 #define cross set_power_H; OnFwd(OUT_AC);Wait(20); //¸òº¹ÅÀ¤òÅϤë #define c1 if (SENSOR_3 < 37) {Off(OUT_AC); SendMessage(SIGNALON);Wait(80);} //¹õ¤¤»æ¥³¥Ã¥×¤ò¸«¤Ä¤±¤¿¤é¥á¥Ã¥»¡¼¥¸¤òÁ÷¤ë¡£
task main() {
SetSensor(SENSOR_2,SENSOR_LIGHT);¡¡//¸÷¥»¥ó¥µ¡¼¥»¥Ã¥È SetSensor(SENSOR_3,SENSOR_LIGHT);¡¡ int nl=0; int cc=0; go_forward; Wait(460); turn_left1; Wait(140); go_forward; Wait(280);
¤³¤³¤Þ¤Ç¤Î¥×¥í¥°¥é¥à¤Ç¿Þ¤ÎAÃÏÅÀ¤Þ¤ÇÍè¤Þ¤¹¡£¤³¤³AÃÏÅÀ¤Ë¤¢¤ë»æ¥³¥Ã¥×¤ò¤È¤ê¤¢¤¨¤ºA¤ÈB¤Î´Ö¤Ë¤¢¤ë¸òº¹ÅÀ¤Þ¤Ç²¡¤·¤Æ¤¤¤¤Þ¤¹¡£
ClearTimer(0); while (true) { while ((nl < 5) ||(FastTimer(0)<500)){ if (SENSOR_2 < 37) { //Ç»¤¤¹õ¤ò´¶ÃΤ·¤¿¤é turn_left1; nl++; } else if (SENSOR_2 < 41) { //Çö¤¤¹õ¤ò´¶ÃΤ·¤¿¤é turn_left0; nl=0; } else if (SENSOR_2 < 45) { //³¥¿§¤ò´¶ÃΤ·¤¿¤é go_forward; nl=0; } else if (SENSOR_2 < 50) { //Çö¤¤Çò¤ò´¶ÃΤ·¤¿¤é turn_right0; } else { //Ç»¤¤Çò¤ò´¶ÃΤ·¤¿¤é turn_right1; nl=0; } Wait(1); }
¾åµ¤Î¥×¥í¥°¥é¥à¤¬¥é¥¤¥ó¥È¥ì¡¼¥¹¤Ç¤¹¡£ ¸÷¥»¥ó¥µ¡¼¤Ë¤è¤êÌÀ¤ë¤µ¤ò¬¤Ã¤Æ¡¢ÌÀÅÙ¤ÎÃͤˤè¤êº¸±¦¤Ë¶Ê¤¬¤é¤»¤Æ¥é¥¤¥ó¾å¤ò¿Ê¤ß¤Þ¤¹¡£ ¡¡¸òº¹ÅÀ¤Ïº¸Àû²ó¤Î²ó¿ô¤ò·×¤ë¤³¤È¤ÇȽÊ̤·¤Þ¤¹¡£º¸Àû²ó¤Î²ó¿ô¤Ïnl¤È¤¤¤¦¥«¥¦¥ó¥¿¡¼¤Ç ·×¤ê¤Þ¤¹¡£¾åµ¤ÎÆ°ºî¤Ï°ì²ó¤¢¤¿¤ê1/100ÉôֹԤï¤ì¤Þ¤¹¡£¤Ä¤Þ¤êϢ³¤Çº¸Àû²ó¤¬¹Ô¤ï¤ì¤Æ nl¤¬²Ã»»¤µ¤ì¤Æ¤¤¤Ã¤¿¾ì¹ç¡¢nl¤¬5¤Ë¤Ê¤ë¤Î¤Ë¤«¤«¤ë»þ´Ö¤Ï0.5ÉäȤ·¤Æ¹Í¤¨¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ ±¦Àû²ó¤¬0.5Éðʾå¹Ô¤ï¤ì¤Ê¤¤¸Â¤ê¤ÏÄ̾ï¤Ç¤¢¤ë¤ÈȽÃǤ·¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³¤±¤Þ¤¹¡£
turn_right1; Wait(35); cross; cc++; if (cc == 1) { go_forward; Wait(50); c1; OnRev(OUT_AC); Wait(150); turn_left1; Wait(40); go_forward; Wait(280); c1; OnRev(OUT_AC); Wait(500); turn_left1; Wait(100); go_forward; Wait(200); c1; OnRev(OUT_AC); Wait(100);
¸òº¹ÅÀ¤òÄ̤俸åAÃÏÅÀ¤Ë¤¢¤Ã¤¿»æ¥³¥Ã¥×¤Î¿§¤òȽÃǤ·¤Æ¼¡¤ËBÃÏÅÀ¤Ë¸þ¤«¤¤»æ¥³¥Ã¥×¤Î¿§¤òȽÃǤ·ºÇ¸å¤ËCÃÏÅÀ¤Î»æ¥³¥Ã¥×¤Ë¸þ¤«¤¤»æ¥³¥Ã¥×¤Î¿§¤òȽÃǤ·¤Þ¤¹¡£¤½¤ÎÃ椫¤é¹õ¿§¤À¤Ã¤¿¤â¤Î¤ò¤Ä¤«¤ß¤Þ¤¹¡£
turn_left1; Wait(330); go_forward; Wait(1000);
CÃÏÅÀ¤«¤é£±ÃÏÅÀ¤Þ¤Ç»æ¥³¥Ã¥×¤ò±¿¤Ó¤Þ¤¹
} } }
̤´°À®¤Ç¤¹¤¬¤³¤³¤Þ¤Ç¤·¤«¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿¡£Í½Äê¤Ç¤Ï¤³¤Î¤Þ¤Þº¸¤Î¥Õ¥£¡¼¥ë¥É¤ËÌá¤ê³¥¿§¤Î»æ¥³¥Ã¥×¤ò¤Ä¤«¤ó¤Ç2¤ÎÃÏÅÀ¤Ø¹Ô¤¡¢¤Þ¤¿Ìá¤Ã¤ÆÇò¤Î»æ¥³¥Ã¥×¤ò¤Ä¤«¤ß3¤ÎÃÏÅÀ¤Ø¹Ô¤¯Í½Äê¤Ç¤·¤¿¡£
#define SIGNALON 13
task main ()
{
ClearMessage(); while (true) { until (Message() == SIGNALON); OnFwd(OUT_AC); Wait(30); OnRev(OUT_AC); Wait(30);
Off(OUT_AC); } }
»æ¥³¥Ã¥×¤ò¤Ä¤«¤à¥×¥í¥°¥é¥à¤Ç¤¹¡£
Á°Êý¤¬½Å¤¹¤®¤Æ·¹¤¤¤Æ¤·¤Þ¤Ã¤¿¡£¤½¤Î¤»¤¤¤Ç»æ¥³¥Ã¥×¤ò¤Ä¤«¤àÀ©ÅÙ¤¬Íî¤Á¤¿¡£
¥¿¥¤¥ä¤È¥¿¥¤¥ä¤È¤Î´Ö¤Îµ÷Î¥¤ò¤¢¤±¤Ê¤«¤Ã¤¿¤³¤È¤ÇÉÔ°ÂÄê¤Ë¤Ê¤Ã¤¿¡£
¤³¤Î¥Ñ¡¼¥Ä¤òÁ°Êý¤Ë¤Ä¤±¤ë¤³¤È¤Ë¤è¤ê»æ¥³¥Ã¥×¤¬Íè¤ë°ÌÃÖ¤¬¸ÇÄê¤Ç¤¡¢»æ¥³¥Ã¥×¤ò¤Ä¤«¤à¤¿¤á¤Î¥×¥í¥°¥é¥à¤ÎÈùÄ´À°¤¬É¬Íפʤ¯¤Ê¤Ã¤¿¡£
º£²ó¤ÏÆäËÂçÊѤÀ¤Ã¤¿¡£¥í¥Ü¥Ã¥È¤¬´°À®¤·¤¿¤È»×¤¤¥×¥í¥°¥é¥à¤òºî¤Ã¤ÆÁö¤é¤»¤Æ¤ß¤ë¤È¥í¥Ü¥Ã¥È¤Ë¿§¡¹¤Ê·çÅÀ¤¬¸«¤Ä¤«¤Ã¤¿¤ê¤·¤Æ¤«¤Ê¤ê»þ´Ö¤¬¤«¤«¤Ã¤¿¡£¥×¥í¥°¥é¥à¤¬ºÇ¸å¤Þ¤Ç¤Ë´°À®¤·¤Ê¤«¤Ã¤¿¤Î¤¬»ÄÇ°¤À¤Ã¤¿¡£½é¤á¤Ë¥í¥Ü¥Ã¥È¤È¥×¥í¥°¥é¥à¤Ë»È¤¦»þ´Ö¤ÏƱ¤¸¤Ë¤·¤í¤È¸À¤ï¤ì¤Æ¤¤¤¿¤¬¥í¥Ü¥Ã¥È¤Î¤Û¤¦¤Ð¤«¤ê¤Ë»þ´Ö¤ò»È¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£ÂçÊѤÀ¤Ã¤¿¤¬¹Í¤¨¤Æ¤¤¤ë¤È¤¤Ï¤Ê¤«¤Ê¤«³Ú¤·¤«¤Ã¤¿¡£¥í¥Ü¥Ã¥È¤Ï¤Ê¤«¤Ê¤«»×¤¤Ä̤ê¤ËÆ°¤«¤Ê¤¤¤Ê¤È¼Â´¶¤·¤¿¡£