Showing
1 changed file
with
6 additions
and
6 deletions
| 1 | +# step1 : 높이조정 | ||
| 1 | import CoDrone | 2 | import CoDrone |
| 2 | import keyboard | 3 | import keyboard |
| 3 | from CoDrone.system import Direction | 4 | from CoDrone.system import Direction |
| 4 | from CoDrone.system import Mode | 5 | from CoDrone.system import Mode |
| 5 | -from time import sleep | ||
| 6 | 6 | ||
| 7 | 7 | ||
| 8 | errorRange = 50 # 오차범위 | 8 | errorRange = 50 # 오차범위 |
| 9 | moveRange = 150 # 움직였다고 판단할 거리 | 9 | moveRange = 150 # 움직였다고 판단할 거리 |
| 10 | heightRange = 70 # 움직였다고 판단할 거리 height | 10 | heightRange = 70 # 움직였다고 판단할 거리 height |
| 11 | 11 | ||
| 12 | + | ||
| 12 | # 키보드로 콘솔창에 'q'를 누르면 드론이 착륙하게 만드는 코드 | 13 | # 키보드로 콘솔창에 'q'를 누르면 드론이 착륙하게 만드는 코드 |
| 13 | def stop(_master, _slave): | 14 | def stop(_master, _slave): |
| 14 | if keyboard.is_pressed('q'): # 키보드에서 'q'가 입력되면 while문 탈출 | 15 | if keyboard.is_pressed('q'): # 키보드에서 'q'가 입력되면 while문 탈출 |
| 15 | print('[Keyboard input occur: Quit!]') | 16 | print('[Keyboard input occur: Quit!]') |
| 16 | - # 착륙에 성공할 때까지 LED 효과 | 17 | + # 착륙시작시 LED 효과 |
| 17 | _master.arm_default_pattern(0, 125, 155, Mode.DOUBLE_BLINK, 10) | 18 | _master.arm_default_pattern(0, 125, 155, Mode.DOUBLE_BLINK, 10) |
| 18 | _slave.arm_default_pattern(0, 125, 155, Mode.DOUBLE_BLINK, 10) | 19 | _slave.arm_default_pattern(0, 125, 155, Mode.DOUBLE_BLINK, 10) |
| 19 | return True | 20 | return True |
| ... | @@ -38,11 +39,9 @@ def setHeight(_master, _mHeight, _slave): | ... | @@ -38,11 +39,9 @@ def setHeight(_master, _mHeight, _slave): |
| 38 | return | 39 | return |
| 39 | elif _sHeight < _mHeight - errorRange: | 40 | elif _sHeight < _mHeight - errorRange: |
| 40 | _slave.go(Direction.UP, 0, 100) | 41 | _slave.go(Direction.UP, 0, 100) |
| 41 | - # sleep(0.2) | ||
| 42 | print('[up]') | 42 | print('[up]') |
| 43 | elif _sHeight > _mHeight + errorRange: | 43 | elif _sHeight > _mHeight + errorRange: |
| 44 | _slave.go(Direction.DOWN, 0, 100) | 44 | _slave.go(Direction.DOWN, 0, 100) |
| 45 | - # sleep(0.2) | ||
| 46 | print('[down]') | 45 | print('[down]') |
| 47 | 46 | ||
| 48 | 47 | ||
| ... | @@ -70,6 +69,7 @@ def main(): | ... | @@ -70,6 +69,7 @@ def main(): |
| 70 | .format(mPosition.X, mPosition.Y, mHeight, sPosition.X, sPosition.Y, sHeight)) # 좌표출력/단위(mm) | 69 | .format(mPosition.X, mPosition.Y, mHeight, sPosition.X, sPosition.Y, sHeight)) # 좌표출력/단위(mm) |
| 71 | 70 | ||
| 72 | if stop(master, slave): | 71 | if stop(master, slave): |
| 72 | + print('드론을 착륙시킵니다.') | ||
| 73 | break | 73 | break |
| 74 | 74 | ||
| 75 | # master의 전 높이 대비 +- moveRange 만큼의 차이가 있으면 slave가 움직이도록 | 75 | # master의 전 높이 대비 +- moveRange 만큼의 차이가 있으면 slave가 움직이도록 |
| ... | @@ -80,10 +80,10 @@ def main(): | ... | @@ -80,10 +80,10 @@ def main(): |
| 80 | slave.arm_strobe() | 80 | slave.arm_strobe() |
| 81 | setHeight(master, mHeight, slave) | 81 | setHeight(master, mHeight, slave) |
| 82 | 82 | ||
| 83 | - print('Land') | ||
| 84 | - slave.land() # 착륙 | ||
| 85 | master.arm_off() | 83 | master.arm_off() |
| 86 | slave.arm_off() | 84 | slave.arm_off() |
| 85 | + print('Land') | ||
| 86 | + slave.land() # 착륙 | ||
| 87 | 87 | ||
| 88 | # 연결해제 -> 여기까지 성공했다면 배터리 안 빼도 다시 연결 됩니다. | 88 | # 연결해제 -> 여기까지 성공했다면 배터리 안 빼도 다시 연결 됩니다. |
| 89 | slave.disconnect() | 89 | slave.disconnect() | ... | ... |
-
Please register or login to post a comment