add input code
This commit is contained in:
parent
26119e4056
commit
dbde062909
@ -69,3 +69,9 @@ def goToBin(bin):
|
||||
break
|
||||
print("[ INFO ] Waiting for " + str(delay) + " seconds.")
|
||||
time.sleep(delay)
|
||||
def stopInput():
|
||||
command = str(0x85)
|
||||
command += '\n'
|
||||
ser.write(command.encode('utf-8'))
|
||||
def startInput():
|
||||
ser.write(b'$J=G91 Y-5000 F400\n')
|
@ -176,7 +176,7 @@ def detect(calibration_width, img_file, show, quick):
|
||||
"""
|
||||
pixelsPerMetric = 25
|
||||
orig = image.copy()
|
||||
objtype = "Unknown"
|
||||
objtype = "Object"
|
||||
objname = ""
|
||||
# loop over the contours individually
|
||||
for c in cnts:
|
||||
@ -224,7 +224,7 @@ def detect(calibration_width, img_file, show, quick):
|
||||
else:
|
||||
circular = True
|
||||
cv2.circle(orig, (int(x), int(y)), int(radius), (255, 0, 0), 2)
|
||||
objtype = "Unknown"
|
||||
objtype = "Object"
|
||||
itemw = larger(dimA, dimB)
|
||||
itemwr = itemw
|
||||
itemwr *= 8
|
||||
@ -306,7 +306,7 @@ def detect(calibration_width, img_file, show, quick):
|
||||
# 0.65, (255, 255, 255), 2)
|
||||
if objtype != "Penny":
|
||||
objtype = magicSort(c)
|
||||
if objtype == "Unknown":
|
||||
if objtype == "Object":
|
||||
objtype = magicSort(c)
|
||||
output = "{:.2f}in".format(itemw) + " x {:.2f}in".format(itemh)
|
||||
if circular:
|
||||
@ -355,7 +355,7 @@ def magicSort(contour):
|
||||
#humoments[6] = abs(humoments[6]) #it's possible for the last number to change sign if item is mirrored
|
||||
#magicNumber1 = 0
|
||||
#magicNumber2 = 0
|
||||
name = "Unknown"
|
||||
name = "Object"
|
||||
for i in range(0,7):
|
||||
if humoments[i] == 0:
|
||||
humoments[i] = 0.1;
|
||||
|
17
pi_client.py
17
pi_client.py
@ -15,12 +15,17 @@ while True:
|
||||
data = s.recv(1024)
|
||||
#control_pixel.ledOn()
|
||||
if not data: break
|
||||
print("[ INFO ] Item name: "+ str(data)[2:len(str(data))-1])
|
||||
selectedBin = sort.sort(str(data)[2:len(str(data))-1])
|
||||
control_pixel.ledOff()
|
||||
control_motor.goToBin(selectedBin)
|
||||
control_pixel.ledOn()
|
||||
s.sendall(b'Continue')
|
||||
if str(data)[2:8] == "Pause ":
|
||||
control_motor.stopInput()
|
||||
elif str(data)[2:8] == "Intake":
|
||||
control_motor.startInput()
|
||||
elif str(data)[2:8] == "Object":
|
||||
print("[ INFO ] Item name: "+ str(data)[2:len(str(data))-1])
|
||||
selectedBin = sort.sort(str(data)[2:len(str(data))-1])
|
||||
control_pixel.ledOff()
|
||||
control_motor.goToBin(selectedBin)
|
||||
control_pixel.ledOn()
|
||||
s.sendall(b'Continue')
|
||||
except socket.error:
|
||||
print("[ EXIT ] Socket connection error.")
|
||||
break
|
||||
|
@ -88,6 +88,7 @@ else :
|
||||
x = 0
|
||||
if len(items) > 0:
|
||||
#items.remove("Penny")
|
||||
sendString("Pause ")
|
||||
itema = items[0]
|
||||
valid = True
|
||||
for item in items:
|
||||
@ -97,11 +98,11 @@ else :
|
||||
break
|
||||
if valid:
|
||||
if currentItem == itema:
|
||||
samples += 1
|
||||
samples += 2
|
||||
else:
|
||||
currentItem = itema
|
||||
samples = 0
|
||||
if samples == 5:
|
||||
if samples >= 10:
|
||||
samples = 0
|
||||
capture.release()
|
||||
sendString(currentItem)
|
||||
@ -118,7 +119,11 @@ else :
|
||||
except socket.error:
|
||||
print("[ EXIT ] Socket connection error.")
|
||||
break
|
||||
|
||||
else:
|
||||
if samples > 0:
|
||||
samples -= 1
|
||||
if samples == 0:
|
||||
sendString("Intake")
|
||||
if cv2.waitKey(1)&0xFF == ord('q'):
|
||||
print("[ EXIT ] Shutting down.")
|
||||
s.shutdown(1)
|
||||
|
Loading…
x
Reference in New Issue
Block a user