Robotlara Özel Python#

giriiş#

Kahraman robot Moby, bir motor grubu, optik sensör, dönüş sensörü ve oyun konumlandırma sistemi (GPS) sensörü içerir.

Tüm standart VEXcode VR yöntemleri V5 21-22 Tipping Point Playground’da kullanılabilir.

Aşağıda, robotlara özel olarak geliştirilmiş tüm yöntemlerin listesi bulunmaktadır:

Tahrik Sistemi – Robotu hareket ettirin ve döndürün.

  • İşlemler

    • drive — Robotu sonsuza dek ileri veya geri hareket ettirir.

    • drive_for — Robotu belirli bir mesafe boyunca ileri veya geri hareket ettirir.

    • turn — Robotu sonsuza dek sola veya sağa döndürür.

    • turn_for — Robotu belirli sayıda derece sola veya sağa döndürür.

    • turn_to_heading — Robotu -359 ile 359 derece arasında belirli bir yöne doğru çevirir.

    • turn_to_rotation — Robotu belirli bir dönüşe döndürür.

    • stop — Robotun hareketini durdurur.

  • Değiştiriciler

    • set_heading — Robotun mevcut yönünü yeni bir yöne değiştirir.

    • set_rotation — Robotun mevcut dönüşünü yeni bir dönüşe değiştirir.

    • set_timeout — Robotun bir hareketi bitirmek için ne kadar süre deneyeceğini ayarlar.

    • set_drive_velocity — Robota ne kadar hızlı süreceğini söyler.

    • set_turn_velocity — Robota ne kadar hızlı döneceğini söyler.

  • Alıcılar

    • heading — Robotun mevcut yönünü 0 ile 359,99 derece arasında döndürür.

    • rotation — Robotun mevcut dönüşünü döndürür.

    • is_done — Robotun hareketinin tamamlanıp tamamlanmadığını Boolean değer olarak döndürür.

    • is_moving — Robotun hareket edip etmediğini Boolean değer olarak döndürür.

    • velocity — Robotun ne kadar hızlı sürdüğünü döndürür.

Hareket – Robotun motor grubunu hareket ettirin ve takip edin.

  • İşlemler

    • spin — Bir motor grubunu sonsuza dek ileri veya geri döndürür.

    • spin_for — Bir motor grubunu belirli bir mesafe için döndürür.

    • spin_to_position — Bir motor grubunu belirli bir konuma döndürür.

    • stop — Bir motor grubunun dönmesini durdurur.

  • Değiştiriciler

    • set_position — Motor grubunun mevcut konumunu yeni bir değere değiştirir.

    • set_velocity — Bir motor grubuna ne kadar hızlı döneceğini söyler.

    • set_timeout — Bir motor grubunun bir hareketi bitirmek için ne kadar süre deneyeceğini ayarlar.

  • Alıcılar

    • is_done — Motor grubunun hareketinin tamamlanıp tamamlanmadığını Boolean değer olarak döndürür.

    • is_spinning — Motor grubunun dönüp dönmediğini Boolean değer olarak döndürür.

    • position — Motor grubunun mevcut konumunu döndürür.

    • velocity — Motor grubunun ne kadar hızlı döndüğünü döndürür.

Konsol – Konsola yazdırın ve değerleri izleyin.

Algılama - Robotun çeşitli sensörlerini kullanın.

  • Optik

    • is_near_object – Optik Sensörün menzil içinde bir nesne algılayıp algılamadığını döndürür.

    • color – Optik Sensör tarafından algılanan rengi döndürür.

    • brightness – Nesneden yansıyan ışık miktarını döndürür.

    • hue – Optik Sensör tarafından algılanan tonu döndürür.

    • object_detected – Optik Sensör bir nesne algıladığında çağrılacak bir fonksiyonu kaydeder.

    • object_lost – Optik Sensör bir nesneyi kaybettiğinde çağrılacak bir fonksiyonu kaydeder.

  • Dönme

    • set_position – Dönme Sensörünün mevcut konumunu belirli bir değere ayarlar.

    • angle – Sensörün 0 ile 359,99 derece arasındaki mevcut açısını döndürür.

    • position – Toplam dönüş pozisyonunu derece veya tur cinsinden döndürür.

  • KÜRESEL KONUMLAMA SİSTEMİ

    • x_position – Sahadaki bir GPS Sensörünün mevcut x koordinatını döndürür.

    • y_position – Sahadaki bir GPS Sensörünün mevcut y koordinatını döndürür.

    • heading – GPS Sensörünün 0 ile 359 derece arasındaki okumalarına göre robotun şu anda baktığı yönü döndürür.

Bu sayfadaki örnekler, varsayılan Oyun Alanı başlangıç ​​konumunu kullanmaktadır.

Aktarma organları#

Tahrik sistemi, VR Robotunun nasıl hareket edeceğini ve döneceğini kontrol eder. Tahrik sistemi ileri veya geri hareket edebilir, sola veya sağa dönebilir, belirli bir yöne dönebilir ve kendi dönüşünü takip edebilir.

Eylemler#

sürmek#

drive robotu sonsuza dek ileri veya geri hareket ettirir. Robot, dönme veya durma gibi başka bir işlem verilene kadar hareket etmeye devam edecektir.

Usage:
drivetrain.drive(direction)

