കൺട്രോളർ#
ആമുഖം#
VEX AIR ഡ്രോൺ കൺട്രോളറിൽ 12-ബട്ടൺ ലേഔട്ടും രണ്ട് ജോയ്സ്റ്റിക്കുകളും ഉണ്ട്. ഈ ഇൻപുട്ടുകൾ ഡ്രോണിന് ബട്ടൺ അമർത്തലുകളും ജോയ്സ്റ്റിക്ക് ചലനങ്ങളും കണ്ടെത്താൻ അനുവദിക്കുന്നു, ഇത് സംവേദനാത്മകവും പ്രതികരിക്കുന്നതുമായ നിയന്ത്രണം സാധ്യമാക്കുന്നു.
ലഭ്യമായ എല്ലാ രീതികളുടെയും ഒരു ലിസ്റ്റ് താഴെ കൊടുക്കുന്നു:
ഗെറ്ററുകൾ - റീഡ് ബട്ടൺ, ജോയിസ്റ്റിക്ക്, കണക്ഷൻ സ്റ്റാറ്റസ്.
pressingഅമർത്തുന്നു – ഒരു പ്രത്യേക ബട്ടൺ നിലവിൽ അമർത്തുന്നുണ്ടെങ്കിൽ തിരികെ നൽകുന്നു.position– ഒരു നിർദ്ദിഷ്ട അക്ഷത്തിൽ ജോയിസ്റ്റിക്കിന്റെ സ്ഥാനം നൽകുന്നു.is_drone_connected– കൺട്രോളർ ഡ്രോണുമായി ബന്ധിപ്പിച്ചിട്ടുണ്ടോ എന്ന് നൽകുന്നു.get_battery_level– കൺട്രോളറിന്റെ ബാറ്ററി ലെവൽ തിരികെ നൽകുന്നു.
കോൾബാക്കുകൾ – ബട്ടൺ അല്ലെങ്കിൽ ജോയിസ്റ്റിക്ക് ഇൻപുട്ട് മാറ്റങ്ങളോട് പ്രതികരിക്കുക.
ഗെറ്ററുകൾ#
pressing#
pressing അമർത്തുന്നത് കൺട്രോളറിലെ ഒരു പ്രത്യേക ബട്ടൺ നിലവിൽ അമർത്തുന്നുണ്ടോ എന്ന് സൂചിപ്പിക്കുന്ന ഒരു ബൂളിയൻ നൽകുന്നു. ഈ രീതി button5 പോലുള്ള ഒരു പ്രത്യേക ബട്ടൺ ഒബ്ജക്റ്റിലാണ് വിളിക്കേണ്ടത് (താഴെ ബട്ടൺ ഒബ്ജക്റ്റുകളുടെ പൂർണ്ണ പട്ടിക കാണുക).
True- വ്യക്തമാക്കിയ ബട്ടൺ അമർത്തിക്കൊണ്ടിരിക്കുന്നു.False- വ്യക്തമാക്കിയ ബട്ടൺ അമർത്തുന്നില്ല.
ഉപയോഗം:
5 മുതൽ 12 വരെ അക്കങ്ങളുള്ള എട്ട് ലഭ്യമായ ബട്ടണുകളിൽ ഒന്ന്, താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ, ഈ രീതി ഉപയോഗിച്ച് ഉപയോഗിക്കാം:
ബട്ടൺ |
കമാൻഡ് |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല. |
# Take a picture when button 5 is pressed.
drone.take_off(climb_to=500)
while True:
# Fly using the controller sticks
drone.move_with_vectors(
forward=controller.axis4.position(),
rightward=controller.axis3.position(),
upward=controller.axis1.position(),
rotation=controller.axis2.position()
)
# Capture an image from the forward camera when button 5 is pressed.
if controller.button5.pressing():
drone.camera.capture_image(FORWARD_CAMERA)
wait(5, MSEC)
position#
position ജോയിസ്റ്റിക്കിന്റെ നിർദ്ദിഷ്ട അച്ചുതണ്ടിന്റെ സ്ഥാനം –100% മുതൽ 100% വരെയുള്ള ശതമാനമായി നൽകുന്നു.
ഉപയോഗം:
1 മുതൽ 4 വരെ അക്കമിട്ട നാല് അക്ഷങ്ങളിൽ ഒന്ന് ഈ രീതിയിൽ ഉപയോഗിക്കാം.
അച്ചുതണ്ട് |
കമാൻഡ് |
|---|---|
|
|
|
|
|
|
|
|

പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല. |
# Climb when the left joystick is moved up.
drone.take_off(climb_to=500)
while True:
if controller.axis1.position() > 0:
drone.climb(direction=UP, velocity=50)
else:
drone.hover()
wait(5, MSEC)
is_drone_connected#
is_drone_connected ഡ്രോൺ ബന്ധിപ്പിച്ചിട്ടുണ്ടോ എന്ന് സൂചിപ്പിക്കുന്ന ഒരു ബൂളിയൻ നൽകുന്നു.
True- ഡ്രോൺ ബന്ധിപ്പിച്ചിരിക്കുന്നു.False- ഡ്രോൺ ബന്ധിപ്പിച്ചിട്ടില്ല.
ഉപയോഗം:
controller.is_drone_connected()
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല. |
# Print controller connection status on screen.
while True:
if controller.is_drone_connected():
controller.screen.clear_screen()
controller.screen.set_cursor(1, 1)
controller.screen.print("Controller connected")
wait(0.5, SECONDS)
get_battery_level#
get_battery_level കൺട്രോളറിന്റെ ബാറ്ററി ലെവൽ 0% മുതൽ 100% വരെയുള്ള ശതമാനമായി നൽകുന്നു.
ഉപയോഗം:
controller.get_battery_level()
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല. |
# Show controller's battery level.
if controller.get_battery_level() > 50:
controller.screen.print("Battery level ok")
else:
controller.screen.print("Battery level low")
കോൾബാക്കുകൾ#
pressed#
pressed നിർദ്ദിഷ്ട ബട്ടൺ അമർത്തുമ്പോൾ ഒരു ഫംഗ്ഷൻ പ്രവർത്തിപ്പിക്കുന്നു. ഒരിക്കൽ ഉപയോഗിച്ചുകഴിഞ്ഞാൽ, ആ ബട്ടൺ അമർത്തുമ്പോഴെല്ലാം ഫംഗ്ഷൻ യാന്ത്രികമായി പ്രവർത്തിക്കും.
ഉപയോഗം:
ഈ രീതി ഉപയോഗിച്ച് ലഭ്യമായ എട്ട് ബട്ടണുകളിൽ ഒന്ന് ഉപയോഗിക്കാം, 5 മുതൽ 12 വരെ അക്കമിട്ടിരിക്കുന്നു.
ബട്ടൺ |
കമാൻഡ് |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
|
നിർദ്ദിഷ്ട ബട്ടൺ അമർത്തുമ്പോഴെല്ലാം പ്രവർത്തിപ്പിക്കുന്നതിനായി മുമ്പ് നിർവചിച്ച ഒരു ഫംഗ്ഷൻ. |
|
ഓപ്ഷണൽ. കോൾബാക്ക് ഫംഗ്ഷനിലേക്ക് കൈമാറുന്നതിനുള്ള ആർഗ്യുമെന്റുകൾ അടങ്ങിയ ഒരു tuple. കൂടുതൽ വിവരങ്ങൾക്ക് പാരാമീറ്ററുകൾ ഉപയോഗിച്ച് ഇവന്റുകൾ ഉപയോഗിക്കുന്നു കാണുക. |
# Take a picture when button 5 is pressed.
def take_picture():
drone.camera.capture_image(FORWARD_CAMERA)
# Run take_picture each time button 5 is pressed.
controller.button5.pressed(take_picture)
# Fly using the controller sticks.
drone.take_off(climb_to=500)
while True:
drone.move_with_vectors(
forward=controller.axis4.position(),
rightward=controller.axis3.position(),
upward=controller.axis1.position(),
rotation=controller.axis2.position()
)
wait(5, MSEC)
released#
വ്യക്തമാക്കിയ ബട്ടൺ റിലീസ് ചെയ്യുമ്പോൾ released ഒരു ഫംഗ്ഷൻ പ്രവർത്തിപ്പിക്കുന്നു. ഒരിക്കൽ ഉപയോഗിച്ചുകഴിഞ്ഞാൽ, ആ ബട്ടൺ റിലീസ് ചെയ്യുമ്പോഴെല്ലാം ഫംഗ്ഷൻ യാന്ത്രികമായി പ്രവർത്തിക്കും.
ഉപയോഗം:
ഈ രീതി ഉപയോഗിച്ച് ലഭ്യമായ എട്ട് ബട്ടണുകളിൽ ഒന്ന് ഉപയോഗിക്കാം, 5 മുതൽ 12 വരെ അക്കമിട്ടിരിക്കുന്നു.
ബട്ടൺ |
കമാൻഡ് |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
|
നിർദ്ദിഷ്ട ബട്ടൺ റിലീസ് ചെയ്യുമ്പോഴെല്ലാം പ്രവർത്തിപ്പിക്കുന്നതിനായി മുമ്പ് നിർവചിച്ച ഒരു ഫംഗ്ഷൻ. |
|
ഓപ്ഷണൽ. കോൾബാക്ക് ഫംഗ്ഷനിലേക്ക് കൈമാറുന്നതിനുള്ള ആർഗ്യുമെന്റുകൾ അടങ്ങിയ ഒരു tuple. കൂടുതൽ വിവരങ്ങൾക്ക് പാരാമീറ്ററുകൾ ഉപയോഗിച്ച് ഫംഗ്ഷനുകൾ ഉപയോഗിക്കുന്നു കാണുക. |
# Take a picture when button 5 is released.
def take_picture():
drone.camera.capture_image(FORWARD_CAMERA)
# Run take_picture each time button 5 is released.
controller.button5.released(take_picture)
# Fly using the controller sticks.
drone.take_off(climb_to=500)
while True:
drone.move_with_vectors(
forward=controller.axis4.position(),
rightward=controller.axis3.position(),
upward=controller.axis1.position(),
rotation=controller.axis2.position()
)
wait(5, MSEC)
changed#
changed ജോയിസ്റ്റിക്കിന്റെ സ്ഥാനം നിർദ്ദിഷ്ട അക്ഷത്തിൽ മാറുമ്പോൾ ഒരു ഫംഗ്ഷൻ പ്രവർത്തിപ്പിക്കുന്നു. ഇത് ഉപയോഗിച്ചുകഴിഞ്ഞാൽ, ആ അക്ഷത്തിൽ ജോയിസ്റ്റിക്കിന്റെ സ്ഥാനം മാറുമ്പോഴെല്ലാം ഫംഗ്ഷൻ യാന്ത്രികമായി പ്രവർത്തിക്കും.
ഉപയോഗം:
1 മുതൽ 4 വരെ അക്കമിട്ട നാല് അക്ഷങ്ങളിൽ ഒന്ന് ഈ രീതിയിൽ ഉപയോഗിക്കാം.
അച്ചുതണ്ട് |
കമാൻഡ് |
|---|---|
|
|
|
|
|
|
|
|

പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
|
ജോയിസ്റ്റിക്കിന്റെ സ്ഥാനം നിർദ്ദിഷ്ട അക്ഷത്തിൽ മാറുമ്പോഴെല്ലാം പ്രവർത്തിപ്പിക്കുന്നതിന് മുമ്പ് നിർവചിച്ച ഒരു ഫംഗ്ഷൻ. |
|
ഓപ്ഷണൽ. കോൾബാക്ക് ഫംഗ്ഷനിലേക്ക് കൈമാറുന്നതിനുള്ള ആർഗ്യുമെന്റുകൾ അടങ്ങിയ ഒരു tuple. കൂടുതൽ വിവരങ്ങൾക്ക് പാരാമീറ്ററുകൾ ഉപയോഗിച്ച് ഫംഗ്ഷനുകൾ ഉപയോഗിക്കുന്നു കാണുക. |
# Move forward when the left joystick moves.
def on_axis1_changed():
drone.move_for(direction=0, distance=200, velocity=50, units=MM)
drone.take_off(climb_to=500)
controller.axis1.changed(on_axis1_changed)