Valdiklis#
Įvadas#
„VEX AIR“ drono valdiklis turi 12 mygtukų išdėstymą ir dvi valdymo svirtis. Šios įvesties duomenys leidžia dronui aptikti mygtukų paspaudimus ir valdymo svirčių judesius, todėl valdymas yra interaktyvus ir reaguoja greitai.
Žemiau pateikiamas visų galimų metodų sąrašas:
Getteriai – skaitymo mygtukas, valdymo svirtis ir ryšio būsena.
pressing– Grąžina, ar šiuo metu paspaudžiamas konkretus mygtukas.position– Grąžina valdymo svirties padėtį išilgai nurodytos ašies.is_drone_connected– Grąžina, ar valdiklis prijungtas prie drono.get_battery_level– Grąžina valdiklio akumuliatoriaus lygį.
Atgaliniai iškvietimai – reaguoti į mygtuko arba valdymo svirties įvesties pakeitimus.
Getteriai#
pressing#
pressing grąžina loginę reikšmę, nurodančią, ar šiuo metu paspaudžiamas konkretus valdiklio mygtukas. Šis metodas turi būti iškviestas konkrečiam mygtuko objektui, pvz., button5 (žr. visą mygtukų objektų sąrašą žemiau).
True– Paspaudžiamas nurodytas mygtukas.False– Nurodytas mygtukas nėra paspaudžiamas.
Naudojimas:
Šiuo metodu galima naudoti vieną iš aštuonių galimų mygtukų, sunumeruotų nuo 5 iki 12, kaip parodyta toliau:
Mygtukas |
Komanda |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# 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 grąžina nurodytos valdymo svirties ašies padėtį procentais nuo –100 % iki 100 %.
Naudojimas:
Šiuo metodu galima naudoti vieną iš keturių galimų ašių, sunumeruotų nuo 1 iki 4.
Ašis |
Komanda |
|---|---|
|
|
|
|
|
|
|
|

Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# 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 grąžina loginę reikšmę, nurodančią, ar dronas yra prijungtas.
True– Dronas prijungtas.False– Dronas neprijungtas.
Naudojimas:
controller.is_drone_connected()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# 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 grąžina valdiklio akumuliatoriaus lygį procentais nuo 0% iki 100%.
Naudojimas:
controller.get_battery_level()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# Show controller's battery level.
if controller.get_battery_level() > 50:
controller.screen.print("Battery level ok")
else:
controller.screen.print("Battery level low")
Atgaliniai skambučiai#
pressed#
pressed vykdo funkciją, kai paspaudžiamas nurodytas mygtukas. Kai jis naudojamas, funkcija bus paleista automatiškai kiekvieną kartą paspaudus tą mygtuką.
Naudojimas:
Šiuo metodu galima naudoti vieną iš aštuonių galimų mygtukų, sunumeruotų nuo 5 iki 12.
Mygtukas |
Komanda |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

Parametrai |
Aprašymas |
|---|---|
|
Anksčiau apibrėžta function, kuri bus vykdoma kiekvieną kartą paspaudus nurodytą mygtuką. |
|
Pasirinktinai. Tuple su argumentais, kuriuos reikia perduoti atgalinio iškvietimo funkcijai. Daugiau informacijos žr. Įvykių su parametrais naudojimas. |
# 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 vykdo funkciją, kai atleidžiamas nurodytas mygtukas. Kai jis naudojamas, funkcija bus paleista automatiškai kiekvieną kartą atleidus tą mygtuką.
Naudojimas:
Šiuo metodu galima naudoti vieną iš aštuonių galimų mygtukų, sunumeruotų nuo 5 iki 12.
Mygtukas |
Komanda |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

Parametrai |
Aprašymas |
|---|---|
|
Anksčiau apibrėžta function, kuri bus vykdoma kiekvieną kartą atleidus nurodytą mygtuką. |
|
Pasirinktinai. Tuple su argumentais, kuriuos reikia perduoti atgalinio iškvietimo funkcijai. Daugiau informacijos žr. Funkcijų su parametrais naudojimas. |
# 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 vykdo funkciją, kai vairasvirtės padėtis pasikeičia išilgai nurodytos ašies. Kai ši funkcija bus panaudota, ji bus vykdoma automatiškai kiekvieną kartą, kai vairasvirtės padėtis pasikeičia išilgai tos ašies.
Naudojimas:
Šiuo metodu galima naudoti vieną iš keturių galimų ašių, sunumeruotų nuo 1 iki 4.
Ašis |
Komanda |
|---|---|
|
|
|
|
|
|
|
|

Parametrai |
Aprašymas |
|---|---|
|
Anksčiau apibrėžta function, kuri paleidžiama kiekvieną kartą, kai vairasvirtės padėtis pasikeičia išilgai nurodytos ašies. |
|
Pasirinktinai. Tuple su argumentais, kuriuos reikia perduoti atgalinio iškvietimo funkcijai. Daugiau informacijos žr. Funkcijų su parametrais naudojimas. |
# 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)