Parametreler

Tanım

direction

Robotun hareket yönü: FORWARD veya REVERSE.

def main():
    # Drive forward then stop
    drivetrain.drive(FORWARD)
    wait(2, SECONDS)
    drivetrain.stop()

# VR threads — Do not delete
vr_thread(main)

sürüş_için#

drive_for komutu, robotu belirli bir mesafe boyunca ileri veya geri hareket ettirir. Proje, bir sonraki kod satırı çalışmadan önce robotun hareketini tamamlamasını bekleyecektir.

Usage:
drivetrain.drive_for(direction, distance, units, wait)

Parametreler

Tanım

direction

Robotun hareket yönü: FORWARD veya REVERSE.

distance

Robotun kat ettiği mesafe. Bu, integer veya ondalık sayı (float ) olabilir.

units

İsteğe bağlı. Mesafe birimi: INCHES (varsayılan) veya MM (milimetre).

wait

İsteğe bağlı. wait=True (varsayılan) robot hareket etmeyi bitirene kadar projenin bir sonraki kod satırının çalışmasını bekler. wait=False bir sonraki kod satırının hemen çalışmasını sağlar.

def main():
    # Drive forward and backward
    drivetrain.drive_for(FORWARD, 200, MM)
    drivetrain.drive_for(REVERSE, 200, MM)

# VR threads — Do not delete
vr_thread(main)

dönüş#

turn robotu sonsuza dek sola veya sağa döndürür. Robot, sürüş veya durma gibi başka bir işlem verilene kadar dönmeye devam edecektir.

Usage:
drivetrain.turn(direction)

Parametreler

Tanım

direction

Robotun dönüş yönü: LEFT veya RIGHT.

def main():
    # Turn right and left, then stop
    drivetrain.turn(RIGHT)
    wait(2, SECONDS)
    drivetrain.turn(LEFT)
    wait(2, SECONDS)
    drivetrain.stop()

# VR threads — Do not delete
vr_thread(main)

sıra_için#

turn_for komutu, robotu belirli bir derece kadar sola veya sağa döndürür. Dönüş, robotun mevcut konumuna göre belirlenir. Proje, bir sonraki kod satırı çalışmadan önce robotun dönüşünün tamamlanmasını bekleyecektir.

Usage:
drivetrain.turn_for(direction, angle, units, wait)

Parametreler

Tanım

direction

Robotun dönüş yönü: LEFT veya RIGHT.

angle

Robotun döndüğü derece sayısı. Bu integer 3, 0, 1, 1, 2, 3, 0, 1, 3, 0 …float , 0

units

İsteğe bağlı. Döndürme birimi: DEGREES (varsayılan).

wait

İsteğe bağlı. wait=True (varsayılan) robotun dönüşü tamamlanana kadar bir sonraki kod satırının çalışmasını bekler. wait=False bir sonraki kod satırının hemen çalışmasını sağlar.

def main():
    # Turn the robot right and left
    drivetrain.turn_for(RIGHT, 90, DEGREES)
    wait(1, SECONDS)
    drivetrain.turn_for(LEFT, 90, DEGREES)

# VR threads — Do not delete
vr_thread(main)

başlığa dön#

Yön, robotun baktığı yönü derece cinsinden ifade eder. turn_to_heading komutu, robotu -359 ile 359 derece arasında belirli bir yöne çevirir. Robot, hedef yöne ulaşmak için en kısa yöne dönecektir.

Robotun başlangıç ​​yönü 0 derecedir.

Proje, bir sonraki kod satırını çalıştırmadan önce robotun dönüş işlemini tamamlamasını bekleyecektir.

Usage:
drivetrain.turn_to_heading(angle, units, wait)

Parametreler

Tanım

angle

Robotun bakması gereken yön, derece cinsinden. Bu, -359 ile 359 arasında bir tamsayı integer ) veya ondalık sayı (float) olabilir.

units

İsteğe bağlı. Döndürme birimi: DEGREES (varsayılan).

wait

İsteğe bağlı. wait=True (varsayılan) robotun dönüşü tamamlanana kadar bir sonraki kod satırının çalışmasını bekler. wait=False bir sonraki kod satırının hemen çalışmasını sağlar.

def main():
    # Turn to face the cardinal directions
    drivetrain.turn_to_heading(90, DEGREES)
    wait(1, SECONDS)
    drivetrain.turn_to_heading(180, DEGREES)
    wait(1, SECONDS)
    drivetrain.turn_to_heading(270, DEGREES)
    wait(1, SECONDS)
    drivetrain.turn_to_heading(0, DEGREES)

# VR threads — Do not delete
vr_thread(main)

döndürmeye dön#

turn_to_rotation robotu belirli bir dönüşe döndürür.

Dönme, robotun ne kadar döndüğünü derece cinsinden ölçer. Bir projenin başlangıcında, dönme değeri 0 dereceye ayarlanır. Dönme ayrıca set_rotation yöntemi kullanılarak da ayarlanabilir.

Dönme değerleri mutlaktır. Bu, dönüş yönünün robotun mevcut dönüşüne bağlı olduğu anlamına gelir. Sağa dönmek dönmeyi artırır, sola dönmek ise dönmeyi azaltır.

