def run(): global direction_command, turn_command, pos_input, catch_input, cir_input, ultrasonicMode, FindLineMode, FindColorMode move.setup() findline.setup() info_threading = threading.Thread( target=info_send_client) # Define a thread for FPV and OpenCV info_threading.setDaemon( True ) #'True' means it is a front thread,it would close when the mainloop() closes info_threading.start() # Thread starts ultra_threading = threading.Thread( target=ultra_send_client) # Define a thread for FPV and OpenCV ultra_threading.setDaemon( True ) #'True' means it is a front thread,it would close when the mainloop() closes ultra_threading.start() # Thread starts findline_threading = threading.Thread( target=findline_thread) # Define a thread for FPV and OpenCV findline_threading.setDaemon( True ) #'True' means it is a front thread,it would close when the mainloop() closes findline_threading.start() # Thread starts # move.stand() ws_R = 0 ws_G = 0 ws_B = 0 Y_pitch = 0 Y_pitch_MAX = 200 Y_pitch_MIN = -200 while True: data = "" data = str(tcpCliSock.recv(BUFSIZ).decode()) if not data: continue elif "forward" == data: direction_command = "forward" move.move(speed_set, direction_command, turn_command, rad) elif "backward" == data: direction_command = "backward" move.move(speed_set, direction_command, turn_command, rad) elif "DS" in data: direction_command = "no" move.move(speed_set, direction_command, turn_command, rad) elif "left" == data: turn_command = "left" move.move(speed_set, direction_command, turn_command, rad) elif "right" == data: turn_command = "right" move.move(speed_set, direction_command, turn_command, rad) elif "TS" in data: turn_command = "no" move.move(speed_set, direction_command, turn_command, rad) elif "out" == data: if pos_input < 17: pos_input += 1 servo.hand_pos(pos_input) elif "in" == data: if pos_input > 1: pos_input -= 1 servo.hand_pos(pos_input) elif "headup" == data: servo.camera_ang("lookup", 0) elif "headdown" == data: servo.camera_ang("lookdown", 0) elif "headhome" == data: servo.camera_ang("home", 0) servo.hand("in") servo.cir_pos(6) pos_input = 1 catch_input = 1 cir_input = 6 servo.catch(catch_input) time.sleep(0.5) servo.clean_all() elif "c_left" == data: if cir_input < 12: cir_input += 1 servo.cir_pos(cir_input) elif "c_right" == data: if cir_input > 1: cir_input -= 1 servo.cir_pos(cir_input) elif "catch" == data: if catch_input < 13: catch_input += 1 servo.catch(catch_input) elif "loose" == data: if catch_input > 1: catch_input -= 1 servo.catch(catch_input) elif "wsR" in data: try: set_R = data.split() ws_R = int(set_R[1]) LED.colorWipe(Color(ws_R, ws_G, ws_B)) except: pass elif "wsG" in data: try: set_G = data.split() ws_G = int(set_G[1]) LED.colorWipe(Color(ws_R, ws_G, ws_B)) except: pass elif "wsB" in data: try: set_B = data.split() ws_B = int(set_B[1]) LED.colorWipe(Color(ws_R, ws_G, ws_B)) except: pass elif "FindColor" in data: FindColorMode = 0 tcpCliSock.send(("FunEnd").encode()) elif "WatchDog" in data: tcpCliSock.send(("FunEnd").encode()) elif "steady" in data: ultrasonicMode = 1 tcpCliSock.send(("steady").encode()) elif "FindLine" in data: FindLineMode = 1 tcpCliSock.send(("FindLine").encode()) elif "funEnd" in data: ultrasonicMode = 0 FindLineMode = 0 FindColorMode = 0 tcpCliSock.send(("FunEnd").encode()) move.motorStop() else: pass
def run(): global direction_command, turn_command, pos_input, catch_input, cir_input, ultrasonicMode, FindLineMode, FindColorMode move.setup() findline.setup() info_threading = threading.Thread( target=info_send_controller) #Define a thread for FPV and OpenCV info_threading.setDaemon( True ) #'True' means it is a front thread,it would close when the mainloop() closes info_threading.start() #Thread starts ultra_threading = threading.Thread( target=ultra_send_controller) #Define a thread for FPV and OpenCV ultra_threading.setDaemon( True ) #'True' means it is a front thread,it would close when the mainloop() closes ultra_threading.start() #Thread starts findline_threading = threading.Thread( target=findline_thread) #Define a thread for FPV and OpenCV findline_threading.setDaemon( True ) #'True' means it is a front thread,it would close when the mainloop() closes findline_threading.start() #Thread starts #move.stand() ws_R = 0 ws_G = 0 ws_B = 0 Y_pitch = 0 Y_pitch_MAX = 200 Y_pitch_MIN = -200 while True: data = '' data = str(tcpCliSock.recv(BUFSIZ).decode()) if not data: continue elif 'forward' == data: direction_command = 'forward' move.move(speed_set, direction_command, turn_command, rad) elif 'backward' == data: direction_command = 'backward' move.move(speed_set, direction_command, turn_command, rad) elif 'DS' in data: direction_command = 'no' move.move(speed_set, direction_command, turn_command, rad) elif 'left' == data: turn_command = 'left' move.move(speed_set, direction_command, turn_command, rad) elif 'right' == data: turn_command = 'right' move.move(speed_set, direction_command, turn_command, rad) elif 'TS' in data: turn_command = 'no' move.move(speed_set, direction_command, turn_command, rad) elif 'out' == data: if pos_input < 17: pos_input += 1 servo.hand_pos(pos_input) elif 'in' == data: if pos_input > 1: pos_input -= 1 servo.hand_pos(pos_input) elif 'headup' == data: servo.camera_ang('lookup', 0) elif 'headdown' == data: servo.camera_ang('lookdown', 0) elif 'headhome' == data: servo.camera_ang('home', 0) servo.hand('in') servo.cir_pos(6) pos_input = 1 catch_input = 1 cir_input = 6 servo.catch(catch_input) time.sleep(0.5) servo.clean_all() elif 'c_left' == data: if cir_input < 12: cir_input += 1 servo.cir_pos(cir_input) elif 'c_right' == data: if cir_input > 1: cir_input -= 1 servo.cir_pos(cir_input) elif 'catch' == data: if catch_input < 13: catch_input += 1 servo.catch(catch_input) elif 'loose' == data: if catch_input > 1: catch_input -= 1 servo.catch(catch_input) elif 'wsR' in data: try: set_R = data.split() ws_R = int(set_R[1]) LED.colorWipe(Color(ws_R, ws_G, ws_B)) except: pass elif 'wsG' in data: try: set_G = data.split() ws_G = int(set_G[1]) LED.colorWipe(Color(ws_R, ws_G, ws_B)) except: pass elif 'wsB' in data: try: set_B = data.split() ws_B = int(set_B[1]) LED.colorWipe(Color(ws_R, ws_G, ws_B)) except: pass elif 'FindColor' in data: FindColorMode = 0 tcpCliSock.send(('FunEnd').encode()) elif 'WatchDog' in data: tcpCliSock.send(('FunEnd').encode()) elif 'steady' in data: ultrasonicMode = 1 tcpCliSock.send(('steady').encode()) elif 'FindLine' in data: FindLineMode = 1 tcpCliSock.send(('FindLine').encode()) elif 'funEnd' in data: ultrasonicMode = 0 FindLineMode = 0 FindColorMode = 0 tcpCliSock.send(('FunEnd').encode()) move.motorStop() else: pass
def close_hand(degrees=7): servo.hand(degrees) time.sleep(.15)
import move import servo import time import ultra servo.clean_all() count = -4 while (count < 5): servo.arm_pos(count) count += 1 time.sleep(1) servo.hand(-180) time.sleep(1) servo.hand(180) time.sleep(1) servo.wrist(-15) time.sleep(1) servo.wrist(15) time.sleep(1) move.moveArcade(50, 10) for e in range(10): print(ultra.checkdist()) time.sleep(.2) servo.clean_all()
def open_hand(degrees=-10): servo.hand(degrees) time.sleep(.15)