°Ê²¼¤Î¥³¡¼¥¹Æâ¤ËÇÛÃÖ¤µ¤ì¤¿´Ì¤ò¥´¡¼¥ëÆâ¤ËÀѤ߾夲¤ë¡£¥¹¥¤¥Ã¥Á¤òÆþ¤ì¤ë°Ê³°¤Ï¥í¥Ü¥Ã¥È¡¦¥³¡¼¥¹¡¦´Ì¤ò¤¤¤¸¤ë¤Î¤Ï¸¶Â§¶Ø»ß¡£
¥Þ¥·¥ó¤ËÈæ¤Ù¤Æ¥³¡¼¥¹¤Î´Ö³Ö¤ä´Ì¤ÎÇÛÃÖ´Ö³Ö¤¬¾®¤µ¤¤½ê¤¬¤¢¤ê¡¢¥é¥¤¥ó¥È¥ì¡¼¥¹¤À¤±¤ËÍê¤ë¤Î¤ÏÆñ¤·¤¤¤È¹Í¤¨¤Þ¤·¤¿¡£¥é¥¤¥ó¾å¤Ë̵¤¤´Ì¤â¤¢¤ê¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤ÆÇÛÃֳִ֤ζ¹¤¯¥Þ¥·¥ó¤¬´³¾Ä¤·¤½¤¦¤Ê¤È¤³¤í¡Ê¡¢£¤È¥¦§¡Ë¤ÏĶ²»ÇÈ¥»¥ó¥µ¤òÍѤ¤¤Æ´Ì¤òõºº¡¦Êá³Í¡¢¤½¤Î¾¤Ï¥é¥¤¥ó¥È¥ì¡¼¥¹¤ÇÀµÌ̤˴̤¬Í褿¤éÊá³Í¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£
°Ê²¼¤Î¤è¤¦¤Ë¥³¡¼¥¹½ç¤ò·è¤á¤Þ¤·¤¿¡£Ìð°õ¤Î·ÐÏ©¤ÏĶ²»ÇÈ¥»¥ó¥µ¤Ç°ÌÃÖ¤òÆÃÄꤹ¤ëÉôʬ¤Ç¤¹¡£
¥Þ¥·¥ó¤Ï£²¡Á£³½µ´Ö¤«¤±¤ÆÀ©ºî¤·¤Þ¤·¤¿¡£ºÇ½é¤Ï¤ª¤Î¤¯¤ó¤Èchikuwa»á¤¬Âæ¼Ö¤ò¡¢Redcicudu»á¤¬¥¢¡¼¥à¤òÀ©ºî¤·¤Æ¤¤¤Þ¤·¤¿¤¬¡¢·ë¶É¤ÏRedcicudu»á¤¬¤Û¤ÜÁ´¤Æ¤òºî¤Ã¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡£Èó¾ï¤Ë¶¯¸Ç¤Ç¥Ñ¥ï¥Õ¥ë¤ÇÈæ³ÓŪ¥³¥ó¥Ñ¥¯¥È¤Ê¥Þ¥·¥ó¤Ë»Å¾å¤¬¤Ã¤Æ¤Þ¤¹¡££´ÎؤʤΤǤȤƤâ°ÂÄê¤ÊÁö¹Ô¤¬²Äǽ¤Ç¤¹¡£
¥í¥Ü¥Ã¥È¤Î¾ÜºÙ¤Ê²òÀâ¤Ï¤³¤Á¤é¤ò¤´Í÷¤¯¤À¤µ¤¤¡£¤³¤³¤Ç¤Ï´Êñ¤Ë¾Ò²ð¤·¤Þ¤¹¡£
´Ì¤ò¤Ä¤«¤ß¤Ê¤¬¤é°ÜÆ°¤¹¤ë¤Î¤Ç¥¢¡¼¥à¤Ï½Ä¤ËŤ¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£²¼¤ÎÎØ¥´¥à¤Ï³ê¤ê»ß¤á¤Ç¤¹¡£¿¿¤óÃæ¤Î»ÙÃì¤È¹ç¤ï¤»¤Æ»°ËܤÎÃì¤Ç´Ì¤¬Êø¤ì¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£ |
¸åÎؤÏRedcicudu»á¤¬¤¦¤Þ¤¤¶ñ¹ç¤Ë£²¤ÄÉÕ¤±¤Æ¤¯¤ì¤Þ¤·¤¿¡£Áö¹Ô¤¬¤È¤Æ¤â°ÂÄꤷ¤Þ¤·¤¿¡£¤·¤«¤·Î®ÀФ˽Ť¤NXT¤ÎËÜÂΤòÆó¤Ä»Ù¤¨¤Æ¤¤¤ë¤Î¤Ç¼ÖÂΤò²óž¤¹¤ë»þ¤Ë¤Ä¤Ã¤«¤¨¤Þ¤¹¡£¸å½Ò¤Î¤è¤¦¤Ë³ÑÅÙ»ØÄê¤Ç¶îÆ°ÎؤòÆ°¤«¤·¼ÖÂΤò²óž¤µ¤»¤Æ¤âÀµ³Î¤µ¤Ë·ç¤±¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
º¸¤Î¼Ì¿¿¤Ï¥¢¡¼¥à¤Î»õ¼Ö¤Ç¤¹¡£Redcicudu»á¤ÎÆÀ°Õµ»¡Ê¡©¡Ë¡£¤³¤ì¤â°ÂÄêÆ°ºî¤ÎÈë·í¤È¸À¤¨¤ë¤Ç¤·¤ç¤¦¡£
¿Þ¤ÎÈÖ¹æ½ç¤Ë¼è¤Ã¤Æ¤¤¤¤Þ¤¹¡£
²ÝÂꣲ¤Ë¤ª¤±¤ë¼«Ê¬¤ÎÌò³ä¤Ï¤Ä¤Ê¤®Åª¤Ê¥×¥í¥°¥é¥à¤òÁȤà»ö¤Ç¤·¤¿¡£²¾¤Ë°Ê²¼¤Î¥×¥í¥°¥é¥à¤ò»È¤ï¤Ê¤¯¤Æ¤â¤É¤¦¤Ë¤«²ÝÂꣲ¤òÂн褹¤ë¤Î¤Ï²Äǽ¤Ç¤¹¤¬¡¢¤¢¤ë¤È´ñÎï¤Ë²ò·è½ÐÍè¤ë¤è¤¦¤Ê¤â¤Î¤òÌܻؤ·¤Þ¤·¤¿¡£
¥³¥Þ¥ó¥É¤¬Ä¹¤¯¤ÆÈѤ路¤«¤Ã¤¿¤Î¤Çû¤¯¤Ê¤ë¤è¤¦¤Ë»î¤ß¤Þ¤·¤¿¡£¥Þ¥¹¥¿¡¼Â¦¤¬Ê¸»úÎó¤òÁ÷¿®¤·¥¹¥ì¡¼¥Ö¤ÎÊÖ¿®¤òÂԤäƤ¤¤ë´Ö¤Ë¥¹¥ì¡¼¥Ö¦¤¬Ê¸»úÎó¤ÎÆâÍƤ˱þ¤¸¤Æ»Å»ö¤·¥Þ¥¹¥¿¡¼¤ØÊÖ¿®¤ò¤¹¤ë¤È¤¤¤¦·Á¤Ç¤¹¡£
[master]¡¡¡¡¡¡¢ª¡¡¡¡Ì¿Îá¡¡¡¡¢ª¡¡¡¡[slave]
¡¡¢¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¢
ÂÔµ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡½èÍý
¡¡¢¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¢
[master]¡¡¡¡¡¡¢«¡¡¡¡±þÅú¡¡¡¡¢«¡¡¡¡[slave]
¡¡¢¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¢
¼¡¤Î½èÍý¤Ø¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÂÔµ¡
#include "bluetooth.nxc"¤Ç¾¤Î¥Õ¥¡¥¤¥ë¤«¤é¸Æ¤Ó½Ð¤»¤Þ¤¹¡£
/* bluetooth.nxc */ /* Á÷¼õ¿®¤ÈÀܳ³Îǧ */ /* ¥Þ¥¹¥¿¡¼ÍÑ¥×¥í¥°¥é¥à */ /* sendmsg(Á÷¿®¥á¥Ã¥»¡¼¥¸,¼õ¿®¥á¥Ã¥»¡¼¥¸) */ /****¥¹¥ì¡¼¥Ö¤ËÁ÷¿®¥á¥Ã¥»¡¼¥¸¤òÁ÷¿®¤·¤¿¸å¡¢¼õ¿®¥á¥Ã¥»¡¼¥¸¤ò¼õ¤±¼è¤ë¤Þ¤ÇÂÔµ¡¡£ ****/ sub sendmsg(string msg,string rps) { SendRemoteString(1,0,msg); string rmsg = ""; while(rmsg == "") { ReceiveRemoteString(1,true,rmsg); TextOut(0,LCD_LINE1,"Wait until slave"); TextOut(0,LCD_LINE2,"completes tasks..."); Wait(1000); } ResetScreen(); } /* ¶¦ÍÑ¥×¥í¥°¥é¥à */ /* btcheck(Àܳ¥Ý¡¼¥ÈÈÖ¹æ) */ /* Àܳ¤Î³Îǧ¡£¼ºÇÔ¤·¤¿¾ì¹ç"Something wrong"¤òɽ¼¨¡£ */ sub btcheck(int conn) { while(!BluetoothStatus(conn) == NO_ERR) { ResetScreen(); TextOut(0,LCD_LINE1,"Something wrong"); Wait(1000); } ResetScreen(); } /*¥¹¥ì¥¤¥ÖÍÑ¥×¥í¥°¥é¥à*/ /* receive("¼õ¿®¥á¥Ã¥»¡¼¥¸") */ /* ¥Þ¥¹¥¿¡¼¤«¤é¥á¥Ã¥»¡¼¥¸¤ò¼õ¤±¼è¤ë¡£ */ sub receive(string rd) { string msg; while(msg != rd) { ReceiveRemoteString(0,true,msg); ResetScreen(); TextOut(0,LCD_LINE1,"Receiving..."); Wait(1000); } ResetScreen(); TextOut(0,LCD_LINE1,"I got it!!"); Wait(1000); ResetScreen(); } /* repond("Á÷¿®¥á¥Ã¥»¡¼¥¸") */ /* ±þÅú¤Î¥á¥Ã¥»¡¼¥¸¤ò¥Þ¥¹¥¿¡¼¤ËÁ÷¿® */ sub respond(string reply) { SendResponseString(1,reply); ResetScreen(); TextOut(0,LCD_LINE1,"Responded"); Wait(1000); ResetScreen(); } /*(c) 2014 ONO*/
#include "bluetooth.nxc"¤Ç¾¤Î¥Õ¥¡¥¤¥ë¤«¤é¸Æ¤Ó½Ð¤»¤Þ¤¹¡£
´ðËÜŪ¤Ë¾åµ¤Ë¤¢¤ë£³¤Ä¤ÎÌ¿Îá¡Êsendmsg,receive,respond)¤ò»È¤¦¤Î¤Ç¤¹¤¬¡¢´û¤Ë½ÐÍè¤Ä¤Ä¤¢¤Ã¤¿chikuwa»á¤Î¥¢¡¼¥àÁàºî¤Î¥×¥í¥°¥é¥à¤ËÁȤ߹þ¤àºÝ¤Ë°Ê²¼¤ÎÌäÂêÅÀ¤¬Éâ¾å¤·¤Þ¤·¤¿¡£
receive¤Ïñ¤ËÌÜŪ¤Î¥á¥Ã¥»¡¼¥¸¤¬Íè¤ë¤Þ¤ÇÂÔµ¡¤¹¤ëµ¡Ç½¤·¤«¤¢¤ê¤Þ¤»¤ó¡£
string receive() { string msg; while(msg == "") { ReceiveRemoteString(0,true,msg); ResetScreen(); TextOut(0,LCD_LINE1,"Receiving..."); Wait(1000); } return msg; }¤È¤·¤Æ
task main() { while(true) { msg = receive(); if(msg == catch){ ~ } if(msg == put){ ~ } .... } }¤ß¤¿¤¤¤Ê´¶¤¸¤Ç»È¤¨¤Ð¤â¤Ã¤ÈÈÆÍÑÀ¤¬¹â¤Þ¤ê¤Þ¤·¤¿¡£
ºÇ½éºîÀ®¤·¤¿¤È¤¡¢¥Þ¥¹¥¿¡¼Â¦¤ÏÁ÷¿®¤ÏÀ®¸ù¤·¤Þ¤·¤¿¤¬¥¹¥ì¡¼¥Ö¦¤Î±þÅú¤ËÈ¿±þ¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿¡£Æ±¤¸¥á¡¼¥ë¥Ü¥Ã¥¯¥¹¤ËÁÐÊý¤Î¥á¥Ã¥»¡¼¥¸¤òµÏ¿¤·¤Æ¤¤¤¿¤Î¤Ç¤¹¤¬¡¢½ñ¤´¹¤¨¤Î¥¿¥¤¥ß¥ó¥°¤¬Å¬ÀڤǤʤ«¤Ã¤¿¤è¤¦¤Ç¤¹¡£¥Þ¥¹¥¿¡¼¤ÎÁ÷¿®¤È¥¹¥ì¡¼¥Ö¤Î±þÅú¤ÎµÏ¿¤ËÊÌ¡¹¤Î¥á¡¼¥ë¥Ü¥Ã¥¯¥¹¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç²ò·è¤·¤Þ¤·¤¿¡£
chikuwa»á¤Î¥×¥í¥°¥é¥à¤ËÁȤ߹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
´Ì¤ò¸¡Ã΢ª¥¹¥ì¡¼¥Ö¤Ø¥¢¡¼¥à¤ò¹ß¤í¤¹¤è¤¦¤ËÍ×ÀÁ(sendmsg)¢ª¼õ¿®¤·¤¿¸å(receive)¥¹¥ì¡¼¥Ö¤¬¥¢¡¼¥à¤ò¹ß¤í¤·¥Þ¥¹¥¿¡¼¤Ø±þÅú(respond)¢ªÁ°¿Ê¤Î¸å´Ì¤ò¤Ä¤«¤ó¤Ç¥¢¡¼¥à¤ò¾å¾º¤µ¤»¤ë¤è¤¦Í×ÀÁ(sendmsg)¢ª´Ì¤ò¤Ä¤«¤ó¤Ç¥¢¡¼¥à¤ò¾å¾º¤µ¤»¤¿¸å±þÅú(receive&respond)¢ª¼¡¤Î¥¹¥Æ¥Ã¥×¤Ø
¤È¤¤¤Ã¤¿¶ñ¹ç¤Ç¤¹¡£
º£²ó¤Î²ÝÂê¤Ç¤Ï¥é¥¤¥ó¾å¤«¤é³°¤ì¤¿¾ì½ê¤Ë¤â´Ì¤¬ÃÖ¤¤¤Æ¤¢¤ê¤Þ¤¹¡£¤³¤ì¤ò¼è¤é¤º¤·¤ÆÆÀÅÀ¤Ï²Ô¤²¤Þ¤»¤ó¡£ ¤³¤Î¥×¥í¥°¥é¥à¤Ï¤Þ¤º±¦²óž¤·¤Ê¤¬¤é¥í¥Ü¥Ã¥È¤ÎÀµÌÌÊý¸þ¤ÎÂоÝʪ¤Þ¤Ç¤Îµ÷Î¥¤ò·×¬¤·¡¢°ìÈֶᤤ¤â¤Î¡Ê¡á´Ì¡Ë¤Ë¸þ¤¤òÄ´À°¤·¤Þ¤¹¡£Ä¶²»ÇÈ¥»¥ó¥µ¤òÍѤ¤¤Æ·×¬¤¹¤ë¤Î¤Ç¤¹¤¬¡¢¤³¤ì¤¬¤Ê¤«¤Ê¤«¤¯¤»¼Ô¤ÎÍͤǴñÎï¤Ë·è¤Þ¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£¤½¤Î¤¿¤á¾åµ¤Î¼Ì¿¿¤Ë¤â¤¢¤ë¤è¤¦¤Ë¥í¥Ü¥Ã¥È¤Ë¥¬¥¤¥É¤òÀßÃÖ¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ |
/* find_direction.nxc */ #define tr OnFwdSync(OUT_AB,60,100); //±¦²óž #define tl OnFwdSync(OUT_AB,60,-100); //º¸²óž #define go OnFwdSync(OUT_AB,75,0) //ľ¿Ê #define unko 60 //·×¬²ó¿ô #define distance 13 //´Ì¤Þ¤Ç¤ÎÀܶáµ÷Î¥ #define measure_time 10 //·×¬´Ö³Ö sub fd(void) { int takatyan; // int zxc[unko]; //ÇÛÎó int min; //²¾¤ÎºÇ¾®ÃÍ /* ½àÈ÷¡§º¸¤Ë¾¯¤·²óž¡£ */ tl; Wait(1000); /* ¥Þ¥·¥ó¤È´Ì¤È¤Îµ÷Î¥¤ò¬¤ë¡£±¦²óž¤·¤Ê¤¬¤é£±£°ms´Ö³Ö¤Ç£¶£°²ó·×¬¡£ */ for(int i = 0;i <=unko-1;i ++) //i¤¬£±¡Á£¶£°¤Ë²Ã»»¤µ¤ì¤ë´Ö¤Ïzxc[i]¤ËĶ²»ÇÈ¥»¥ó¥µ¤ÎÃͤòÂåÆþ¡£ { tr; Wait(measure_time); zxc[i] = SensorUS(S4); } /*µÏ¿¤·¤¿¥Ç¡¼¥¿¤ÎÃ椫¤éºÇ¾®Ã͡ʵ÷Î¥¡Ë¤òµá¤á¤ë¡£*/ min = 60; //²¾¤ÎºÇ¾®ÃÍ for(int j = 0;j <=unko-1; j++) //jÈÖÃϤˤª¤±¤ëzxc¤ÎÃͤ¬min¤è¤ê¾®¤µ¤¤¾ì¹ç¡¢min¤Ëzxc¤ÎÃͤòÂåÆþ¡£ { if(min > zxc[j]) { min = zxc[j]; takatyan = j; } } /***NXT¤ÏView¥á¥Ë¥å¡¼¤Ë¤Æ¤½¤ì¤¾¤ì¤Î¥»¥ó¥µ¤ÎÃͤò¥ê¥¢¥ë¥¿¥¤¥à¤Ç¸«¤ë¤³¤È¤¬¤Ç¤¤ë¤Î¤Ç¤¹¤¬¡¢**/ /***Ķ²»ÇÈ¥»¥ó¥µ¤Ï·×¬Èϰϳ°¤Ë¤Ê¤ë¤È¡É¡©¡©¡©¡©¡©¡É¤Èɽ¼¨¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Ë¥á¥â¥ê¤Ë²¿¤¬½ñ¤**/ /***¹þ¤Þ¤ë¤Î¤«Ê¬¤«¤é¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢¤â¤·£°¤Ç¤âÂåÆþ¤µ¤ì¤Æ¤·¤Þ¤¦¤Èº¤¤ë¤Î¤Ç£±£°£°¤òÂåÆþ¤·¤Æ¤¤***/ /***¤Þ¤¹¡£ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡**/ for(int j = 0;j <= unko-1; j++) { if(zxc[j] == 0){zxc[j] = 100; } } Off(OUT_AB); TextOut(0,LCD_LINE1,"takatyan ="); NumOut(0,LCD_LINE2,zxc[takatyan]); Wait(1000); /* ºÇ¾®ÃͤȰìÃפ¹¤ë¤Þ¤Çº¸²óž¡£*/ tl; until( SensorUS(S4) <= zxc[takatyan] ); PlaySound(SOUND_UP); Off(OUT_AB); ResetScreen(); Wait(1000); /*´Ì¤ËÀܶᡣ*/ go; until(SensorUS(S4) <= distance); Off(OUT_AB); } /* (c) 2014 ONO*/
ºÇ½é¤Ë¤³¤Î¥×¥í¥°¥é¥à¤òºî¤Ã¤¿¤È¤¤Ï¡¢¥í¥Ü¥Ã¥È¤Î°ÌÃÖ¤òÄ´À°¤¹¤ë¤Î¤Ë°Ê²¼¤Î¼°¤Ç¥â¡¼¥¿¡¼¤Î²óžÎ̤ò·×»»¤·¤Æ¥Þ¥·¥ó¤Î¸þ¤¤òÊѤ¨¤Æ¤¤¤Þ¤·¤¿¡£¤·¤«¤·¥í¥Ü¥Ã¥È¤Î½ÅÎ̤¬½Å¤¯¸åÎؤ¬³ê¤é¤«¤ËÄɽ¾¤·¤Ê¤«¤Ã¤¿¤¿¤áÁÛÄê¤è¤ê¤â°ÌÃÖ½¤Àµ¤Ë¥Ö¥ì¤¬À¸¤¸¤¿¤Î¤Ç¾åµ¤Î¤è¤¦¤ËÊѹ¹¤·¤Þ¤·¤¿¡£
#define p(a,b) PlayTone(a,b); task main() { while(true) { p(Random(800),Random(500)); Wait(Random(500)); } }
¥é¥ó¥À¥à¤Ê¿ô»ú¤ò¼þÇÈ¿ô¤È²»¤Î·Ñ³»þ´Ö¡¢µÙ»ß»þ´Ö¤ËÊü¤ê¹þ¤ó¤Ç¤¤¤Þ¤¹¡£Random´Ø¿ô¤ÎÃͤò¤«¤¨¤ë¤È¤¨¤é¤¯°õ¾Ý¤¬ÊѤï¤ëÅÀ¤¬ÌÌÇò¤¤¤Ç¤¹¡Ê¾Ð¡Ë¤³¤ì¤òÌĤ餹¤È¤¢¤Þ¤êÎɤ¤´é¤ò¤µ¤ì¤Ê¤¤¤Î¤ÇÃí°Õ¤¬É¬ÍפǤ¹¡£