Örneğin, robot 0 dereceden başlarsa ve 720 derece döndürürseniz, iki kez sağa dönecektir. Ardından 360 derece döndürürseniz, 360, 720’den küçük olduğu için bir kez sola dönecektir.

Proje, bir sonraki kod satırını çalıştırmadan önce robotun dönüş işlemini tamamlamasını bekleyecektir.

Usage:
drivetrain.turn_to_rotation(angle, units, wait)

Parametreler

Tanım

angle

Robotun döneceği dönüş açısı (derece cinsinden). Bu, integer , 2, 3, 4, 4, 4, 5, 6, 7, 8, 9, 1, 1, 1, 1, 1, 1, 1, 1float…

units

İsteğe bağlı. Döndürme birimi: DEGREES (varsayılan).

wait

İsteğe bağlı. wait=True (varsayılan) robotun dönüşü tamamlanana kadar bir sonraki kod satırının çalışmasını bekler. wait=False bir sonraki kod satırının hemen çalışmasını sağlar.

def main():
    # Turn left, then spin in a circle
    # clockwise and face right
    drivetrain.turn_to_rotation(-90, DEGREES)
    wait(1, SECONDS)
    drivetrain.turn_to_rotation(450, DEGREES)

# VR threads — Do not delete
vr_thread(main)

durmak#

stop robotun hareketini durdurur.

Usage:
drivetrain.stop()

Parametreler

Tanım

Bu yöntemin parametresi yoktur.

def main():
    # Drive forward then stop
    drivetrain.drive(FORWARD)
    wait(2, SECONDS)
    drivetrain.stop()

# VR threads — Do not delete
vr_thread(main)

Mutatörler#

başlık belirle#

Yön, robotun baktığı yönü derece cinsinden ifade eder. set_heading komutu, robotun mevcut yönünü yeni bir yön değerine değiştirir.

Örneğin, robot sağa doğru dönmüşse, yönü 0 dereceye ayarlamak, sağa dönük bu pozisyonu yeni 0 derece yapar. Ardından robot, bu yeni yöne göre diğer pozisyonlara dönebilir.

Usage:
drivetrain.set_heading(heading, units)

Parametreler

Tanım

heading

Robot için ayarlanacak yön değeri, derece cinsinden. Bu, integer veya ondalık sayı (float ) olabilir.

units

İsteğe bağlı. Yön birimi: DEGREES (varsayılan).

def main():
    # Face the new 0 degrees
    drivetrain.set_heading(90, DEGREES)
    drivetrain.turn_to_heading(0, DEGREES)

# VR threads — Do not delete
vr_thread(main)

döndürmeyi ayarla#

Dönme, robotun ne kadar döndüğünü derece cinsinden ölçer. Bir projenin başlangıcında, dönme değeri 0 dereceye ayarlanır. set_rotation komutu, robotun mevcut dönme değerini yeni bir değere değiştirir.

Örneğin, robot sağa doğru iki tam tur atmışsa, dönüş değeri 720 derece olacaktır. Dönüşü 0 dereceye ayarlamak, bu dönüş değerini 720’den 0 dereceye sıfırlayacaktır. Ardından robot, bu yeni değere göre dönüş yapabilir.

Usage:
drivetrain.set_rotation(rotation, units)

Parametreler

Tanım

rotation

Robot için ayarlanacak dönüş değeri, derece cinsinden. Bu, integer veya ondalık sayı (float ) olabilir.

units

İsteğe bağlı. Döndürme birimi: DEGREES (varsayılan).

def main():
    # Spin counterclockwise two times
    drivetrain.set_rotation(720, DEGREES)
    drivetrain.turn_to_rotation(0, DEGREES)

# VR threads — Do not delete
vr_thread(main)

zaman aşımını ayarla#

set_timeout , robotun bir hareketi tamamlamak için ne kadar süre deneyeceğini belirler. Robot bu süre içinde hareketi tamamlayamazsa, denemeyi bırakır ve bir sonraki kod satırına geçer. Bu, robotun bir harekette takılıp kalmasını önler.

Usage:
drivetrain.set_timeout(value, units)

Parametreler

Tanım

value

Robotun bir hareketi tamamlamak için deneyebileceği süre. Bu, pozitif bir tamsayı integer veya ondalık sayı (float )) olabilir.

units

Zaman birimi: SECONDS veya MSEC.

def main():
    # Turn right after driving forward
    drivetrain.set_timeout(1, SECONDS)
    drivetrain.drive_for(FORWARD, 25, INCHES)
    drivetrain.turn_for(RIGHT, 90)

# VR threads — Do not delete
vr_thread(main)

sürüş hızını ayarla#

set_drive_velocity komutu robota ne kadar hızlı gideceğini söyler. Daha yüksek bir yüzde robotun daha hızlı, daha düşük bir yüzde ise daha yavaş gitmesini sağlar.

Her proje, robotun varsayılan olarak %50 hızda hareket etmesiyle başlar.

Not: Daha yüksek hız, robotun daha hızlı hareket etmesini sağlar, ancak hassasiyeti azalabilir. Daha düşük hız ise robotun daha yavaş hareket etmesini sağlar, ancak hassasiyeti artabilir.

Usage:
drivetrain.set_drive_velocity(velocity, units)

Parametreler

Tanım

velocity

Sürüş hızı %0 ile %100 arasında değişir. Bu değer integer (ondalık sayı),float (ondalık sayı) olabilir.

units

İsteğe bağlı. Hız birimi: PERCENT (varsayılan).

def main():
    # Drive forward at different velocities
    # Default velocity
    drivetrain.drive_for(FORWARD, 150, MM)
    wait(1, SECONDS)
    # Drive slower
    drivetrain.set_drive_velocity(20, PERCENT)
    drivetrain.drive_for(FORWARD, 150, MM)
    wait(1, SECONDS)
    # Drive faster
    drivetrain.set_drive_velocity(100, PERCENT)
    drivetrain.drive_for(FORWARD, 150, MM)

# VR threads — Do not delete
vr_thread(main)

dönüş hızını ayarla#

set_turn_velocity komutu robota ne kadar hızlı döneceğini söyler. Daha yüksek bir yüzde robotun daha hızlı dönmesini, daha düşük bir yüzde ise robotun daha yavaş dönmesini sağlar.

Her proje, robotun varsayılan olarak %50 hızda dönmesiyle başlar.

Not: Daha yüksek hız, robotun daha hızlı dönmesini sağlar, ancak hassasiyeti azalabilir. Daha düşük hız ise robotun daha yavaş dönmesini sağlar, ancak hassasiyeti artabilir.

Usage:
drivetrain.set_turn_velocity(velocity, units)

Parametreler

Tanım

velocity

The velocity to turn with from 0% to 100%. This can be an integer or decimal (float).

units

İsteğe bağlı. Hız birimi: PERCENT (varsayılan).

def main():
    # Turn at different velocities
    # Default velocity
    drivetrain.turn_for(RIGHT, 120, DEGREES)
    wait(1, SECONDS)
    # Turn slower
    drivetrain.set_turn_velocity(20, PERCENT)
    drivetrain.turn_for(RIGHT, 120, DEGREES)
    wait(1, SECONDS)
    # Turn faster
    drivetrain.set_turn_velocity(100, PERCENT)
    drivetrain.turn_for(RIGHT, 120, DEGREES)

# VR threads — Do not delete
vr_thread(main)

Getters#

başlık#

Yön, robotun baktığı yönü derece cinsinden ifade eder. heading komutu, robotun mevcut yönünü 0 ile 359,99 derece arasında döndürür.

Robotun başlangıç ​​yönü 0 derecedir.

Usage:
drivetrain.heading(units)

Parametreler

Tanım

units

İsteğe bağlı. Yön birimi: DEGREES (varsayılan).

def main():
    # Display the heading after turning
    drivetrain.turn_for(RIGHT, 450, DEGREES)
    brain.screen.print("Heading: ")
    brain.screen.print(drivetrain.heading(DEGREES))

# VR threads — Do not delete
vr_thread(main)

rotasyon#

Dönme, robotun ne kadar döndüğünü derece cinsinden ölçer. Bir projenin başlangıcında, dönme değeri 0 dereceye ayarlanır. rotation komutu robotun mevcut dönme değerini döndürür.

Sağa dönmek dönüş açısını artırır, sola dönmek ise azaltır. Örneğin, sağa iki tam tur dönmek 720 derecelik bir dönüş sağlar.

Usage:
drivetrain.rotation(units)

Parametreler

Tanım

units

İsteğe bağlı. Döndürme birimi: DEGREES (varsayılan).

def main():
    # Display the rotation after turning
    drivetrain.turn_for(RIGHT, 450, DEGREES)
    brain.screen.print("Rotation: ")
    brain.screen.print(drivetrain.rotation(DEGREES))

# VR threads — Do not delete
vr_thread(main)

tamamlandı#

is_done , robotun hareketinin tamamlanıp tamamlanmadığını Boolean bir değer olarak döndürür. Bu, robotun hareketine bağlı olarak diğer davranışların zamanlamasını kontrol etmek için kullanılabilir.

  • True — Robot hareket etmeyi bitirdi.

  • False — Robot hala hareket halinde.

Bu yöntem, wait parametresine sahip aşağıdaki Aktarma Organı yöntemleriyle birlikte çalışır: drive_for, turn_for, turn_to_heading ve turn_to_rotation.

Usage:
drivetrain.is_done()

Parametreler

Tanım

Bu yöntemin parametresi yoktur.

hareket ediyor#

is_moving , robotun hareket edip etmediğini Boolean bir değer olarak döndürür. Bu, robotun hareketine bağlı olarak diğer davranışların zamanlamasını kontrol etmek için kullanılabilir.

  • True — Robot hareket ediyor.

  • False — Robot hareket etmiyor.

Usage:
drivetrain.is_moving()

Parametreler

Tanım

Bu yöntemin parametresi yoktur.

hız#

velocity , robotun ne kadar hızlı sürdüğünü -100% ile 100% arasında bir yüzde olarak döndürür.

Usage:
drivetrain.velocity(units)

Parametreler

Tanım

units

İsteğe bağlı. Hız birimi: PERCENT (varsayılan).

Örnek

def main():
    # Display the velocity after driving
    drivetrain.drive_for(FORWARD, 150, MM)
    brain.screen.print("Velocity: ")
    brain.screen.print(drivetrain.velocity(PERCENT))

Hareket#

Moby, çatal motor grubunu kullanarak çatalları yukarı ve aşağı hareket ettirir, böylece halkalar ve mobil kaleler taşınabilir ve puanlanabilir.

