Showing
1 changed file
with
17 additions
and
9 deletions
| ... | @@ -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() | ... | ... |
-
Please register or login to post a comment