Skip to content

Commit db6553d

Browse files
committed
rename test_head.py -> test_servos, add menu points for testing dispenser servo
1 parent 52b1273 commit db6553d

File tree

6 files changed

+27
-9
lines changed

6 files changed

+27
-9
lines changed

test_head_folder/9090.png

-148 KB
Loading

test_head_folder/set_h_20.0.png

-117 KB
Loading

test_head_folder/set_v_30.0.png

-146 KB
Loading

test_head_folder/shift_h_30.0.png

-146 KB
Loading

test_head_folder/shift_v_30.0.png

-149 KB
Loading

test_head.py renamed to test_servos.py

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,22 @@
1616

1717

1818
from motion.head.head_publisher import HeadPublisher
19+
from motion.candy_dispenser.candy_dispenser_conroller import Dispenser
1920

21+
import serial
22+
TIMEOUT = 10
2023
import time
2124

2225

2326
def menu():
24-
print('1. h_angle = v_angle = 90')
25-
print('2. set horizontal angle')
26-
print('3. set vertical angle')
27-
print('4. shift horizontal angle')
28-
print('5. shift vertical angle')
29-
print('6. exit')
27+
print('1. head h_angle = v_angle = 90')
28+
print('2. head set horizontal angle')
29+
print('3. head set vertical angle')
30+
print('4. head shift horizontal angle')
31+
print('5. head shift vertical angle')
32+
print('6. dispenser rotate angle')
33+
print('7. dispenser totate until give candy')
34+
print('8. exit')
3035

3136
def im_cap_and_save(name):
3237
time.sleep(1)
@@ -39,19 +44,30 @@ def im_cap_and_save(name):
3944
cap = cv2.VideoCapture(0)
4045

4146
hp = HeadPublisher()
42-
47+
dispenser = Dispenser()
48+
ser = serial.Serial('/dev/tty*', 9600) #CORRECT!!
49+
4350
while True:
4451
menu()
4552
ans = input('>')
4653
point = int(ans)
47-
if point == 6:
54+
if point == 8:
4855
break
4956
elif point == 1:
5057
hp.set_h_angle(90)
5158
hp.set_v_angle(90)
5259
im_cap_and_save('9090.png')
60+
elif point == 7: #rotate dispenser servo until give candy
61+
start = time.time()
62+
while time.time() - start < TIMEOUT:
63+
dispenser.set_angle(360)
64+
dispenser.set_angle(0)
65+
if ser.read() == b'1': #if candy dispensing sensor sent true
66+
print('candy!')
67+
break
68+
print('candy timeout!')
5369
else:
54-
angle = float(input('\t input angle'))
70+
angle = float(input('\t input angle: '))
5571
if point == 2:
5672
hp.set_h_angle(angle)
5773
im_cap_and_save('set_h_' + str(angle) + '.png')
@@ -64,5 +80,7 @@ def im_cap_and_save(name):
6480
elif point == 5:
6581
hp.shift_v_angle(angle)
6682
im_cap_and_save('shift_v_' + str(angle) + '.png')
83+
elif point == 6:
84+
dispenser.set_angle(angle)
6785
else:
6886
print('invalid input')

0 commit comments

Comments
 (0)