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.
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

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

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

Parametri |
Apraksts |
|---|---|
|
Iepriekš definēta funkcija, kas tiek palaista katru reizi, kad tiek nospiesta norādītā poga. |
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

Parametri |
Apraksts |
|---|---|
|
Iepriekš definēta funkcija, kas jāizpilda katru reizi, kad tiek atlaista norādītā poga. |
|
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 |
|---|---|
|
|
|
|
|
|
|
|

Parametri |
Apraksts |
|---|---|
|
Iepriekš definēta funkcija, kas tiek palaista katru reizi, kad kursorsviras pozīcija mainās pa norādīto asi. |
|
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)