Yön açıklamaları, her bir yönün Moby’deki çatal motor grubunu nasıl hareket ettirdiğini açıklamaktadır.

Eylemler#

döndürmek#

spin bir motor grubunu sonsuza kadar ileri veya geri yönde döndürür. Motor grubu, farklı bir yönde dönme veya durma gibi başka bir işlem verilene kadar dönmeye devam edecektir.

Usage:
fork_motor_group.spin(direction)

Parametreler

Tanım

direction

Motor grubunun dönüş yönü:

  • FORWARD — Çatalları kaldırır.
  • REVERSE — Çatalları indirir.

def main():
    # Spin the motor group forward then stop
    fork_motor_group.spin(FORWARD)
    wait(0.5, SECONDS)
    fork_motor_group.stop()

# VR threads — Do not delete
vr_thread(main)

spin_for#

spin_for komutu, bir motor grubunu belirli bir mesafe boyunca döndürür. Dönme hareketi, motor grubunun mevcut konumuna göre belirlenir. Proje, bir sonraki kod satırı çalışmadan önce motor grubunun dönmesini bekleyecektir.

Usage:
fork_motor_group.spin_for(direction, distance, units, wait)

Parametreler

Tanım

direction

Motor grubunun dönüş yönü:

  • FORWARD — Çatalları kaldırır.
  • REVERSE — Çatalları indirir.

distance

Motor grubunun dönme mesafesi. DEGREES tam sayı kullanın. TURNS tam sayı veya ondalık sayı kullanılabilir.

units

İsteğe bağlı. Mesafe birimi: DEGREES (varsayılan) veya TURNS.

wait

İsteğe bağlı.

  • wait=True (varsayılan) — Projenin, bir sonraki kod satırı çalışmadan önce motor grubunun dönmesi bitene kadar beklemesini sağlar.
  • wait=False — Bir sonraki kod satırının hemen çalışmasını sağlar.

def main():
    # Spin the motor group forward then stop
    fork_motor_group.spin_for(FORWARD, 360, DEGREES)

# VR threads — Do not delete
vr_thread(main)

spin_to_position#

spin_to_position , bir motor grubunu belirli bir konuma döndürür.

Bir motor grubunun konumu, DEGREES veya TURNScinsinden ölçülen, ne kadar döndüğünü gösterir. Bir dönüş 360 dereceye eşittir. Bir projenin başlangıcında, motor grubu konumu 0 dereceye ayarlanır. Motor grubu konumu ayrıca set_position yöntemi kullanılarak da ayarlanabilir.

Pozisyon değerleri mutlaktır. Bu, dönüş yönünün motor grubunun mevcut konumuna bağlı olduğu anlamına gelir.

Örneğin, motor grubu 0 dereceden başlayıp 720 dereceye kadar dönerse, iki tur ileri dönecektir. Daha sonra 360 dereceye kadar dönerse, 360, 720’den küçük olduğu için bir tur geri dönecektir.

Usage:
fork_motor_group.spin_to_position(angle, units, wait)

Parametreler

Tanım

angle

Motor grubunun döneceği pozisyon değeri. DEGREES tam sayı kullanın). TURNS (tam sayı veya ondalık sayı kullanabilirsiniz).

units

İsteğe bağlı. Konum birimi: DEGREES (varsayılan) veya TURNS.

wait

İsteğe bağlı.

  • wait=True (varsayılan) — Projenin, bir sonraki kod satırı çalışmadan önce motor grubunun dönmesi bitene kadar beklemesini sağlar.
  • wait=False — Bir sonraki kod satırının hemen çalışmasını sağlar.

def main():
    # Spin the motor group forward then stop
    fork_motor_group.spin_to_position(55, DEGREES)

# VR threads — Do not delete
vr_thread(main)

durmak#

stop durdurma, bir motor grubunun dönmesini durdurur.

Usage:
fork_motor_group.stop()

Parametreler

Tanım

Bu yöntemin parametresi yoktur.

def main():
    # Spin the motor group forward then stop
    fork_motor_group.spin(FORWARD)
    wait(0.5, SECONDS)
    fork_motor_group.stop()

# VR threads — Do not delete
vr_thread(main)

Mutatörler#

konum belirle#

Bir motor grubunun konumu, DEGREES veya TURNScinsinden ölçülen, ne kadar döndüğünü gösterir. Bir tur 360 dereceye eşittir. set_position komutu, motor grubunun mevcut konumunu yeni bir değere değiştirir.

Örneğin, bir motor grubu 180 derece döndüyse, pozisyonu 0 dereceye ayarlamak, bu pozisyonu 180 dereceden 0 dereceye sıfırlar. Ardından motor grubu, bu yeni değere göre pozisyonlara dönebilir.

Usage:
fork_motor_group.set_position(position, units)

Parametreler

Tanım

position

Motor grubu için ayarlanacak konum değeri. DEGREES tam sayı kullanın. TURNS tam sayı veya ondalık sayı kullanılabilir.

units

İsteğe bağlı. Konum birimi: DEGREES (varsayılan) veya TURNS.

def main():
    # Spin the motor group forward then stop
    fork_motor_group.set_position(90, DEGREES)
    fork_motor_group.spin_to_position(0, DEGREES)

