2014a/Member/tacchan/Mission2
¤ò¥Æ¥ó¥×¥ì¡¼¥È¤Ë¤·¤ÆºîÀ®
[
¥È¥Ã¥×
] [
¿·µ¬
|
°ìÍ÷
|
¸¡º÷
|
ºÇ½ª¹¹¿·
|
¥Ø¥ë¥×
|
¥í¥°¥¤¥ó
]
³«»Ï¹Ô:
[[2014a/Member]]
*¼è¤êÁȤó¤À²ÝÂê¤ÎÀâÌÀ [#s4124420]
¡¡º£²ó¼è¤êÁȤó¤À²ÝÂê¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï&ref(http://yakushi.shinshu-u.ac.jp/robotics/?2014a%2FMission2);¤ò»²¾È
*¥á¥ó¥Ð¡¼ [#l2d34f74]
¡¦tacchan
¡¦yukiyamaneko
¡¦monodoll
¡¦nari
*Àïά [#g8622225]
&ref(2014a/Member/tacchan/Mission2/2014a-mission2.png,70%);
¡¦¤³¤Î²ÝÂê¤ò°Ê²¼¤Î¼ê½ç¤Ç¹¶Î¬¤¹¤ë¤Ä¤â¤ê¤Ç¤¢¤Ã¤¿¡£
¡¥³¥Ã¥×A¤ò¼è¤ê¤Ë°ÜÆ°¤·¥³¥Ã¥×¤Î¼±Ê̤ò¤¹¤ë¡£¡Ê¥³¥Ã¥×¤Ë¤Ï¹õ¡¦¤Í¤º¤ß¿§¡¦Çò¤Î»°¿§¤ËÅɤé¤ì¤¿¥³¥Ã¥×¤ò¥é¥¤¥È¥»¥ó¥µ¡¼¤ÇÆɤ߼è¤ê¸÷¤Î¶¯¤µ¤Ç¼±Ê̤¹¤ë¡£¡Ë
¢A¤¬¤¢¤Ã¤¿ÃÏÅÀ¤ò´ð½àÅÀ¤È¤·¼±Ê̤µ¤ì¤¿¥³¥Ã¥×¤òÆþ¤ì¤ë¾ì½ê¤Þ¤Ç°ÜÆ°¤·¥¢¡¼¥à¤ò²¼¤í¤¹¡£
£AÃÏÅÀ¤Þ¤ÇÌá¤ê¼¡¤Î¥³¥Ã¥×¤ò¼è¤ê¤Ë¤¤¤ºÆ¤ÓAÃÏÅÀ¤Þ¤ÇÌá¤ê¢¤ò·«¤êÊÖ¤¹¡£
¤£¤Î·«¤êÊÖ¤·¡£
Âç²ñÅöÆü¤Ç¤Ï¥³¥Ã¥×A¤ò¼è¤ê¼±Ê̤·Âбþ¤¹¤ë¥³¥Ã¥×¤Ë¤«¤Ö¤»ºÆ¤ÓAÃÏÅÀ¤Þ¤ÇÌá¤Ã¤Æ¤¯¤ë¤È¤³¤í¤Þ¤Ç¤·¤«¥×¥í¥°¥é¥à¤¬´°À®¤·¤Ê¤«¤Ã¤¿¡£
*¥í¥Ü¥Ã¥È [#ld469458]
&ref(2014a/Member/tacchan/Mission2/front.jpg);
¡¦¼Ö¼´¤Î¤½¤Ð¤Ë¥é¥¤¥ó¥È¥ì¡¼¥¹ÍѤΥ饤¥È¥»¥ó¥µ¡¼¤ò¤Ä¤±¤½¤ì¤Èľ³Ñ¤Ë¤Ê¤ë¸þ¤¤Ë¥³¥Ã¥×¼±ÊÌÍѤΥ饤¥È¥»¥ó¥µ¡¼¤òÉÕ¤±¤¿¡£
¡¦¥¢¡¼¥à¤Ï¥³¥Ã¥×¤òÄϤó¤À¤¢¤È¡¢¤µ¤é¤ËÎϤ¬²Ã¤ï¤ë¤È¤½¤ì¤ò¥³¥Ã¥×¤ò»ý¤Á¾å¤²¤ë¸þ¤¤ËÎϤ¬Æ¯¤¯¤è¤¦¤Ë¤·¤¿¡£¤Þ¤¿¥¢¡¼¥à¤Ï¥³¥Ã¥×¼±ÊÌÍѤΥ饤¥È¥»¥ó¥µ¡¼¤«¤éÎ¥¤ì¤¹¤®¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤¿¤á¤ËSlave¤È¿âľ¤Ë¤Ê¤ë¤è¤¦¤Ë¸ÇÄꤷ¤¿¡£
&ref(2014a/Member/tacchan/Mission2/left.jpg);
¡¦Main¤ÈSlave¤ò¼ÖÂΤ˿⾤˸ÇÄꤷ¼ÖÂΤνſ´¤¬¸å¤í¤Ë¹Ô¤²á¤®¤¿¤¿¤á¡¢¸åÎؤò£²¤Ä¤Ë¤·¤¿¡£
&ref(2014a/Member/tacchan/Mission2/under.jpg);
* [#s055c902]
---Main:ËÜÂÎÀ©¸æ
#define bri 55
#define s1 50 //¹â®
#define s2 30 //Äã®
#define OnRL(x,y) OnFwd(OUT_A,x); OnFwd(OUT_C,y);
#define go OnFwdSync(OUT_AC,s2,0); //ľ¿Ê
#define left1 OnRL(-s2,s2); //º¸Àû²ó
#define left0 OnRL(0,s2); //º¸ÀÞ
#define right0 OnRL(s2,0); //±¦ÀÞ
#define right1 OnRL(s2,-s2); //±¦Àû²ó
#define step 1
#define nMAX 300 //nMAX¤òĶ¤¨¤¿»þ¸òº¹ÅÀ¤ÈȽÃǤ¹¤ë
#define short_break Off(OUT_AC); Wait(500); //¾®µÙ·Æ
#define cross_line go;Wait(200);short_break; //¸òº¹ÅÀ¤òÅϤë
#define open 4
#define motiageru 1
#define tukamu 2
#define hanasu 3
#define time1 2000 //»Ï¤á¤ÎÀû²ó¡¢¤Á¤ç¤¦¤É90¡ëÀû²ó¤Ç¤¤ë»þ´Ö¡¢Í×ÀßÄê
#define part2 15000 //A¤òÄϤó¤Ç¤«¤é£±¤ËÃÖ¤¯¤Þ¤Ç¤Î»þ´Ö¡¢Í×ÀßÄê
#define part3 10000 //A¤òÄϤó¤Ç¤«¤é£²¤ËÃÖ¤¯¤Þ¤Ç¤Î»þ´Ö¡¢Í×ÀßÄê
#define part4 15000 //A¤òÄϤó¤Ç¤«¤é£³¤ËÃÖ¤¯¤Þ¤Ç¤Î»þ´Ö¡¢Í×ÀßÄê
#define song PlaySound(SOUND_CLICK);//²»¤òÌĤ餹
task main()
{
SetSensorLight(S2); //¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤¹¤ë¥é¥¤¥È¥»¥ó¥µ¡¼¤òÀßÃÖ
SetSensorLight(S3); //»æ¥³¥Ã¥×¤ò¼±Ê̤¹¤ë¤¿¤á¤Î¥é¥¤¥È¥»¥ó¥µ¡¼¤òÀßÃÖ
go;
Wait(4500);//4.5ÉôÖľ¿Ê
song;
left1;//º¸¤ËÀû²ó
Wait(time1);//90Åٲ󞤹¤ë¤Þ¤Ç³¤±¤ë
song;
go;//ľ¿Ê
Wait(800);
song;
SendRemoteNumber(1,0,open);
song;
go;
Wait(3000);
SendRemoteNumber(1,0,tukamu);//¤Ä¤«¤à
song;
int n1 = 0;//n1¤È¤¤¤¦´Ø¿ô¤òÀßÃÖ
int rooot = 0;//rooot¤È¤¤¤¦´Ø¿ô¤òÀßÃÖ
/*¤³¤Ã¤«¤éȽÊ̤ËÆþ¤ë*/
while(rooot = 0){
if(SENSOR_3 < 42){
rooot = 3;}//¥»¥ó¥µ¡¼¤¬42̤Ëþ¤Î¾ì¹ç¥ë¡¼¥È3¤Ø
else if(SENSOR_3 < 50){
rooot = 2;}//¥»¥ó¥µ¡¼¤¬50̤Ëþ¤Î¾ì¹ç¥ë¡¼¥È2¤Ø
else{
rooot = 1;}//¤½¤ì°Ê³°¤Î¾ì¹ç¥ë¡¼¥È1¤Ø
}
Wait(1000);
song;
SendRemoteNumber(1,0,motiageru); //»Òµ¡¤ËÁ÷¿®¤·¥¢¡¼¥à¤ò²ÔƯ¤·»ý¤Á¾å¤²¤ë
song;
go;//ľ¿Ê
Wait(1000);//1ÉôÖ³¤±¤ë
left0;//º¸ÀÞ
Wait(1000);
until(SENSOR_2 <45);//¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë¥»¥ó¥µ¡¼¤¬45̤Ëþ¤Ë¤Ê¤ë¤Þ¤Ç³¤±¤ë
long line = 0;//long line¤È¤¤¤¦´Ø¿ô¤òÀßÃÖ
long t1 = CurrentTick();//t1¤È¤¤¤¦´Ø¿ô¤òÀßÃÖ
while(rooot = 1){ //rooot¤¬1¤Î´Ö¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³¤±¤ë
while(CurrentTick()-t1 <= part2){ //t1¤¬part2¤è¤êÂ礤¯¤Ê¤ë¤Þ¤Ç¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³¤±¤ë
while (line < nMAX) { // line¤¬nMAX°Ê¾å¤Ë¤Ê¤ë¤Þ¤Ç³¤±¤ë
if (SENSOR_2 < 40) {
right1;
line = line + 10; //¸òº¹ÅÀ¤òÈ´¤±¤ä¤¹¤¯¤¹¤ë
} else {
if (SENSOR_2 < 45) {
right0;
} else if (SENSOR_2 < 55) {
go;
} else if (SENSOR_2 < 60) {
left0;
} else {
left1;
}
line=0;
}
Wait(step);
}
short_break;
right1;
Wait(200);
cross_line;
line=0;
}
SendRemoteNumber(1,0,hanasu);
rooot = 0;
OnRev(OUT_AC,50); //AÃÏÅÀÉÕ¶á¤Þ¤ÇÌá¤ë
Wait(500);
left1;
Wait(time1*2);
go;
Wait(4000);
}
while(rooot = 2){
while(CurrentTick()-t1 <= part3){
if(SENSOR_2 < 40){
left1;}
else if(SENSOR_2 < 45){
left0;}
else if(SENSOR_2 < 55){
go;}
else{
right0;} //±¦Àû²ó¤Ï¤Ê¤·¡¢£²¤Ë¸þ¤«¤¦¤Ë¤Ï¸òº¹ÅÀȽÃǤâɬÍפʤ¤
Wait(step);
}
SendRemoteNumber(1,0,hanasu);
rooot = 0;
OnRev(OUT_AC,50); //AÃÏÅÀÉÕ¶á¤Þ¤ÇÌá¤ë
Wait(500);
left1;
Wait(time1);
go;
until(SENSOR_2 < 45);
}
while(rooot = 3){
while(CurrentTick()-t1 <= part4){
//±¦¥é¥¤¥ó¥È¥ì¡¼¥¹
if(SENSOR_2 < 40){
right1;}
else if(SENSOR_2 < 45){
right0;}
else if(SENSOR_2 < 55){
go;}
else if(SENSOR_2 < 60){
left0;}
else{
left1;}
}
SendRemoteNumber(1,0,hanasu);
rooot = 0;
OnRev(OUT_AC,50); //AÃÏÅÀÉÕ¶á¤Þ¤ÇÌá¤ë
Wait(500);
right1;
Wait(time1 + 300);
go;
Wait(3000);
go;
until(SENSOR_2 < 45);
}
//¤³¤³¤«¤é£²¤ÄÌܤò¤Ä¤«¤ß¤Ë¤«¤«¤ë
//2ËçÌܤΥ¹¥¿¡¼¥ÈÃÏÅÀ¤Ë¸þ¤«¤¦¡¢±ßµ°Æ»¤Ë¾è¤Ã¤Æ¤ëÅÓÃæ¡¢±¦¤Ë¶Ê¤¬¤Ã¤Æ¥¹¥¿¡¼¥ÈÃÏÅÀ¤Ë¹Ô ¤¯Á°¤Ë
//BÃÏÅÀ¤Ë¥·¥ç¡¼¥È¥«¥Ã¥È¤¹¤ë
}
---slave:¥¢¡¼¥àÀ©¸æ
#define on 1
task main()
{
int moterOn;
while(true){
ReceiveRemoteNumber(0,true,moterOn);
if(moterOn == 4){
OnFwd(OUT_B,50);
Wait(300);
Off(OUT_B);
Wait(500);
}
if(moterOn == 1){
OnRev(OUT_B,30);
Wait(1000);
Off(OUT_B);
int moterOn =0;
}
else if(moterOn == 2){
OnRev(OUT_B,30);
Wait(1000);
Off(OUT_B);
int moterOn =0;
}
else if(moterOn == 3){
OnFwd(OUT_B,30);
Wait(1000);
Off(OUT_B);
int moterOn = 0;
}
}
}
*´¶ÁÛ [#h7c9f022]
¡¦º£²ó¤Î²ÝÂê¤ÏÁ°²ó¤Î¤è¤¦¤Ë¤â¤Î¤òÄϤߤ¢¤ëÃÏÅÀ¤Þ¤Ç±¿¤Ö¤â¤Î¤Ç¤¢¤Ã¤¿¤¬¡¢¥³¥Ã¥×¤òÄϤà¤È¤¤Ë¼±Ê̤⤹¤ëɬÍפ¬¤¢¤ê¥í¥Ü¥Ã¥È¤ËÄϤޤ»¼±Ê̤µ¤»¤ëÊýË¡¤ò¡¢¹Í¤¨¤ë¤Î¤Ë¶ìÏ«¤·¤¿¡£¤Þ¤¿¥³¥Ã¥×¤Ï»°¤Ä¤¢¤Ã¤¿¤¿¤á¥é¥¤¥ó¥È¥ì¡¼¥¹¤â»°¤Ä¤Î¥³¡¼¥¹¤½¤ì¤¾¤ì¤ËɬÍפǥí¥Ü¥Ã¥ÈËÜÂΤâÆó¤Ä¤ÎNXT¤ò¤Ä¤«¤¤¹ÔÆ°¤µ¤»¤ë¥×¥í¥°¥é¥à¤¹¤ëɬÍפ¬¤¢¤ê¡¢°ÊÁ°¤Î²ÝÂê¤è¤ê¤âŤ¤½àÈ÷´ü´Ö¤¬Í¿¤¨¤é¤ì¤¿¤¬»×¤¦¤è¤¦¤Ê¥×¥í¥°¥é¥à¤¬¤Ç¤¤ºËÜÈ֤˴֤˹ç¤ï¤»¤ë¤³¤È¤¬¤Ç¤¤Ê¤«¤Ã¤¿¡£¹ÖµÁ¤Î½ªÈפ˹Ԥä¿Æó¤Ä¤Î²ÝÂê¤ÏÆñ¤·¤¤¤â¤Î¤Ç¤¢¤Ã¤¿¤¬¥á¥ó¥Ð¡¼¤È»î¹Ôºø¸í¤·ÌäÂê²ò·è¤Ø¾¯¤·¤Ç¤â¶á¤Å¤¯¤³¤È¤¬¤Ç¤¤ª¤â¤·¤í¤«¤Ã¤¿¡£
½ªÎ»¹Ô:
[[2014a/Member]]
*¼è¤êÁȤó¤À²ÝÂê¤ÎÀâÌÀ [#s4124420]
¡¡º£²ó¼è¤êÁȤó¤À²ÝÂê¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï&ref(http://yakushi.shinshu-u.ac.jp/robotics/?2014a%2FMission2);¤ò»²¾È
*¥á¥ó¥Ð¡¼ [#l2d34f74]
¡¦tacchan
¡¦yukiyamaneko
¡¦monodoll
¡¦nari
*Àïά [#g8622225]
&ref(2014a/Member/tacchan/Mission2/2014a-mission2.png,70%);
¡¦¤³¤Î²ÝÂê¤ò°Ê²¼¤Î¼ê½ç¤Ç¹¶Î¬¤¹¤ë¤Ä¤â¤ê¤Ç¤¢¤Ã¤¿¡£
¡¥³¥Ã¥×A¤ò¼è¤ê¤Ë°ÜÆ°¤·¥³¥Ã¥×¤Î¼±Ê̤ò¤¹¤ë¡£¡Ê¥³¥Ã¥×¤Ë¤Ï¹õ¡¦¤Í¤º¤ß¿§¡¦Çò¤Î»°¿§¤ËÅɤé¤ì¤¿¥³¥Ã¥×¤ò¥é¥¤¥È¥»¥ó¥µ¡¼¤ÇÆɤ߼è¤ê¸÷¤Î¶¯¤µ¤Ç¼±Ê̤¹¤ë¡£¡Ë
¢A¤¬¤¢¤Ã¤¿ÃÏÅÀ¤ò´ð½àÅÀ¤È¤·¼±Ê̤µ¤ì¤¿¥³¥Ã¥×¤òÆþ¤ì¤ë¾ì½ê¤Þ¤Ç°ÜÆ°¤·¥¢¡¼¥à¤ò²¼¤í¤¹¡£
£AÃÏÅÀ¤Þ¤ÇÌá¤ê¼¡¤Î¥³¥Ã¥×¤ò¼è¤ê¤Ë¤¤¤ºÆ¤ÓAÃÏÅÀ¤Þ¤ÇÌá¤ê¢¤ò·«¤êÊÖ¤¹¡£
¤£¤Î·«¤êÊÖ¤·¡£
Âç²ñÅöÆü¤Ç¤Ï¥³¥Ã¥×A¤ò¼è¤ê¼±Ê̤·Âбþ¤¹¤ë¥³¥Ã¥×¤Ë¤«¤Ö¤»ºÆ¤ÓAÃÏÅÀ¤Þ¤ÇÌá¤Ã¤Æ¤¯¤ë¤È¤³¤í¤Þ¤Ç¤·¤«¥×¥í¥°¥é¥à¤¬´°À®¤·¤Ê¤«¤Ã¤¿¡£
*¥í¥Ü¥Ã¥È [#ld469458]
&ref(2014a/Member/tacchan/Mission2/front.jpg);
¡¦¼Ö¼´¤Î¤½¤Ð¤Ë¥é¥¤¥ó¥È¥ì¡¼¥¹ÍѤΥ饤¥È¥»¥ó¥µ¡¼¤ò¤Ä¤±¤½¤ì¤Èľ³Ñ¤Ë¤Ê¤ë¸þ¤¤Ë¥³¥Ã¥×¼±ÊÌÍѤΥ饤¥È¥»¥ó¥µ¡¼¤òÉÕ¤±¤¿¡£
¡¦¥¢¡¼¥à¤Ï¥³¥Ã¥×¤òÄϤó¤À¤¢¤È¡¢¤µ¤é¤ËÎϤ¬²Ã¤ï¤ë¤È¤½¤ì¤ò¥³¥Ã¥×¤ò»ý¤Á¾å¤²¤ë¸þ¤¤ËÎϤ¬Æ¯¤¯¤è¤¦¤Ë¤·¤¿¡£¤Þ¤¿¥¢¡¼¥à¤Ï¥³¥Ã¥×¼±ÊÌÍѤΥ饤¥È¥»¥ó¥µ¡¼¤«¤éÎ¥¤ì¤¹¤®¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤¿¤á¤ËSlave¤È¿âľ¤Ë¤Ê¤ë¤è¤¦¤Ë¸ÇÄꤷ¤¿¡£
&ref(2014a/Member/tacchan/Mission2/left.jpg);
¡¦Main¤ÈSlave¤ò¼ÖÂΤ˿⾤˸ÇÄꤷ¼ÖÂΤνſ´¤¬¸å¤í¤Ë¹Ô¤²á¤®¤¿¤¿¤á¡¢¸åÎؤò£²¤Ä¤Ë¤·¤¿¡£
&ref(2014a/Member/tacchan/Mission2/under.jpg);
* [#s055c902]
---Main:ËÜÂÎÀ©¸æ
#define bri 55
#define s1 50 //¹â®
#define s2 30 //Äã®
#define OnRL(x,y) OnFwd(OUT_A,x); OnFwd(OUT_C,y);
#define go OnFwdSync(OUT_AC,s2,0); //ľ¿Ê
#define left1 OnRL(-s2,s2); //º¸Àû²ó
#define left0 OnRL(0,s2); //º¸ÀÞ
#define right0 OnRL(s2,0); //±¦ÀÞ
#define right1 OnRL(s2,-s2); //±¦Àû²ó
#define step 1
#define nMAX 300 //nMAX¤òĶ¤¨¤¿»þ¸òº¹ÅÀ¤ÈȽÃǤ¹¤ë
#define short_break Off(OUT_AC); Wait(500); //¾®µÙ·Æ
#define cross_line go;Wait(200);short_break; //¸òº¹ÅÀ¤òÅϤë
#define open 4
#define motiageru 1
#define tukamu 2
#define hanasu 3
#define time1 2000 //»Ï¤á¤ÎÀû²ó¡¢¤Á¤ç¤¦¤É90¡ëÀû²ó¤Ç¤¤ë»þ´Ö¡¢Í×ÀßÄê
#define part2 15000 //A¤òÄϤó¤Ç¤«¤é£±¤ËÃÖ¤¯¤Þ¤Ç¤Î»þ´Ö¡¢Í×ÀßÄê
#define part3 10000 //A¤òÄϤó¤Ç¤«¤é£²¤ËÃÖ¤¯¤Þ¤Ç¤Î»þ´Ö¡¢Í×ÀßÄê
#define part4 15000 //A¤òÄϤó¤Ç¤«¤é£³¤ËÃÖ¤¯¤Þ¤Ç¤Î»þ´Ö¡¢Í×ÀßÄê
#define song PlaySound(SOUND_CLICK);//²»¤òÌĤ餹
task main()
{
SetSensorLight(S2); //¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤¹¤ë¥é¥¤¥È¥»¥ó¥µ¡¼¤òÀßÃÖ
SetSensorLight(S3); //»æ¥³¥Ã¥×¤ò¼±Ê̤¹¤ë¤¿¤á¤Î¥é¥¤¥È¥»¥ó¥µ¡¼¤òÀßÃÖ
go;
Wait(4500);//4.5ÉôÖľ¿Ê
song;
left1;//º¸¤ËÀû²ó
Wait(time1);//90Åٲ󞤹¤ë¤Þ¤Ç³¤±¤ë
song;
go;//ľ¿Ê
Wait(800);
song;
SendRemoteNumber(1,0,open);
song;
go;
Wait(3000);
SendRemoteNumber(1,0,tukamu);//¤Ä¤«¤à
song;
int n1 = 0;//n1¤È¤¤¤¦´Ø¿ô¤òÀßÃÖ
int rooot = 0;//rooot¤È¤¤¤¦´Ø¿ô¤òÀßÃÖ
/*¤³¤Ã¤«¤éȽÊ̤ËÆþ¤ë*/
while(rooot = 0){
if(SENSOR_3 < 42){
rooot = 3;}//¥»¥ó¥µ¡¼¤¬42̤Ëþ¤Î¾ì¹ç¥ë¡¼¥È3¤Ø
else if(SENSOR_3 < 50){
rooot = 2;}//¥»¥ó¥µ¡¼¤¬50̤Ëþ¤Î¾ì¹ç¥ë¡¼¥È2¤Ø
else{
rooot = 1;}//¤½¤ì°Ê³°¤Î¾ì¹ç¥ë¡¼¥È1¤Ø
}
Wait(1000);
song;
SendRemoteNumber(1,0,motiageru); //»Òµ¡¤ËÁ÷¿®¤·¥¢¡¼¥à¤ò²ÔƯ¤·»ý¤Á¾å¤²¤ë
song;
go;//ľ¿Ê
Wait(1000);//1ÉôÖ³¤±¤ë
left0;//º¸ÀÞ
Wait(1000);
until(SENSOR_2 <45);//¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë¥»¥ó¥µ¡¼¤¬45̤Ëþ¤Ë¤Ê¤ë¤Þ¤Ç³¤±¤ë
long line = 0;//long line¤È¤¤¤¦´Ø¿ô¤òÀßÃÖ
long t1 = CurrentTick();//t1¤È¤¤¤¦´Ø¿ô¤òÀßÃÖ
while(rooot = 1){ //rooot¤¬1¤Î´Ö¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³¤±¤ë
while(CurrentTick()-t1 <= part2){ //t1¤¬part2¤è¤êÂ礤¯¤Ê¤ë¤Þ¤Ç¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³¤±¤ë
while (line < nMAX) { // line¤¬nMAX°Ê¾å¤Ë¤Ê¤ë¤Þ¤Ç³¤±¤ë
if (SENSOR_2 < 40) {
right1;
line = line + 10; //¸òº¹ÅÀ¤òÈ´¤±¤ä¤¹¤¯¤¹¤ë
} else {
if (SENSOR_2 < 45) {
right0;
} else if (SENSOR_2 < 55) {
go;
} else if (SENSOR_2 < 60) {
left0;
} else {
left1;
}
line=0;
}
Wait(step);
}
short_break;
right1;
Wait(200);
cross_line;
line=0;
}
SendRemoteNumber(1,0,hanasu);
rooot = 0;
OnRev(OUT_AC,50); //AÃÏÅÀÉÕ¶á¤Þ¤ÇÌá¤ë
Wait(500);
left1;
Wait(time1*2);
go;
Wait(4000);
}
while(rooot = 2){
while(CurrentTick()-t1 <= part3){
if(SENSOR_2 < 40){
left1;}
else if(SENSOR_2 < 45){
left0;}
else if(SENSOR_2 < 55){
go;}
else{
right0;} //±¦Àû²ó¤Ï¤Ê¤·¡¢£²¤Ë¸þ¤«¤¦¤Ë¤Ï¸òº¹ÅÀȽÃǤâɬÍפʤ¤
Wait(step);
}
SendRemoteNumber(1,0,hanasu);
rooot = 0;
OnRev(OUT_AC,50); //AÃÏÅÀÉÕ¶á¤Þ¤ÇÌá¤ë
Wait(500);
left1;
Wait(time1);
go;
until(SENSOR_2 < 45);
}
while(rooot = 3){
while(CurrentTick()-t1 <= part4){
//±¦¥é¥¤¥ó¥È¥ì¡¼¥¹
if(SENSOR_2 < 40){
right1;}
else if(SENSOR_2 < 45){
right0;}
else if(SENSOR_2 < 55){
go;}
else if(SENSOR_2 < 60){
left0;}
else{
left1;}
}
SendRemoteNumber(1,0,hanasu);
rooot = 0;
OnRev(OUT_AC,50); //AÃÏÅÀÉÕ¶á¤Þ¤ÇÌá¤ë
Wait(500);
right1;
Wait(time1 + 300);
go;
Wait(3000);
go;
until(SENSOR_2 < 45);
}
//¤³¤³¤«¤é£²¤ÄÌܤò¤Ä¤«¤ß¤Ë¤«¤«¤ë
//2ËçÌܤΥ¹¥¿¡¼¥ÈÃÏÅÀ¤Ë¸þ¤«¤¦¡¢±ßµ°Æ»¤Ë¾è¤Ã¤Æ¤ëÅÓÃæ¡¢±¦¤Ë¶Ê¤¬¤Ã¤Æ¥¹¥¿¡¼¥ÈÃÏÅÀ¤Ë¹Ô ¤¯Á°¤Ë
//BÃÏÅÀ¤Ë¥·¥ç¡¼¥È¥«¥Ã¥È¤¹¤ë
}
---slave:¥¢¡¼¥àÀ©¸æ
#define on 1
task main()
{
int moterOn;
while(true){
ReceiveRemoteNumber(0,true,moterOn);
if(moterOn == 4){
OnFwd(OUT_B,50);
Wait(300);
Off(OUT_B);
Wait(500);
}
if(moterOn == 1){
OnRev(OUT_B,30);
Wait(1000);
Off(OUT_B);
int moterOn =0;
}
else if(moterOn == 2){
OnRev(OUT_B,30);
Wait(1000);
Off(OUT_B);
int moterOn =0;
}
else if(moterOn == 3){
OnFwd(OUT_B,30);
Wait(1000);
Off(OUT_B);
int moterOn = 0;
}
}
}
*´¶ÁÛ [#h7c9f022]
¡¦º£²ó¤Î²ÝÂê¤ÏÁ°²ó¤Î¤è¤¦¤Ë¤â¤Î¤òÄϤߤ¢¤ëÃÏÅÀ¤Þ¤Ç±¿¤Ö¤â¤Î¤Ç¤¢¤Ã¤¿¤¬¡¢¥³¥Ã¥×¤òÄϤà¤È¤¤Ë¼±Ê̤⤹¤ëɬÍפ¬¤¢¤ê¥í¥Ü¥Ã¥È¤ËÄϤޤ»¼±Ê̤µ¤»¤ëÊýË¡¤ò¡¢¹Í¤¨¤ë¤Î¤Ë¶ìÏ«¤·¤¿¡£¤Þ¤¿¥³¥Ã¥×¤Ï»°¤Ä¤¢¤Ã¤¿¤¿¤á¥é¥¤¥ó¥È¥ì¡¼¥¹¤â»°¤Ä¤Î¥³¡¼¥¹¤½¤ì¤¾¤ì¤ËɬÍפǥí¥Ü¥Ã¥ÈËÜÂΤâÆó¤Ä¤ÎNXT¤ò¤Ä¤«¤¤¹ÔÆ°¤µ¤»¤ë¥×¥í¥°¥é¥à¤¹¤ëɬÍפ¬¤¢¤ê¡¢°ÊÁ°¤Î²ÝÂê¤è¤ê¤âŤ¤½àÈ÷´ü´Ö¤¬Í¿¤¨¤é¤ì¤¿¤¬»×¤¦¤è¤¦¤Ê¥×¥í¥°¥é¥à¤¬¤Ç¤¤ºËÜÈ֤˴֤˹ç¤ï¤»¤ë¤³¤È¤¬¤Ç¤¤Ê¤«¤Ã¤¿¡£¹ÖµÁ¤Î½ªÈפ˹Ԥä¿Æó¤Ä¤Î²ÝÂê¤ÏÆñ¤·¤¤¤â¤Î¤Ç¤¢¤Ã¤¿¤¬¥á¥ó¥Ð¡¼¤È»î¹Ôºø¸í¤·ÌäÂê²ò·è¤Ø¾¯¤·¤Ç¤â¶á¤Å¤¯¤³¤È¤¬¤Ç¤¤ª¤â¤·¤í¤«¤Ã¤¿¡£
¥Ú¡¼¥¸Ì¾: