Kontrolieris#

Ievads#

VEX AIR drona kontrolierim ir 12 pogu izkārtojums un divas kursorsviras. Šīs ieejas ļauj dronam noteikt pogu nospiešanas un kursorsviru kustības, nodrošinot interaktīvu un atsaucīgu vadību.

Zemāk ir visu pieejamo metožu saraksts:

Ieguvēji — nolasīšanas poga, kursorsvira un savienojuma statuss.

  • pressing – Atgriež, ja pašlaik tiek nospiesta konkrēta poga.

  • position – Atgriež kursorsviras pozīciju pa norādīto asi.

  • is_drone_connected – Atgriež, vai kontrolieris ir savienots ar dronu.

  • get_battery_level – Atgriež kontroliera akumulatora līmeni.

Atsauksmes — reaģēt uz pogas vai kursorsviras ievades izmaiņām.

  • pressed – Izpilda funkciju, nospiežot norādīto pogu.

  • released – Izpilda funkciju, kad tiek atlaista norādītā poga.

  • changed – Izpilda funkciju, kad kursorsviras pozīcija mainās pa noteiktu asi.

Getteri#

pressing#

pressing atgriež Būla vērtību, kas norāda, vai pašlaik tiek nospiesta konkrēta poga uz kontrollera. Šī metode ir jāizsauc konkrētam pogas objektam, piemēram, button5 (pilnu pogu objektu sarakstu skatiet zemāk).

  • True — Tiek nospiesta norādītā poga.

  • False  — norādītā poga netiek nospiesta.

Lietojums:
Ar šo metodi var izmantot vienu no astoņām pieejamajām pogām, kas numurētas no 5 līdz 12, kā parādīts tālāk:

Poga

Komanda

button5

controller.button5.pressing() — Button 5

button6

controller.button6.pressing() — Button 6

button7

controller.button7.pressing() — Button 7

button8

controller.button8.pressing() — Button 8

button9

controller.button9.pressing() — Button 9

button10

controller.button10.pressing() — Button 10

button11

controller.button11.pressing() — Button 11

button12

controller.button12.pressing() — Button 12

VEX AIR drona kontrolieris, kurā redzamas pogas no 5 līdz 12. Pogas 5 un 6 atrodas kontroliera aizmugurē labajā pusē, perpendikulāri kursorsvirai. Pogas 7 un 8 atrodas tādā pašā pozīcijā kreisajā pusē. Pogas no 9 līdz 12 atrodas kontroliera apakšējā virsmā, 9 atrodas augšējā labajā stūrī virs 10 un 11 atrodas augšējā kreisajā stūrī virs 12.

Parametri

Apraksts

Šai metodei nav parametru.

# 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 atgriež kursorsviras norādītās ass pozīciju procentos no –100% līdz 100%.

Lietojums:

Ar šo metodi var izmantot vienu no četrām pieejamajām asīm, kas numurētas no 1 līdz 4.

Ass

Komanda

axis1

controller.axis1.position() — Kreisās vadības sviras vertikālā ass

axis2

controller.axis2.position() — Kreisās vadības sviras horizontālā ass

axis3

controller.axis3.position() — Labās vadības sviras horizontālā ass

axis4

controller.axis4.position() — Labās vadības sviras vertikālā ass

VEX AIR drona kontrolieris ar iezīmētām 1. un 2. ass etiķetēm ap kreiso kursorsviru un iezīmētām 3. un 4. ass etiķetēm ap labo kursorsviru.

Parametri

Apraksts

Šai metodei nav parametru.

# 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 atgriež Būla vērtību, kas norāda, vai drons ir pievienots.

  • True — Drons ir pievienots.

  • False  — drons nav savienots.

Lietojums:

controller.is_drone_connected()

Parametri

Apraksts

Šai metodei nav parametru.

# 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 atgriež kontroliera akumulatora līmeni procentos no 0% līdz 100%.

Lietojums:

controller.get_battery_level()

Parametri

Apraksts

Šai metodei nav parametru.

# Show controller's battery level.
if controller.get_battery_level() > 50:
    controller.screen.print("Battery level ok")
else:
    controller.screen.print("Battery level low")

Atzvanīšanas#

pressed#

pressed palaiž funkciju, kad tiek nospiesta norādītā poga. Kad tā ir izmantota, funkcija tiks palaista automātiski katru reizi, kad tiks nospiesta šī poga.