# VR threads — Do not delete
vr_thread(main)

hızı ayarla#

set_velocity komutu, bir motor grubunun ne kadar hızlı döneceğini belirtir. Daha yüksek bir yüzde, motor grubunun daha hızlı dönmesini, daha düşük bir yüzde ise daha yavaş dönmesini sağlar.

Her proje, her motor grubunun varsayılan olarak %50 hızda dönmesiyle başlar.

Not: Daha yüksek hız, motor grubunun daha hızlı dönmesine neden olur, ancak hassasiyeti azaltabilir. Daha düşük hız ise motor grubunun daha yavaş dönmesine neden olur, ancak hassasiyeti artırabilir.

Usage:
fork_motor_group.set_velocity(velocity, units)

Parametreler

Tanım

velocity

Dönme hızı %0 ile %100 arasında değişir. Bu, integer veya ondalık sayı (float ) olabilir.

units

Hız birimi: % PERCENT.

def main():
    # Spin the motor group forward then stop
    fork_motor_group.set_velocity(75, PERCENT)
    fork_motor_group.spin_to_position(180, DEGREES)

# VR threads — Do not delete
vr_thread(main)

zaman aşımını ayarla#

set_timeout parametresi, bir motor grubunun bir hareketi tamamlamak için ne kadar süre deneyeceğini belirler. Motor grubu bu süre içinde hareketi tamamlayamazsa, denemeyi bırakır ve bir sonraki kod satırına geçer. Bu, motor grubunun bir harekette takılıp kalmasını önler.

Usage:
fork_motor_group.set_timeout(value, units)

Parametreler

Tanım

value

Motor grubunun bir hareketi tamamlamaya çalışabileceği süre. Bu, pozitif bir tamsayı integer veya ondalık sayı (float )) olabilir.

units

Zaman birimi: SECONDS veya MSEC.

def main():
    # Spin the motor group forward then stop
    fork_motor_group.set_timeout(2, SECONDS)
    fork_motor_group.spin_to_position(270, DEGREES)

# VR threads — Do not delete
vr_thread(main)

Getters#

tamamlandı#

is_done , motor grubunun hareketinin tamamlanıp tamamlanmadığını Boolean bir değer olarak döndürür. Bu, motor grubunun hareketine bağlı olarak diğer davranışların zamanlamasını kontrol etmek için kullanılabilir.

  • True — Motor grubu hareket etmeyi bitirdi.

  • False — Motor grubu hala hareket halinde.

Bu yöntem, wait parametresine sahip aşağıdaki Hareket yöntemleriyle birlikte çalışır: spin_for ve spin_to_position.

Usage:
fork_motor_group.is_done()

Parametreler

Tanım

Bu yöntemin parametresi yoktur.

dönüyor#

is_spinning , motor grubunun dönüp dönmediğini Boolean değer olarak döndürür. Bu, motor grubunun hareketine bağlı olarak diğer davranışların zamanlamasını kontrol etmek için kullanılabilir.

  • True — Motor grubu dönüyor.

  • False — Motor grubu dönmüyor.

Bu yöntem, wait parametresine sahip aşağıdaki Hareket yöntemleriyle birlikte çalışır: spin_for ve spin_to_position.

Usage:
fork_motor_group.is_spinning()

Parametreler

Tanım

Bu yöntemin parametresi yoktur.

konum#

Bir motor grubunun konumu, DEGREES veya TURNScinsinden ölçülen ne kadar döndüğünü gösterir. Bir tur 360 dereceye eşittir. position motor grubunun mevcut konumunu döndürür.

Projenin başlangıcında, motor grubu konumu 0 dereceye ayarlanır. Motor grubu ileri yönde tam bir tur dönerse, konum 360 derece veya 1 tur olur. Motor grubu ters yönde dönerse, konum negatif olur.

Usage:
fork_motor_group.position(units)

Parametreler

Tanım

units

Motor grubunun konumunu şu şekilde döndürecek ünite: DEGREES veya TURNS.

hız#

velocity motor grubunun ne kadar hızlı döndüğünü gösterir.

Pozitif bir değer, motor grubunun ileri yönde döndüğü anlamına gelir. Negatif bir değer ise motor grubunun ters yönde döndüğü anlamına gelir.

Usage:
fork_motor_group.velocity(units)

Parametreler

Tanım

units

Döndürülecek hız birimi: % PERCENT.

Konsol#

Konsol, bir proje çalışırken metin, sayılar ve değişken değerlerini görüntüler. Konsol yöntemleri ayrıca imleci yeni bir satıra taşıyabilir, konsolu temizleyebilir ve İzleme sekmesine değişkenler veya sensör değerleri ekleyebilir.

Yazdır#

beyin.ekran.baskı#

brain.screen.print geçerli imleç konumunu kullanarak Konsolda metin, sayı veya değişken değerleri görüntüler. Konsol API sayfasındaki print gibi davranır.

Sonraki yazdırılan değerin yeni bir satırda başlamasını istediğinizde brain.screen.next_row kullanın.

Usage:
brain.screen.print(value)

Parametreler

Tanım

value

Konsolda görüntülenecek metin, sayı veya değişken değeri.

def main():
    # Display a message in the Console
    brain.screen.print("Hello, robot!")

# VR threads — Do not delete
vr_thread(main)

