이제 우리가 만든 조종기에서 아날로그 스틱이 작동하므로, 다음에 해야할 일은 버튼을 추가하는 것입니다. 코드에 이륙 버튼을 추가하는 것부터 시작합시다.
이륙을 L1 버튼으로 사용하겠습니다. 여기서는 버튼을 눌렀는지 확인하는 데 사용할 수 있는 유용한 버튼 함수가 있습니다. L1 버튼을 체크하기 위해 사용하는 함수는 drone.l1_pressed()
입니다. 이 함수는 L1을 누르면 참(true)을 반환합니다.
또한 check_buttons()
함수도 만들어서, 나만의 버튼에 기능을 할당하여 사용할 예정입니다.
from codrone_edu.drone import *
def check_buttons():
if drone.l1_pressed():
drone.takeoff()
print("이륙")
drone = Drone()
drone.pair()
while True:
check_buttons()
pitch = drone.get_left_joystick_y()
roll = drone.get_left_joystick_x()
throttle = drone.get_right_joystick_y()
yaw = drone.get_right_joystick_x()
if pitch > 60:
pitch = 60
if pitch < -60:
pitch = -60
if roll > 60:
roll = 60
if roll < -60:
roll = -60
if throttle > 60:
throttle = 60
if throttle < -60:
throttle = -60
if yaw > 60:
yaw = 60
if yaw < -60:
yaw = -60
drone.set_pitch(pitch)
drone.set_roll(roll)
drone.set_throttle(throttle)
drone.set_yaw(yaw)
drone.move()
이 코드를 사용하고 L1을 눌러 이륙합니다. 또한 계속해서 스로틀을 이용해 착륙하고 다시 이륙할 수 있습니다!
다른 버튼들에도 멋진 기능을 추가해 보세요! 🌟나만의 비행 명령, 플립, LED 라이트 쇼, 그 외에 생각할 수 있는 모든 것을 추가해볼 수 있습니다.
아래에 완전한 예제 코드가 있지만, 이것은 나만의 조종기를 만드는 것이므로 원하는 대로 코드를 수정할 수 있습니다.
전체 프로그램 코드:
from codrone_edu.drone import *
def check_buttons():
if drone.l1_pressed():
drone.takeoff()
print("이륙")
elif drone.l2_pressed():
drone.land()
print("착륙")
elif drone.r1_pressed():
drone.flip()
print("공중제비")
drone = Drone()
drone.pair()
while True:
check_buttons()
pitch = drone.get_left_joystick_y()
roll = drone.get_left_joystick_x()
throttle = drone.get_right_joystick_y()
yaw = drone.get_right_joystick_x()
if pitch > 60:
pitch = 60
if pitch < -60:
pitch = -60
if roll > 60:
roll = 60
if roll < -60:
roll = -60
if throttle > 60:
throttle = 60
if throttle < -60:
throttle = -60
if yaw > 60:
yaw = 60
if yaw < -60:
yaw = -60
drone.set_pitch(pitch)
drone.set_roll(roll)
drone.set_throttle(throttle)
drone.set_yaw(yaw)
drone.move()