नियंत्रक#
परिचय#
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 तक है।
बटन |
आज्ञा |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

पैरामीटर |
विवरण |
|---|---|
|
निर्दिष्ट बटन दबाए जाने पर प्रत्येक बार चलाने के लिए पहले से परिभाषित फ़ंक्शन। |
|
वैकल्पिक। कॉलबैक फ़ंक्शन को पास करने के लिए तर्क युक्त एक टपल। अधिक जानकारी के लिए पैरामीटर के साथ इवेंट का उपयोग करना देखें। |
# 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 तक है।
बटन |
आज्ञा |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

पैरामीटर |
विवरण |
|---|---|
|
निर्दिष्ट बटन जारी होने पर प्रत्येक बार चलाने के लिए पहले से परिभाषित फ़ंक्शन। |
|
वैकल्पिक। कॉलबैक फ़ंक्शन को पास करने के लिए तर्क युक्त एक टपल। अधिक जानकारी के लिए पैरामीटर के साथ फ़ंक्शन का उपयोग करना देखें। |
# 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 तक क्रमांकित किया गया है।
अक्ष |
आज्ञा |
|---|---|
|
|
|
|
|
|
|
|

पैरामीटर |
विवरण |
|---|---|
|
पहले से परिभाषित फ़ंक्शन जो प्रत्येक बार जॉयस्टिक की स्थिति निर्दिष्ट अक्ष के साथ बदलती है, तब चलता है। |
|
वैकल्पिक। कॉलबैक फ़ंक्शन को पास करने के लिए तर्क युक्त एक टपल। अधिक जानकारी के लिए पैरामीटर के साथ फ़ंक्शन का उपयोग करना देखें। |
# 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)