VEXcode Konsolu, Konsol ve görüntülenen "Merhaba, robot!" metni gösteriliyor.

beyin.ekran.sonraki_satır#

brain.screen.next_row komutu, imleci Konsol’daki bir sonraki satırın 1. sütununa taşır. Yazdırılacak bir sonraki değer o satırda görünecektir.

Usage:
brain.screen.next_row()

Parametreler

Tanım

Bu yöntemin parametresi yoktur.

def main():
    # Print on two rows
    brain.screen.print("Row 1")
    brain.screen.next_row()
    brain.screen.print("Row 2")

# VR threads — Do not delete
vr_thread(main)

VEXcode Konsolu, Konsolu ve ilk satırda "Satır 1" ve ikinci satırda "Satır 2" metnini gösteriyor.

beyin.ekran.ekranı temizle#

brain.screen.clear_screen Konsoldaki tüm satırları temizler ve imleci 1. satıra geri taşır.

Usage:
brain.screen.clear_screen()

Parametreler

Tanım

Bu yöntemin parametresi yoktur.

def main():
    # Display text, then clear it after two seconds
    brain.screen.print("This will disappear...")
    wait(2, SECONDS)
    brain.screen.clear_screen()

# VR threads — Do not delete
vr_thread(main)

Monitör#

monitör_değişkeni#

monitor_variable komutu, VEXcode’daki İzleme sekmesine bir veya daha fazla önceden tanımlanmış değişken ekler. Bu sayede, bir proje çalışırken bir değişkenin değerinin değişimini izleyebilirsiniz.

Değişkenlerin başarılı monitor_variable izlenebilmesi için global olmaları gerekir. Her değişken adını bir dize olarak belirtin.

Usage:
monitor_variable(“variable”)
monitor_variable(“variable1”, “variable2”)

Parametreler

Tanım

variable

İzlenecek önceden tanımlanmış global bir değişkenin adı, bir dize olarak verilmelidir. Birden fazla değişkeni izlemek için, her değişken adını virgülle ayırın.

def main():
    # Monitor the amount of loops
    global loops
    monitor_variable("loops")

    # Drive in a square 3 times
    for loops in range(12):
        drivetrain.turn_for(RIGHT, 90, DEGREES)
        drivetrain.drive_for(FORWARD, 150, MM)

# VR threads — Do not delete
vr_thread(main)

monitör_sensörü#

monitor_sensor komutu, VEXcode’daki İzleme sekmesine bir veya daha fazla sensör değeri ekler. Bu sayede proje çalışırken sensör değerlerindeki değişiklikleri izleyebilirsiniz.

Her bir sensör değerini bir dize olarak girin.

Usage:
monitor_sensor(“sensor”)
monitor_sensor(“sensor1”, “sensor2”)

Parametreler

Tanım

sensor

The sensor value to monitor, given as a string. To monitor more than one sensor value, separate each sensor value with a comma. Supported sensor identifiers include:

  • Brain
    • brain.timer.time
  • Drivetrain
    • drivetrain.is_done
    • drivetrain.is_moving
    • drivetrain.heading
    • drivetrain.rotation
    • drivetrain.velocity_rpm
    • drivetrain.velocity_percent
  • Intake Motor Group
    • intake_motor_group.is_done
    • intake_motor_group.is_spinning
    • intake_motor_group.position_degrees
    • intake_motor_group.position_turns
    • intake_motor_group.velocity_rpm
    • intake_motor_group.velocity_percent
  • Fork Motor Group
    • fork_motor_group.is_done
    • fork_motor_group.is_spinning
    • fork_motor_group.position_degrees
    • fork_motor_group.position_turns
    • fork_motor_group.velocity_rpm
    • fork_motor_group.velocity_percent
  • Bottom Distance Sensor
    • bottom_distance.is_object_detected
    • bottom_distance.object_distance_mm
    • bottom_distance.object_distance_inches
  • Left Distance Sensor
    • left_distance.is_object_detected
    • left_distance.object_distance_mm
    • left_distance.object_distance_inches
  • Center Distance Sensor
    • center_distance.is_object_detected
    • center_distance.object_distance_mm
    • center_distance.object_distance_inches
  • Right Distance Sensor
    • right_distance.is_object_detected
    • right_distance.object_distance_mm
    • right_distance.object_distance_inches
  • Line Trackers
    • bottom_line_tracker.reflectivity
    • middle_line_tracker.reflectivity
    • top_line_tracker.reflectivity
  • Roller Optical Sensor
    • roller_optical.is_near_object
    • roller_optical.color
    • roller_optical.brightness
    • roller_optical.hue
  • Optical Sensor
    • optical.is_near_object
    • optical.color
    • optical.brightness
    • optical.hue
  • GPS Sensor
    • gps.position_mm
    • gps.position_inches
    • gps.heading
  • Rotation Sensor
    • rotation.angle
    • rotation.position

def main():
    # Monitor the robot's heading
    monitor_sensor("drivetrain.heading")
    drivetrain.turn_for(RIGHT, 450, DEGREES)

# VR threads — Do not delete
vr_thread(main)

Algılama#

Optik#

nesneye yakın#

is_near_object , Optik Sensörün menzil içinde bir nesne algılayıp algılamadığını gösteren bir Boolean değer döndürür.

  • True – Optik Sensör bir nesneyi algılıyor.

  • False – Optik sensör bir nesne algılamıyor.

