이유진

키보드를 통한 착륙 코드 추가 (드론 2대)

...@@ -13,16 +13,16 @@ def setHeight(_mHeight, _slave): ...@@ -13,16 +13,16 @@ def setHeight(_mHeight, _slave):
13 while True: 13 while True:
14 _sHeight = _slave.get_height() 14 _sHeight = _slave.get_height()
15 if _mHeight - errorRange <= _sHeight <= _mHeight + errorRange: 15 if _mHeight - errorRange <= _sHeight <= _mHeight + errorRange:
16 - print('hit') 16 + print('[hit]')
17 return 17 return
18 elif _sHeight < _mHeight - errorRange: 18 elif _sHeight < _mHeight - errorRange:
19 _slave.go(Direction.UP) 19 _slave.go(Direction.UP)
20 sleep(0.2) 20 sleep(0.2)
21 - print('up') 21 + print('[up]')
22 elif _sHeight > _mHeight + errorRange: 22 elif _sHeight > _mHeight + errorRange:
23 _slave.go(Direction.DOWN) 23 _slave.go(Direction.DOWN)
24 sleep(0.2) 24 sleep(0.2)
25 - print('down') 25 + print('[down]')
26 26
27 27
28 def main(): 28 def main():
...@@ -49,13 +49,13 @@ def main(): ...@@ -49,13 +49,13 @@ def main():
49 # 한 번 성공하고 그 이후로 안 되네요 49 # 한 번 성공하고 그 이후로 안 되네요
50 # $pip3 install keyboard 50 # $pip3 install keyboard
51 # 로 keyboard를 설치한 다음 실행해야 합니다. 51 # 로 keyboard를 설치한 다음 실행해야 합니다.
52 - if keyboard.is_pressed('q'): 52 + # 성공 : q를 계속 누르고 계세요! ex) qqqqqqqqqqqqqq
53 - print('드론을 착륙시킵니다.') 53 + if keyboard.is_pressed('q'): # 키보드에서 'q'가 입력되면 while문 탈출
54 - slave.land() 54 + print('[Keyboard input occur: Quit!]')
55 - print('land')
56 - # slave.emergency_stop()
57 - # print('emergency_stop')
58 break 55 break
56 + elif not slave.isConnected(): # slave 연결이 끊기면 프로그램 종료
57 + print('[Slave Disconnected]')
58 + return
59 59
60 # master의 전 높이 대비 moveRange 만큼의 차이가 있으면 slave가 움직이도록 60 # master의 전 높이 대비 moveRange 만큼의 차이가 있으면 slave가 움직이도록
61 if abs(mHeight-bHeight) > moveRange: 61 if abs(mHeight-bHeight) > moveRange:
...@@ -70,6 +70,14 @@ def main(): ...@@ -70,6 +70,14 @@ def main():
70 bX = mPosition.X 70 bX = mPosition.X
71 bY = mPosition.Y 71 bY = mPosition.Y
72 72
73 + print('드론을 착륙시킵니다.')
74 + slave.arm_pattern() # LED 효과
75 + print('Land')
76 + slave.land() # 착륙
77 + # 연결해제 -> 여기까지 성공했다면 배터리 안 빼도 다시 연결 됩니다.
78 + slave.disconnect()
79 + master.disconnect()
80 +
73 81
74 if __name__ == '__main__': 82 if __name__ == '__main__':
75 main() 83 main()
......