Kontrolör#
giriiş#
VEX IQ (2. nesil) kumandasında düğmeler ve iki joystick bulunur. Kumanda yöntemleri, düğme basımlarını kontrol etmek, joystick hareketlerini okumak, yapılandırılmış kumanda eylemlerini etkinleştirmek veya devre dışı bırakmak ya da kumanda olayları gerçekleştiğinde işlevleri çalıştırmak için kullanılabilir.
IQ (2. nesil) Beyin, IQ (2. nesil) veya IQ (1. nesil) Kontrol Cihazına bağlanabilir. IQ (1. nesil) Kontrol Cihazında mavi bir Akıllı Radyo takılı olmalıdır.
Yapılandırılmış kontrolcü eylemleri, Aygıtlar menüsünde ayarlanan kontrolcü davranışlarıdır. Bir proje sırasında bu yapılandırılmış eylemleri geçici olarak etkinleştirmek veya devre dışı bırakmak için remote_control_code_enabled komutunu kullanın.
Bu sayfada örnek kontrolcü adı olarak controller kullanılmıştır. Gerektiğinde kendi yapılandırdığınız adla değiştirin.
Aşağıda mevcut tüm yöntemlerin listesi bulunmaktadır:
İşlem — Yapılandırılmış kontrol cihazı işlemlerini açın veya kapatın.
remote_control_code_enabled— Aygıtlar menüsünde yapılandırılmış kontrol cihazı eylemlerini etkinleştirir veya devre dışı bırakır.
Getters — Düğme durumlarını ve joystick konumlarını okur.
.pressing— Belirtilen bir düğmenin basılıp basılmadığını döndürür..position— Belirtilen joystick ekseninin konumunu döndürür.
Geri Çağrı Fonksiyonları — Kontrolcü girişinde değişiklik olduğunda fonksiyonları çalıştırın.
.pressed— Belirtilen bir düğmeye basıldığında bir fonksiyon çalıştırır..released— Belirtilen bir düğme bırakıldığında bir fonksiyon çalıştırır..changed— Joystick’in konumu belirtilen bir eksen boyunca değiştiğinde bir fonksiyon çalıştırır.
Yapıcı Metot — Bir Denetleyici nesnesini manuel olarak oluşturun.
Controller— Bir Denetleyici nesnesi oluşturur.
Aksiyon#
remote_control_code_enabled#
remote_control_code_enabled değişkeni, Aygıtlar menüsünde yapılandırılan kumanda eylemlerini etkinleştirir veya devre dışı bırakır. Kumanda tarafından yapılandırılan eylemler varsayılan olarak etkindir.
Usage:
remote_control_code_enabled = state
Değer |
Tanım |
|---|---|
|
Denetleyici tarafından yapılandırılmış eylemleri etkinleştirir. |
|
Denetleyici tarafından yapılandırılmış eylemleri devre dışı bırakır. |
# Use custom controller code, then re-enable configured actions
remote_control_code_enabled = False
while True:
if controller.axisA.position() > 0:
drivetrain.drive(FORWARD)
elif controller.axisA.position() < 0:
drivetrain.drive(REVERSE)
elif controller.buttonEUp.pressing():
break
else:
drivetrain.stop()
wait(20, MSEC)
remote_control_code_enabled = True
Getters#
.pressing#
.pressing tuşuna basmak, kumandadaki belirli bir düğmenin şu anda basılı olup olmadığını döndürür. Bu yöntem, controller.buttonEUp gibi belirli bir düğme nesnesi üzerinde çağrılmalıdır.
True— Belirtilen düğmeye basılıyor.False— Belirtilen düğmeye basılmıyor.
Usage:
One of the available button objects can be used with this method:

Düğme |
Emretmek |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
# Turn right while E Up is held
while True:
if controller.buttonEUp.pressing():
drivetrain.turn(RIGHT)
else:
drivetrain.stop()
wait(20, MSEC)
.position#
.position , bir joystick ekseninin konumunu -100 ile 100 arasında bir sayı olarak döndürür.
Bu yöntem, controller.axisA gibi belirli bir eksen nesnesi üzerinde çağrılmalıdır.
Kullanım:
Bu yöntemle mevcut eksen nesnelerinden biri kullanılabilir:

Eksen |
Emretmek |
|---|---|
|
|
|
|
|
|
|
|
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
# Turn with the left joystick
remote_control_code_enabled = False
while True:
if controller.axisB.position() > 10:
drivetrain.turn(RIGHT)
elif controller.axisB.position() < -10:
drivetrain.turn(LEFT)
else:
drivetrain.stop()
wait(20, MSEC)
Geri aramalar#
.pressed#
.pressed belirtilen düğmeye basıldığında bir işlevi çalıştırır. Bir kez kullanıldıktan sonra, bu işlev düğmeye her basıldığında otomatik olarak çalışacaktır.
Usage:
One of the available button objects can be used with this method:

Düğme |
Emretmek |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Parametre |
Tanım |
|---|---|
|
Belirtilen düğmeye her basıldığında çalıştırılacak önceden tanımlanmış bir fonksiyon. |
|
İsteğe bağlı. Geri çağrı fonksiyonuna iletilecek argümanları içeren bir demet. Daha fazla bilgi için Parametreli Olayları Kullanma bölümüne bakın. |
# Drive forward when E Up is pressed
def drive_forward():
drivetrain.drive_for(FORWARD, 100, MM)
controller.buttonEUp.pressed(drive_forward)
.released#
.released belirtilen düğme bırakıldığında bir işlevi çalıştırır. Bir kez kullanıldıktan sonra, bu işlev düğme her bırakıldığında otomatik olarak çalışacaktır.
Usage:
One of the available button objects can be used with this method:

Düğme |
Emretmek |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Parametre |
Tanım |
|---|---|
|
Belirtilen düğme her bırakıldığında çalıştırılacak önceden tanımlanmış bir fonksiyon. |
|
İsteğe bağlı. Geri çağrı fonksiyonuna iletilecek argümanları içeren bir demet. Daha fazla bilgi için Parametreli Olayları Kullanma bölümüne bakın. |
# Stop driving when E Up is released
def stop_driving():
drivetrain.stop()
controller.buttonEUp.released(stop_driving)
.changed#
.changed joystick’in konumu belirtilen eksen boyunca değiştiğinde bir fonksiyonu çalıştırır. Bir kez kullanıldıktan sonra, joystick’in konumu o eksen boyunca her değiştiğinde fonksiyon otomatik olarak çalışacaktır.
Kullanım:
Bu yöntemle mevcut eksen nesnelerinden biri kullanılabilir:

Eksen |
Emretmek |
|---|---|
|
|
|
|
|
|
|
|
Parametre |
Tanım |
|---|---|
|
Joystick’in konumu belirtilen eksen boyunca her değiştiğinde çalıştırılacak önceden tanımlanmış bir fonksiyon. |
|
İsteğe bağlı. Geri çağrı fonksiyonuna iletilecek argümanları içeren bir demet. Daha fazla bilgi için Parametreli Olayları Kullanma bölümüne bakın. |
# Play a sound when the right joystick moves
def beep():
brain.play_sound(SoundType.TADA)
controller.axisD.changed(beep)
İnşaatçılar#
Controller#
Controller bir Denetleyici nesnesi oluşturur. Bir Denetleyici nesnesinin manuel olarak oluşturulması yalnızca VEXcode dışında bir denetleyici yapılandırılırken gereklidir.
Usage:
Controller()
Parametreler |
Tanım |
|---|---|
Bu yapıcı fonksiyonun parametresi yoktur. |
# Create a Controller object
my_controller = Controller()