[[2017a/Member]] *²ÝÂꣲ&br;17T2037H¡¡²¡¸«¡¡ÍÎÅÚ [#m18339e3] #br #contents #hr **²ÝÂꣲ [#b4ac2d64] [[²ÝÂꣲ:http://yakushi.shinshu-u.ac.jp/robotics/?2017a%2FMission2]] **¥í¥Ü¥Ã¥È [#w9358c78] º£²ó¤Î²ÝÂê¤Ë¤ª¤¤¤ÆEV3¤Î¼åÅÀ¤Ï¼ÖÎØÉý¤ÎÂ礤µ¤Ç¤¢¤Ã¤¿¡£¥«¡¼¥Ö¤ò¶Ê¤¬¤ëºÝÅù¤ËºÙ¤«¤¤Ä´À°¤òɬÍפȤ¹¤ëÌ̤¬º£²óEV3¤ò»ÈÍѤ¹¤ë¥á¥ó¥Ð¡¼¤òÁêÅö¤Ë¶ìÏ«¤µ¤»¤¿¡£ #ref(DSC_0528.JPG) »äã¤ÎÈɤϤ½¤Î¼åÅÀ¤òºÇ¾®¸Â¤Ë¤È¤É¤á¤ë¤¿¤á¤Ë¡¢Æó¤Ä¤Î¥â¡¼¥¿¤òÌ©Ã夵¤»¡¢¼ÖÎØÉý¤ò²Äǽ¤Ê¸Â¤ê¾®¤µ¤¯¤·¤¿¡£ #ref(DSC_0529.JPG) #ref(DSC_0527.JPG) **¥×¥í¥°¥é¥à [#qe1ea633] #!/usr/bin/python3 # -*- coding:utf-8 -*- import ev3dev.ev3 as ev3 import time mR=ev3.LargeMotor('outA') mL=ev3.LargeMotor('outB') t0=time.time()#°ìÊý¸þ¤Î¥«¡¼¥Ö»þ´Ö t1=time.time()#¸òº¹ÅÀȽÄê¤ÎºÇÄã»þ´Ö´Ö³Ö¤òÊݤĤ¿¤á¤Î»þ´Ö t2=time.time()#¸òº¹ÅÀ¤Ç¤ÎÆ°ºî¤ò»Ê¤ë»þ´Ö cs=ev3.ColorSensor('in3') tsR=ev3.TouchSensor('in1') tsL=ev3.TouchSensor('in2') modeA = 0#¥«¡¼¥Ö¤ÎÊý¸þ¤ò·èÄꤹ¤ë·¿ modeB = 1#modeA¤ËÁ°²ó¤Î¥«¡¼¥Ö¤ÎÊý¸þ¤ò¥Õ¥£¡¼¥É¥Ð¥Ã¥¯¤¹¤ëÊÑ¿ô modeC = 0#¸òº¹ÅÀ¤ÎÈÖ¹æ¤ò¥«¥¦¥ó¥È¤¹¤ëÊÑ¿ô mL.run_timed(time_sp=2000,duty_cycle_sp=50,speed_sp=100,stop_action='brake') mR.run_timed(time_sp=2000,duty_cycle_sp=50,speed_sp=100,stop_action='brake') time.sleep(2) for loop in range(100000): if tsR.value()==1 or tsL.value()==1: break if cs.value()>55 and cs.value()<=60: mL.run_forever(duty_cycle_sp=50,speed_sp=120) mR.run_forever(duty_cycle_sp=50,speed_sp=120) t0=time.time() t2=time.time() elif cs.value()>37 and cs.value()<=55: if modeC==3 or modeC==2: mL.run_forever(duty_cycle_sp=50,speed_sp=60) mR.run_forever(duty_cycle_sp=50,speed_sp=100) t0=time.time() t2=time.time() elif modeC!=2 and modeC!=3: mL.run_forever(duty_cycle_sp=50,speed_sp=100) mR.run_forever(duty_cycle_sp=50,speed_sp=60) t0=time.time() t2=time.time() elif cs.value()>26 and cs.value()<=37: if modeC==3 or modeC==2: mL.run_forever(duty_cycle_sp=50,speed_sp=0) mR.run_forever(duty_cycle_sp=50,speed_sp=100) t0=time.time() t2=time.time() elif modeC!=2 and modeC!=3: mL.run_forever(duty_cycle_sp=50,speed_sp=100) mR.run_forever(duty_cycle_sp=50,speed_sp=0) t0=time.time() t2=time.time() elif cs.value()>14 and cs.value()<=26: if modeC==3 or modeC==2: mL.run_forever(duty_cycle_sp=50,speed_sp=-70) mR.run_forever(duty_cycle_sp=50,speed_sp=100) t0=time.time() t2=time.time() elif modeC!=2 and modeC!=3: mL.run_forever(duty_cycle_sp=50,speed_sp=100) mR.run_forever(duty_cycle_sp=50,speed_sp=-70) t0=time.time() t2=time.time() if time.time()-t0<=1.8: modeA=modeB if modeA==0 and cs.value()>60 and modeC!=3 and modeC!=2: mL.run_forever(duty_cycle_sp=50,speed_sp=100) mR.run_forever(duty_cycle_sp=50,speed_sp=25)#Çò¡¡±¦ modeB=0 elif modeA==1 and cs.value()>60 and modeC!=3 and modeC!=2: mL.run_forever(duty_cycle_sp=50,speed_sp=25) mR.run_forever(duty_cycle_sp=50,speed_sp=100)#Çò¡¡º¸ modeB=1 elif modeA==0 and cs.value()>60: if modeC==2 or modeC==3: mL.run_forever(duty_cycle_sp=50,speed_sp=100) mR.run_forever(duty_cycle_sp=50,speed_sp=25)#Çò¡¡±¦ modeB=0 elif cs.value()<=60 and cs.value()>17 and time.time()-t0>0.9: ev3.Sound.play('tyokkaku.wav') mR.stop() mL.stop() time.sleep(1) modeC+=1 t2=time.time() elif cs.value()>60: if modeA==1: mL.run_forever(duty_cycle_sp=50,speed_sp=100) mR.run_forever(duty_cycle_sp=50,speed_sp=0)#Çò¡¡±¦ modeB=0 elif modeA==0: mL.run_forever(duty_cycle_sp=50,speed_sp=0) mR.run_forever(duty_cycle_sp=50,speed_sp=100)#Çò¡¡º¸ modeB=1 t2=time.time() if cs.value()<=14 and time.time()-t1>3: while time.time()-t2<=1: mL.stop() mR.stop() modeC += 1 while time.time()-t2>1 and time.time()-t2<=3: if modeC==1:#¡ ev3.Sound.play('tziro.wav') mL.run_timed(time_sp=210,duty_cycle_sp=50,speed_sp=170,stop_action='brake') mR.run_timed(time_sp=210,duty_cycle_sp=50,speed_sp=-80,stop_action='brake') elif modeC==2 or modeC==7:¢§ ev3.Sound.play('tziro.wav') mL.run_timed(time_sp=400,duty_cycle_sp=50,speed_sp=-50,stop_action='brake') mR.run_timed(time_sp=400,duty_cycle_sp=50,speed_sp=110,stop_action='brake') elif modeC==3 or modeC==8:£¨ ev3.Sound.play('tziro.wav') mL.run_timed(time_sp=400,duty_cycle_sp=50,speed_sp=165,stop_action='brake') mR.run_timed(time_sp=400,duty_cycle_sp=50,speed_sp=70,stop_action='brake') while time.time()-t2>2 and cs.value()>70: mL.run_forever(duty_cycle_sp=50,speed_sp=140) mR.run_forever(duty_cycle_sp=50,speed_sp=50) elif modeC==4 or modeC==9:¤© ev3.Sound.play('tziro.wav') mL.run_timed(time_sp=800,duty_cycle_sp=50,speed_sp=40,stop_action='brake') mR.run_timed(time_sp=800,duty_cycle_sp=50,speed_sp=150,stop_action='brake') elif modeC==5 or modeC==6 or modeC==10:¥¦ª ev3.Sound.play('kousaten.wav') mL.run_timed(time_sp=500,duty_cycle_sp=50,speed_sp=100,stop_action='brake') mR.run_timed(time_sp=500,duty_cycle_sp=50,speed_sp=100,stop_action='brake') t0=time.time() t1=time.time() elif cs.value()<=14 and time.time()-t2<=3: mL.run_forever(duty_cycle_sp=50,speed_sp=100) mR.run_forever(duty_cycle_sp=50,speed_sp=-70) t0=time.time() t2=time.time() ¡¡mR.stop()~ ¡¡mL.stop() **·ë²Ì [#da8c3c0d] ¤Þ¤À°ì¼þ¤·¤Æ¤¤¤Ê¤¤¡£ÈÖ¹æ¤Ç¼¨¤¹¤È¥¤Þ¤Ç¤Ï°ìÅÙ¤À¤±Áö¤Ã¤Æ¤¯¤ì¤¿¡£ **È¿¾Ê [#v62a1365]