- Äɲ䵤줿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
- ºï½ü¤µ¤ì¤¿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
*²ûÃæÅÅÅô¤Ë¥Ü¡¼¥ë¤ò¤Ö¤Ä¤±¤ë¥í¥Ü¥Ã¥È [#pc8c9a89]
#contents
*²ÝÂêÆâÍÆ [#hefb2eaf]
º£²ó¤ÎÆâÍƤϡֲûÃæÅÅÅô¤Ë¥Ü¡¼¥ë¤ò¤Ö¤Ä¤±¤ë¥í¥Ü¥Ã¥È¡×¡£
²ûÃæÅÅÅô¤òȾ·Â1¥á¡¼¥È¥ë°ÊÆâ¤ËÀßÃÖ¤·¡¢ Mindstorms Robotics Invention System(°Ê²¼RIS)¤òÍѤ¤¤Æ360ÅÙ²óž¡¢²ûÃæÅÅÅô¤ò¾È¼Í¤µ¤ì¤Æ¤¤¤ë³ÑÅ٤˥ܡ¼¥ë¤ò¤Ö¤Ä¤±¤ë¤È¤¤¤¦²ÝÂê¤Ç¤¢¤Ã¤¿¡£
¤Ê¤ª¡¢¥í¥Ü¥Ã¥ÈËÜÂΤ¬²ûÃæÅÅÅô¤ËÀÜ¿¨¤·¤Ê¤¤¸Â¤ê¤É¤³¤«¤é¥Ô¥ó¥Ý¥ó¶Ì¤òÊü¤Ã¤Æ¤â¤è¤¤¤â¤Î¤È¤¹¤ë¡£
**ÆñÅÀ [#n1b6674a]
+¥Ü¡¼¥ë¤ò1¥á¡¼¥È¥ë¤Þ¤Ã¤¹¤°¤Ë¼Í½Ð¤¹¤ë¤³¤È
+Àµ³Î¤Ë²ûÃæÅÅÅô¤ÎÊý¸þ¤ò»¡ÃΤ¹¤ë¤³¤È
+
*¥í¥Ü¥Ã¥È¤ÎÀâÌÀ [#t2bcd166]
º£²ó¤Ï²ÝÂê2¤Î¥í¥Ü¥Ã¥È¤Ë¸÷¥»¥ó¥µ¡¼¤ò¾å¤Ë¤Ä¤±¡¢¤Þ¤¿¡¢ÆñÅÀ1¤ò¹îÉþ¤¹¤ë¤¿¤á¤Ë¥¢¡¼¥àÉôʬ¤ËͶƳ¥Ö¥í¥Ã¥¯¤ò¤Ä¤±¤¿¹½Â¤¤È¤Ê¤Ã¤Æ¤¤¤ë¡£
ËÜÂΤʤɤξܤ·¤¤ÀâÌÀ¤Ï¤³¤Á¤é¢ªhttp://yakushi.shinshu-u.ac.jp/robotics/?2015a%2FMember%2Ftadahiko%2FMission2#w59046ab
**¸÷¥»¥ó¥µ¡¼ [#q10d791e]
#ref(./¥»¥ó¥µ¡¼.jpg,150%);
***¥Ý¥¤¥ó¥È [#f6f7f24f]
-²ûÃæÅÅÅô¤ËÈ¿±þ¤µ¤»¤ë¤¿¤á¤ËRIS¤Î¾å¤ËÀßÃÖ¡£
-´¶ÅÙ¤ò¾å¤²¤ë¤¿¤á¤Ë¼þ¤ê¤ò¥Ö¥í¥Ã¥¯¤Ç°Ï¤¦¡£
**ͶƳ¥Ö¥í¥Ã¥¯ [#odaa183d]
#ref(./ͶƳ¥Ö¥í¥Ã¥¯.jpg,150%);
***¥Ý¥¤¥ó¥È [#v03f0fb3]
-¥Ü¡¼¥ë¤ò¤Þ¤Ã¤¹¤°¤ËÁ÷¤ë¤¿¤á¤ËÀßÃÖ¡£
**´°À® [#i5bc0bcb]
#ref(./Á´ÂÎ.jpg,150%);
*¥×¥í¥°¥é¥à¤ÎÀâÌÀ [#i5c59398]
**¼ÂºÝ¤Î¥×¥í¥°¥é¥à [#l29f0246]
#define short_break Off(OUT_AC);Wait(100);
#define clip_on OnRev(OUT_B);Wait(10);Off(OUT_B);
task main ()
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
ClearTimer(0); //£°ÈÖÌܤΥ¿¥¤¥Þ¡¼¤ò¥ê¥»¥Ã¥È
int light_max; //À°¿ô·¿¤ÎÊÑ¿ô¤òÀë¸À
light_max = 0; //²¾¤ÎºÇÂçÃÍ
int time_max; //À°¿ô·¿¤ÎÊÑ¿ô¤òÀë¸À
time_max = 0; //²ÁÃͤκÇÂçÃͤòÍ¿¤¨¤ë»þ´Ö
int run_time; //À°¿ô·¿¤ÎÊÑ¿ô¤òÀë¸À
run_time = 280; //£±¼þ¤¹¤ë¤Î¤Ë¤«¤«¤ë»þ´Ö
OnFwd(OUT_A);OnRev(OUT_C); //È¿»þ·×²ó¤ê¤Ë²óž
while(FastTimer(0)<run_time) //£±²óž¤¹¤ë¤Þ¤Ç
{
if(SENSOR_2>light_max) //light_max¤ÎÃͤòĶ¤¨¤¿¤é
{
light_max = SENSOR_2; //light_max¤òÅɤêÂؤ¨¤ë
}
}
short_break; //£±½µ¤·¤¿¤é£±ÉÃÂÔµ¡
OnFwd(OUT_A);OnRev(OUT_C); //È¿»þ·×²ó¤ê¤Ë²óž
until(SENSOR_2==light_max);
short_break;
OnFwd(OUT_AC);Wait(50);clip_on;Wait(10); //¥·¥å¡¼¥È
Off(OUT_AC);
}
**»ÈÍѤ·¤¿´Ø¿ô [#n5f55ad3]
¡#define short_break Off(OUT_AC);Wait(100);
¢#define clip_on OnRev(OUT_B);Wait(10);Off(OUT_B);
***²òÀâ [#p451051d]
¡1ÉÃÄä»ß
¢¥·¥å¡¼¥È¤ÎÆ°ºî
**ÄêµÁ¤Å¤± [#r8b007c2]
task main ()
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
¡ClearTimer(0); //£°ÈÖÌܤΥ¿¥¤¥Þ¡¼¤ò¥ê¥»¥Ã¥È
int light_max; //À°¿ô·¿¤ÎÊÑ¿ô¤òÀë¸À
¢light_max = 0; //²¾¤ÎºÇÂçÃÍ
int time_max; //À°¿ô·¿¤ÎÊÑ¿ô¤òÀë¸À
£time_max = 0; //²ÁÃͤκÇÂçÃͤòÍ¿¤¨¤ë»þ´Ö
int run_time; //À°¿ô·¿¤ÎÊÑ¿ô¤òÀë¸À
run_time = 280; //£±¼þ¤¹¤ë¤Î¤Ë¤«¤«¤ë»þ´Ö
***²òÀâ [#xf9c63b0]
¡¥¿¥¤¥Þ¡¼¤òµ¯Æ°¤·¡¢²ûÃæÅÅÅô¤Þ¤Ç¤Î·Ð²á»þ¹ï¤ò¬¤ë¡£
¢²ûÃæÅÅÅô¤ÎÃͤò¾å½ñ¤¤¹¤ë¤¿¤áºÇ½é¤ÎÃͤÏ0¤ÈÄêµÁ¡£
£²ûÃæÅÅÅô¤Þ¤Ç¤Î·Ð²á»þ¹ï¤òµ²±¤¹¤ë¤¿¤áºÇ½é¤ÎÃͤÏ0¤ÈÄêµÁ¡£
**Æ°¤ [#j8bf9946]
OnFwd(OUT_A);OnRev(OUT_C); //È¿»þ·×²ó¤ê¤Ë²óž
¡while(FastTimer(0)<run_time) //£±²óž¤¹¤ë¤Þ¤Ç
{
if(SENSOR_2>light_max) //light_max¤ÎÃͤòĶ¤¨¤¿¤é
{
¢light_max = SENSOR_2; //light_max¤òÅɤêÂؤ¨¤ë
}
}
short_break; //£±½µ¤·¤¿¤é£±ÉÃÂÔµ¡
OnFwd(OUT_A);OnRev(OUT_C); //È¿»þ·×²ó¤ê¤Ë²óž
£until(SENSOR_2==light_max);
short_break;
¤OnFwd(OUT_AC);Wait(50);clip_on;Wait(10); //¥·¥å¡¼¥È
Off(OUT_AC);
}
***²òÀâ [#v656a578]
¡360ÅÙÈ¿»þ·×²ó¤ê¤Ë²óž¤·Á´Êý°Ì¤ÎÃͤòµ²±¤¹¤ë¡£
¢light_max¤è¤ê¤âÂ礤ÊÃͤò¸«¤Ä¤±¤¿¤é¤½¤ÎÃͤòµ²±¤¹¤ë¡£
£1²óž¸å¡¢µ²±¤·¤¿ÃͤκÇÂçÃͤÎÊý¸þ¤ò¸þ¤¯¡£
¤²ûÃæÅÅÅô¤Ë¸þ¤«¤Ã¤Æ¥·¥å¡¼¥È¡£
**Æ°²è [#x4690404]
*Æ°²è [#x4690404]
https://www.youtube.com/watch?v=sf-SZk2snu4
*´¶ÁÛ [#k8b83cb7]
º£²ó¤Î²ÝÂê¤Ç¤Ï¡¢¾¯¤Ê¤¤»þ´Ö¤ÎÃæ¤Ç¤â¥ß¥Ã¥·¥ç¥ó¤ò¤³¤Ê¤¹¤³¤È¤¬¤Ç¤¤¿¤Î¤Ç¤è¤«¤Ã¤¿¤È»×¤¦¡£
ÀèÀ¸¤Î¥Ò¥ó¥È¤Ê¤É¡¢¹üÁȤߤ϶µ¤¨¤Æ¤¯¤À¤µ¤Ã¤¿¤Î¤Ç¤µ¤Û¤ÉÆñ¤·¤¤ÆâÍƤǤϤʤ¤¤è¤¦¤Ë»×¤¨¤¿¡£
º£¤Þ¤Ç¤ÏÄêµÁ¤Å¤±¤ò#define¤Ç¤ä¤Ã¤Æ¤¤¤¿¤â¤Î¤Î¡¢int´Ø¿ô¤âÌäÂê¤Ê¤¯°·¤¦¤³¤È¤¬¤Ç¤¤¿¡£
º£¤Þ¤Ç¤Î²ÝÂê¤Ç³Ø¤ó¤À¤³¤È¤òÀ¸¤«¤·¤Æ¥í¥Ü¥³¥ó¤ò¤Ë¤ÆÀ®¸ù¤ò¼ý¤á¤¿¤¤¡£