Usage:
optical.is_near_object()

Parametreler

Tanım

Bu yöntemin parametresi yoktur.

renk#

color , algılanan ton değerine bağlı olarak Color sınıfının bir örneğini döndürür. Bunlar, koşullu ifadeler oluşturmak için önceden tanımlanmış Color nesneleriyle karşılaştırılabilir.

Olası renkler şunlardır:

  • NONE

  • RED - 340° - 20° arasında bir renk tonu değeri

  • GREEN - 80° - 140° arasında bir renk tonu değeri

  • BLUE - 200° - 240° arasında bir renk tonu değeri

  • YELLOW - 40° - 60° arasında bir renk tonu değeri

  • ORANGE - 20° - 40° arasında bir renk tonu değeri

  • PURPLE - 240° - 280° arasında bir renk tonu değeri

  • CYAN - 140° - 200° arasında bir renk tonu değeri

Not: Optik Sensör, belirtilen renkle eşleşen ton aralıklarını arıyor. Belirli ton aralıklarını algılamak için hue bölümüne bakın.

Usage:
optical.color()

Parametreler

Tanım

Bu yöntemin parametresi yoktur.

parlaklık#

brightness nesneden yansıyan ışık miktarını yüzde olarak temsil eden ondalık sayı (float) olarak döndürür.

Yüzde oranının yüksek olması, optik sensöre daha fazla ışığın geri yansıdığı anlamına gelir. Yüzde oranının düşük olması ise daha az ışığın geri yansıdığı anlamına gelir.

Usage:
optical.brightness()

Parametreler

Tanım

Bu yöntemin parametresi yoktur.

renk tonu#

hue algılanan rengin ton değerini 0 ile 359 arasında ondalık sayı (float) olarak döndürür.

Renk tonu, renk çemberi üzerindeki sayılar kullanılarak rengi tanımlamanın bir yoludur.

Çevresinde derece değerleri ile etiketlenmiş, üstte 0°'den başlayıp 360°'ye kadar 30 derecelik artışlarla renklerin tam spektrumunu gösteren dairesel bir renk çemberi.

Usage:
optical.hue()

Parametreler

Tanım

Bu yöntemin parametresi yoktur.

nesne_tespit edildi#

object_detected , Optik Sensör yeni bir nesne algıladığında çağrılacak bir fonksiyonu kaydeder.

Usage:
optical.object_detected(callback, arg)

Parametreler

Tanım

callback

Optik Sensör yeni bir nesne algıladığında yürütülen, önceden tanımlanmış bir fonksiyon.

arg

İsteğe bağlı. Geri çağrı fonksiyonuna iletilecek argümanları içeren bir tuple. Daha fazla bilgi için Parametreli Fonksiyonları Kullanma bölümüne bakın.

nesne_kayboldu#

object_lost , Optik Sensör algılanan bir nesneyi kaybettiğinde çağrılacak bir fonksiyonu kaydeder.

Usage:
optical.object_lost(callback, arg)

Parametreler

Tanım

callback

Optik Sensör algılanan nesneyi kaybettiğinde yürütülen, önceden tanımlanmış bir fonksiyon.

arg

İsteğe bağlı. Geri çağrı fonksiyonuna iletilecek argümanları içeren bir tuple. Daha fazla bilgi için Parametreli Fonksiyonları Kullanma bölümüne bakın.

Dönme#

konum belirle#

set_position , Dönme Sensörünün mevcut konumunu derece cinsinden bir değere ayarlar.

Usage:
rotation.set_position(position, units)

Parametreler

Tanım

konum

Dönme sensörünün ayarlanacağı konum.

birimler

İsteğe bağlı. Konum birimi:DEGREES (varsayılan) veya TURNS

açı#

angle sensörün mevcut açısını ondalık sayı olarak döndürür.

Usage:
rotation.angle(units)

Parametreler

Tanım

birimler

İsteğe bağlı. Açı birimi:

  • DEGREES (varsayılan) – 0 ila 359,99
  • TURNS

konum#

position toplam dönme pozisyonunu döndürür.

Usage:
rotation.position(units)

Parametreler

Tanım

birimler

İsteğe bağlı. Konum birimi:

  • DEGREES (varsayılan) – 0 ile 359 arası tam sayı
  • TURNS – Ondalık sayı

Küresel Konumlama Sistemi#

x_konumu#

x_position , sahadaki bir GPS (Oyun Konumlandırma Sistemi™) Sensörünün mevcut x koordinatını döndürür.

Usage:
gps.x_position(units)

Parametreler

Tanım

birimler

Ofset değerinin birimi: INCHES veya MM

y_konumu#

y_position , sahadaki bir GPS (Oyun Konumlandırma Sistemi™) Sensörünün mevcut y koordinatını döndürür.

Usage:
gps.y_position(units)

Parametreler

Tanım

birimler

Ofset değerinin birimi: INCHES veya MM

başlık#

heading GPS (Oyun Konumlandırma Sistemi™) Sensörünün 0 ile 359 derece arasındaki okumalarına dayanarak robotun şu anda baktığı yönü döndürür.

Usage:
gps.heading()

Parametreler

Tanım

Bu yöntemin parametresi yoktur.