Lietojums:
Ar šo metodi var izmantot vienu no astoņām pieejamajām pogām, kas numurētas no 5 līdz 12.

Poga

Komanda

button5

controller.button5.pressing() — Button 5

button6

controller.button6.pressing() — Button 6

button7

controller.button7.pressing() — Button 7

button8

controller.button8.pressing() — Button 8

button9

controller.button9.pressing() — Button 9

button10

controller.button10.pressing() — Button 10

button11

controller.button11.pressing() — Button 11

button12

controller.button12.pressing() — Button 12

VEX AIR drona kontrolieris, kurā redzamas pogas no 5 līdz 12. Pogas 5 un 6 atrodas kontroliera aizmugurē labajā pusē, perpendikulāri kursorsvirai. Pogas 7 un 8 atrodas tādā pašā pozīcijā kreisajā pusē. Pogas no 9 līdz 12 atrodas kontroliera apakšējā virsmā, 9 atrodas augšējā labajā stūrī virs 10 un 11 atrodas augšējā kreisajā stūrī virs 12.

Parametri

Apraksts

callback

Iepriekš definēta funkcija, kas tiek palaista katru reizi, kad tiek nospiesta norādītā poga.

arg

Neobligāti. tuple, kas satur argumentus, kas jānodod atzvanīšanas funkcijai. Plašāku informāciju skatiet sadaļā Notikumu izmantošana ar parametriem.

# 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 palaiž funkciju, kad norādītā poga tiek atlaista. Kad tā ir izmantota, funkcija tiks palaista automātiski katru reizi, kad poga tiek atlaista.

Lietojums:
Ar šo metodi var izmantot vienu no astoņām pieejamajām pogām, kas numurētas no 5 līdz 12.

Poga

Komanda

button5

controller.button5.pressing() — Button 5

button6

controller.button6.pressing() — Button 6

button7

controller.button7.pressing() — Button 7

button8

controller.button8.pressing() — Button 8

button9

controller.button9.pressing() — Button 9

button10

controller.button10.pressing() — Button 10

button11

controller.button11.pressing() — Button 11

button12

controller.button12.pressing() — Button 12

VEX AIR drona kontrolieris, kurā redzamas pogas no 5 līdz 12. Pogas 5 un 6 atrodas kontroliera aizmugurē labajā pusē, perpendikulāri kursorsvirai. Pogas 7 un 8 atrodas tādā pašā pozīcijā kreisajā pusē. Pogas no 9 līdz 12 atrodas kontroliera apakšējā virsmā, 9 atrodas augšējā labajā stūrī virs 10 un 11 atrodas augšējā kreisajā stūrī virs 12.

Parametri

Apraksts

callback

Iepriekš definēta funkcija, kas jāizpilda katru reizi, kad tiek atlaista norādītā poga.

arg

Neobligāti. Tuple, kas satur argumentus, kas jānodod atzvanīšanas funkcijai. Plašāku informāciju skatiet sadaļā Funkciju izmantošana ar parametriem.

# 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 palaiž funkciju, kad mainās kursorsviras pozīcija pa norādīto asi. Kad tā ir izmantota, funkcija darbosies automātiski katru reizi, kad mainās kursorsviras pozīcija pa šo asi.

Lietojums:

Ar šo metodi var izmantot vienu no četrām pieejamajām asīm, kas numurētas no 1 līdz 4.

Ass

Komanda

axis1

controller.axis1.position() — Kreisās vadības sviras vertikālā ass

axis2

controller.axis2.position() — Kreisās vadības sviras horizontālā ass

axis3

controller.axis3.position() — Labās vadības sviras horizontālā ass

axis4

controller.axis4.position() — Labās vadības sviras vertikālā ass

VEX AIR drona kontrolieris ar iezīmētām 1. un 2. ass etiķetēm ap kreiso kursorsviru un iezīmētām 3. un 4. ass etiķetēm ap labo kursorsviru.

Parametri

Apraksts

callback

Iepriekš definēta funkcija, kas tiek palaista katru reizi, kad kursorsviras pozīcija mainās pa norādīto asi.

arg

Neobligāti. Tuple, kas satur argumentus, kas jānodod atzvanīšanas funkcijai. Plašāku informāciju skatiet sadaļā Funkciju izmantošana ar parametriem.

# 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)