[[2017a/Member]]
#contents
*²ÝÂꣳ¡¡¶õ¤­´Ì¼ý½¸¡õÀѤ߾夲¥í¥Ü¥Ã¥È [#m61c9551]
¶õ¤­´Ì¤ò¼ý½¸¤·¡¢¥´¡¼¥ë¤Ë¶õ¤­´Ì¤ò¤Ê¤ë¤Ù¤¯¹â¤¯ÀѤ߾夲¤ë
#ref(2017a/Member/nami/Mission3/kadai3.png,100%,²ÝÂꣳ)
*¥í¥Ü¥Ã¥È¤Ë¤Ä¤¤¤Æ [#ka68e832]
#ref(2017a/Member/nami/Mission3/ev3_1.JPG,100%,ev31)
¥¢¡¼¥à¤ÏÊ¿¹Ô»ÍÊÕ·Á¤Ë¤·¤Æ¥¢¡¼¥à¤ò¿åÊ¿¤Ë¤Ç¤­¤ë¤è¤¦¤Ë¤·¤¿¡£¤Þ¤¿Á°¤Ë½Å¿´¤¬¤«¤«¤ê¤¹¤®¤ë¤¿¤á¡¢¸å¤í¤ËÄÒʪÀСÊEV3)¤òÀßÃÖ¤·¤¿¡£
#ref(2017a/Member/nami/Mission3/ev3_2.JPG,100%,ev32)
#ref(2017a/Member/nami/Mission3/ev3_3.JPG,100%,ev33)
#ref(2017a/Member/nami/Mission3/ev3_4.JPG,100%,ev34)
*¥×¥í¥°¥é¥ß¥ó¥°¤Ë¤Ä¤¤¤Æ [#de18aaa6]
**¥×¥í¥°¥é¥à [#v624c815]
 #!/usr/bin/python3
 # -*- coding:utf-8 -*-
 import ev3dev.ev3 as ev3
 import time
 mR=ev3.LargeMotor('outA') #±¦¥â¡¼¥¿¡¼
 mL=ev3.LargeMotor('outB') #º¸¥â¡¼¥¿¡¼
 mT=ev3.LargeMotor('outC') #¥¢¡¼¥à
 mA=ev3.LargeMotor('outD') #¥Ï¥ó¥É
 us=ev3.UltrasonicSensor('in1') #Ķ²»ÇÈ¥»¥ó¥µ¡¼
 t1=time.time() #´Ì¤Îõº÷¤ÎÊÒÊý¤Ø¤ÎÀû²ó»þ´Ö
 t2=time.time() #õº÷³«»Ï¤«¤é´¶ÃΤ¹¤ë¤Þ¤Ç¤Î»þ´Ö
 minimum=10000 #´Ì¤È¤Îµ÷Î¥¤ÎºÇ¾®ÃÍ
 def search():#seach for cans while spinning 
   global t1
   global t2
   global minimum
   while time.time()-t1<5:#search around
       mR.run_forever(duty_cycle_sp=50,speed_sp=-10)
       mL.run_forever(duty_cycle_sp=50,speed_sp=10)
       if minimum>=us.value():#not minimum
           minimum=us.value()
       if minimum<us.value():#minimum
           t2=time.time()
   while time.time()-t1>=5 and time.time()-t1<=5.5+t2 and us.value()>minimum:#research
       mR.run_forever(duty_cycle_sp=50,speed_sp=10)
       mL.run_forever(duty_cycle_sp=50,speed_sp=-10)
°ìÄê¤Î»þ´Ö´Ì¤È¤Îµ÷Î¥¤òÀû²ó¤·¤Ê¤¬¤é¬Äꤷ¡¢µ÷Î¥¤¬¾®¤µ¤¯¤Ê¤ëÅÔÅٺǾ®Ãͤò¹¹¿·¤·¤Æ¤¤¤­¡¢µ÷Î¥¤¬ºÇ¾®Ãͤè¤êÂ礭¤¯¤Ê¤Ã¤¿»þ¤òt2¤È¤ª¤¯¡£
È¿ÂÐÊý¸þ¤ËÀû²ó¤ò»Ï¤á¡¢ºÇ¾®Ãͤè¤ê¾®¤µ¤¤Ãͤò´¶ÃΤ¹¤ë¤«¡¢t2¤ò´ð½à¤È¤·¤¿»þ´Ö¤Ë¤Ê¤ë¤Þ¤Ç³¤±¤ë¡£
 def catch():#catch the can
   while us.value()>40:
       mR.run_forever(duty_cycle_sp=50,speed_sp=-100 
       mL.run_forever(duty_cycle_sp=50,speed_sp=-100)
   else :
       mR.run_timed(time_sp=800,duty_cycle_sp=40,speed_sp=100)
       mL.run_timed(time_sp=800,duty_cycle_sp=40,speed_sp=100)
       time.sleep(1.5)
       mT.run_timed(time_sp=1000,duty_cycle_sp=40,speed_sp=100,stop_action='brake')
       time.sleep(1)
       mA.run_timed(time_sp=2000,duty_cycle_sp=30,speed_sp=100,stop_action='hold')
       time.sleep(2)
       mT.run_timed(time_sp=2000,duty_cycle_sp=40,speed_sp=-100,stop_action='hold')
search¤Ç´Ì¤Î¿¿ÀµÌ̤ò¸þ¤¤¤Æ¤¤¤ë¤¿¤á¡¢¤Þ¤Ã¤¹¤°Áö¤Ã¤Æ°ìÄê¤Îµ÷Î¥¤Þ¤Ç¶á¤Å¤¤¤Æ¡¢µ÷Î¥¤òÄ´À°¤·¤Æ´Ì¤ò¤Ä¤«¤ó¤Ç»ý¤Á¾å¤²¤ë¡£
 def build():#pile the cans
   while us.value()>40:
       mR.run_forever(duty_cycle_sp=50,speed_sp=-100)
       mL.run_forever(duty_cycle_sp=50,speed_sp=-100)
   else :
       mR.run_timed(time_sp=800,duty_cycle_sp=40,speed_sp=100)
       mL.run_timed(time_sp=800,duty_cycle_sp=40,speed_sp=100)
       time.sleep(1.5)
       mT.run_timed(time_sp=650,duty_cycle_sp=70,speed_sp=40,stop_action='hold')
       time.sleep(1.5)
       mA.run_timed(time_sp=2000,duty_cycle_sp=30,speed_sp=-100,stop_action='hold')
       time.sleep(1.5)
       mR.run_timed(time_sp=1200,duty_cycle_sp=40,speed_sp=100)
       mL.run_timed(time_sp=1200,duty_cycle_sp=40,speed_sp=100)
       time.sleep(1.5)
       mT.run_timed(time_sp=2000,duty_cycle_sp=70,speed_sp=30,stop_action='brake')
       time.sleep(2)
       mA.run_timed(time_sp=2000,duty_cycle_sp=30,speed_sp=100,stop_action='hold')
       time.sleep(2)
       mT.run_timed(time_sp=710,duty_cycle_sp=40,speed_sp=-100,stop_action='hold')
¤Ï¤¸¤á¤Ïcatch¤ÈƱ¤¸¡£´Ì¤ò¼¡¤Î´Ì¤Î¾å¤ËÃÖ¤­¡¢¡¢°ìÅÙÊü¤·¤Æ°ÌÃÖ¤òÄ´Àᤷ¤Æº¬Ëܤ«¤é»ý¤Á¾å¤²¤ë¡£
 def end():#get out of the goal
   mR.run_timed(time_sp=1000,duty_cycle_sp=50,speed_sp=200)
   mL.run_timed(time_sp=1000,duty_cycle_sp=50,speed_sp=200)
¤¹¤Ù¤Æ¤ÎÆ°ºî¤Î¸å¤Ë¡¢¥´¡¼¥ë¤«¤é½Ð¤ë¡£
 for loop in [0]:
   search()
   mR.stop()
   mL.stop()
   time.sleep(2)
   catch()
   time.sleep(2)
°ì¸ÄÌܤÏcatch¤Ê¤Î¤Ç¥ë¡¼¥×¤òÊѤ¨¤Æ¤ª¤¯¡£¡¡
 for loop in [0]:
   t1=time.time()
   search()
   mR.stop()
   mL.stop()
   time.sleep(2)
   build()
   time.sleep(2)
Æó¸ÄÌܰʹߤΥ롼¥×¡£
 mR.run_timed(time_sp=3000,duty_cycle_sp=50,speed_sp=-55)
 mL.run_timed(time_sp=3000,duty_cycle_sp=50,speed_sp=-120)
 time.sleep(3)
 mR.run_timed(time_sp=1500,duty_cycle_sp=50,speed_sp=-200)
 mL.run_timed(time_sp=1500,duty_cycle_sp=50,speed_sp=-200)
 time.sleep(3)
 mR.stop()
 mL.stop()
°ÌÃÖ¤ÎÄ´Àá
 mA.run_timed(time_sp=1000,duty_cycle_sp=30,speed_sp=-40)
 time.sleep(3)
 mA.run_timed(time_sp=2000,duty_cycle_sp=30,speed_sp=-110,stop_action='brake')
 end()
 time.sleep(2)
¤æ¤Ã¤¯¤ê´Ì¤òÊü¤¹¡£¤½¤Î¸å¥´¡¼¥ë¤«¤é½Ð¤ë¡£
 mT.reset()
mT¤Î¥Û¡¼¥ë¥É¤ò²ò¤¯
*·ë²Ì [#cf7e96a8]
£°ÅÀ¡Ê¶õ¤­´Ì¤¬µÍ¤á¤ë¤¬ÏȤËÆþ¤é¤Ê¤«¤Ã¤¿¤ê¡¢ÏȤËÆþ¤ë¤¬¶õ¤­´Ì¤¬¤Ä¤á¤Ê¤«¤Ã¤¿¤ê¡Ë
*È¿¾ÊÅÀ [#yeac5d3f]

¤ä¤Ï¤êº£²ó¤Î°ìÈÖ¤ÎÌäÂê¤Ï»þ´Ö¤¬¤Ê¤«¤Ã¤¿¤È¤¤¤¦»ö¤À¤È»×¤¦£´¿ÍÃ棱¿Í¤·¤«²ÝÂê­£¤ÎȯɽÁ°¤ÎÄ´À°¤Ç¤­¤ë¿Í¤¬¤¤¤Ê¤«¤Ã¤¿¤ê¤·¤Æ¡¢ËÜÍè¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ì¤Ð¤­¤ì¤¤¤Ë½Å¤Í¤é¤ì¤ë¤È»×¤¦¤¬»þ´Ö¤¬¤Ê¤«¤Ã¤¿¤Î¤Ç¤½¤ÎÄ´À°¤Ç¤µ¤¨¤Ç¤­¤Ê¤«¤Ã¤¿¡£¤³¤ì¤«¤é¤Ï¤â¤Ã¤Èǻ̩¤¤·×²è¤·¤¿¤¤¤È»×¤¦¡£

¥È¥Ã¥×   ÊÔ½¸ º¹Ê¬ ÍúÎò źÉÕ Ê£À½ ̾Á°Êѹ¹ ¥ê¥í¡¼¥É   ¿·µ¬ °ìÍ÷ ¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS