이유진

수정

...@@ -26,18 +26,17 @@ def setHeight(_sHeight, _master): ...@@ -26,18 +26,17 @@ def setHeight(_sHeight, _master):
26 26
27 def main(): 27 def main():
28 master = CoDrone.CoDrone() 28 master = CoDrone.CoDrone()
29 - master.connect("None", "COM3", False) 29 + master.connect("None", "COM7", False)
30 slave = CoDrone.CoDrone() 30 slave = CoDrone.CoDrone()
31 slave.connect("None", "COM5", False) 31 slave.connect("None", "COM5", False)
32 32
33 33
34 master.takeoff()#master 드론 이륙 34 master.takeoff()#master 드론 이륙
35 slave.takeoff()#slave 드론 이륙 35 slave.takeoff()#slave 드론 이륙
36 - slave.hover(60)
37 bHeight = slave.get_height() # bHeight = slave의 높이 36 bHeight = slave.get_height() # bHeight = slave의 높이
38 37
39 # slave의 이전 좌표값(움직임 추적용) 초기화 38 # slave의 이전 좌표값(움직임 추적용) 초기화
40 - bHeight = 0 39 + # bHeight = 0
41 40
42 41
43 while True: 42 while True:
...@@ -49,7 +48,17 @@ def main(): ...@@ -49,7 +48,17 @@ def main():
49 sHeight = slave.get_height() # slave고도 48 sHeight = slave.get_height() # slave고도
50 print("master [x={} y={} z={}] slave [x={} y={} z={}]" 49 print("master [x={} y={} z={}] slave [x={} y={} z={}]"
51 .format(mPosition.X, mPosition.Y, mHeight, sPosition.X, sPosition.Y, sHeight)) 50 .format(mPosition.X, mPosition.Y, mHeight, sPosition.X, sPosition.Y, sHeight))
52 - 51 +
52 + if keyboard.is_pressed('q'): # 키보드에서 'q'가 입력되면 while문 탈출
53 + print('[Keyboard input occur: Quit!]')
54 + # 착륙에 성공할 때까지 LED 효과
55 + master.arm_default_pattern(0, 125, 155, Mode.DOUBLE_BLINK, 10)
56 + slave.arm_default_pattern(0, 125, 155, Mode.DOUBLE_BLINK, 10)
57 + break
58 + elif not slave.isConnected(): # slave 연결이 끊기면 프로그램 종료
59 + print('[Slave Disconnected]')
60 + return
61 +
53 # slave의 전 높이 대비 heightRange 만큼의 차이가 있으면 master가 움직이도록 62 # slave의 전 높이 대비 heightRange 만큼의 차이가 있으면 master가 움직이도록
54 if abs(sHeight - bHeight) > heightRange: 63 if abs(sHeight - bHeight) > heightRange:
55 print('[height change!]') 64 print('[height change!]')
......