Motor ve Motor Grubu#

giriiş#

Motorlar ve motor grupları, bir robotun parçalarının nasıl hareket ettiğini kontrol eder. motor nesnesi, yapılandırılmış bir IQ Akıllı Motoru kontrol ederken, motor_group nesnesi, birden fazla yapılandırılmış IQ Akıllı Motoru birlikte kontrol ederek eş zamanlı olarak hareket etmelerini sağlar. Motorlar ve motor grupları, bir kolu kaldırmak, bir pençeyi döndürmek, bir tekerleği döndürmek veya bir yapının başka bir parçasını hareket ettirmek için kullanılabilir. İki motor, tüm robotu hareket ettirmek ve döndürmek için bir tahrik sistemi olarak birlikte çalışabilir.

Her motor veya motor grubu, Aygıtlar penceresinde yapılandırılır. Sürüme bağlı olarak, motor ve motor grubu adları değişebilir. Bu sayfada örnek adlar olarak Motor1 ve MotorGroup1 kullanılmıştır. Bunları gerektiğinde kendi yapılandırdığınız adlarla değiştirin.

İleri yönü gösteren artı işareti ve sola doğru veya saat yönünün tersine döndüğünü gösteren ok bulunan bir VEX IQ (2. nesil) motoru. Bir VEX IQ (2. nesil) motorunun ters yönde çalıştığını gösteren bir eksi işareti ve sağa, yani saat yönünde döndüğünü gösteren bir ok.

Varsayılan olarak, forward motoru saat yönünün tersine, reverse ise motoru saat yönünde döndürür. Bir motor geri yönde çalışacak şekilde ayarlanırsa, bu yönler değiştirilir.

Motor#

Class Constructors#

1 — Belirtilen Akıllı Bağlantı Noktasına bağlı IQ Akıllı Motor için motor nesnesi oluşturur. Motor otomatik olarak algılanan dahili gearSetting kullanır.

motor(
  int32_t index );

2 — Belirtilen Akıllı Bağlantı Noktasında motor nesnesi oluşturur ve isteğe bağlı olarak yönünü tersine çevirir. Motor otomatik olarak algılanan dahili gearSetting kullanır.

motor(
 int32_t index,
 bool    reverse );

3 — Belirtilen Akıllı Bağlantı Noktasında, belirtilen gearSetting ile motor nesnesi oluşturur.

motor(
 int32_t     index,
 gearSetting gears );

4 — Belirtilen Akıllı Bağlantı Noktasında, belirtilen gearSetting ve isteğe bağlı ters yönde motor nesnesi oluşturur.

motor(
 int32_t     index,
 gearSetting gears,
 bool        reverse );

Class Destructor#

motor nesnesini yok eder ve ilgili kaynakları serbest bırakır.

~motor();

Parameters#

Parametre

Tip

Tanım

index

int32_t

Motorun bağlı olduğu Akıllı Bağlantı Noktası, PORTxşeklinde yazılır; burada x bağlantı noktası numarasıdır (örneğin, PORT1).

reverse

bool

Motorun dönüş yönünün tersine çevrilip çevrilmeyeceğini ayarlar:

  • false (varsayılan) — Motorun dönüş yönünü tersine çevirmez.
  • true — Motorun dönüş yönünü tersine çevirir.

gears

gearSetting

Dahili dişli kartuşunun oranını belirtir.

  • ratio1_1 — 1:1 dişli oranı
  • ratio2_1 — 2:1 dişli oranı
  • ratio3_1 — 3:1 dişli oranı

Notes#

  • Dişli ayarı, motora takılı olan fiziksel kartuşla eşleşmelidir.

Example#

// Create the motor instance in Smart Port 1
motor LeftMotor = motor(PORT1);

// Creates the motor instance with different settings
motor RightMotor = motor(
  PORT2,      // Smart Port 2
  ratio2_1,  // Gear ratio is 2:1
  true);

Motor Grubu#

Class Constructors#

motor_group( motor &m1, Args&... m2 );

Class Destructor#

motor_group nesnesini yok eder ve ilgili kaynakları serbest bırakır.

~motor_group();

Parameters#

Parametre

Tip

Tanım

m1

motor &

Gruba eklenen ilk motor.

m2

motor &

Gruba ilave motorlar eklendi. Bir motor grubunda en fazla dört motor bulunabilir.

Example#

// Create individual motor instances
motor LeftMotor  = motor(PORT1);
motor RightMotor = motor(PORT2);

// Create a motor group with both motors
motor_group DriveMotors = motor_group(LeftMotor, RightMotor);

Üye Fonksiyonları#

Motorları ve motor gruplarını kodlamanın birçok yolu vardır. Aşağıda motor ve motor_group üye fonksiyonlarının tümünün listesi bulunmaktadır:

İşlemler — Motorları ve motor gruplarını durdurun ve döndürün.

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

  • spinFor — Bir motoru veya motor grubunu belirli bir mesafe veya süre boyunca döndürür.

  • spinToPosition — Bir motoru veya motor grubunu belirli bir konuma döndürür.

  • stop — Bir motorun veya motor grubunun dönmesini durdurur.

Değiştiriciler — Motor ve motor grubu ayarlarını düzenleyin.

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

  • setMaxTorque — Bir motorun veya motor grubunun dönerken ne kadar sert itmesine izin verildiğini ayarlar.

  • setPosition — Motorun veya motor grubunun mevcut konumunu yeni bir değere değiştirir.

  • setStopping — Bir motorun veya motor grubunun hareket etmeyi nasıl durduracağını ayarlar: frenleme, serbest sürüş veya tutma yoluyla.

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

Getter’lar — Motor ve motor grubu durumunu kontrol edin.

  • isDone — Motorun veya motor grubunun hareketinin tamamlanıp tamamlanmadığını Boolean değer olarak döndürür.

  • isSpinning — Motorun veya motor grubunun dönüp dönmediğini Boolean değer olarak döndürür.

  • position — Motorun veya motor grubunun mevcut konumunu döndürür.

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

  • current — Motorun veya motor grubunun ne kadar elektrik akımı kullandığını döndürür.

  • power — Motorun veya motor grubunun ne kadar güç kullandığını döndürür.

  • torque — Motorun veya motor grubunun ne kadar tork kullandığını döndürür.

  • efficiency — Motorun veya motor grubunun gücü ne kadar verimli kullandığını döndürür.

  • temperature — Motorun veya motor grubunun sıcaklığını döndürür.

  • voltage — Motora veya motor grubuna sağlanan elektrik voltajını döndürür.

  • direction — Motorun veya motor grubunun dönme yönünü döndürür.

  • installed — Motorun veya motor grubunun Beyne bağlı olup olmadığını döndürür.

  • count — Bir motor grubundaki motor sayısını döndürür.

motor veya motor_group üye fonksiyonlarından herhangi birini çağırmadan önce, aşağıda gösterildiği gibi bir örnek oluşturulmalıdır:

/* This constructor is required when using VS Code.
Motor and Motor Group configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create the motor instance in Smart Port 1
motor Motor1 = motor(PORT1);

Eylemler#

spin#

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

Available Functions

1 — Mevcut yapılandırılmış motor hızını kullanarak motoru veya motor grubunu döndürür.

void spin(
 directionType dir );

2 — Motoru veya motor grubunu belirtilen hızda döndürür.

void spin(
 directionType dir,
 double        velocity,
 velocityUnits units );

3 — Belirtilen voltajı kullanarak motoru veya motor grubunu döndürür.

void spin(
 directionType dir,
 double        voltage,
 voltageUnits  units );

Parameters

Parametre

Tip

Tanım

dir

directionType

Motorun veya motor grubunun dönüş yönü: forward veya reverse.

velocity

double

The velocity to spin with from 0% to 100% when using percent.

units

velocityUnits

Hızı temsil etmek için kullanılan birim:

  • percent / pct — yüzde
  • rpm — dakikadaki dönüş sayısı
  • dps — saniyede derece

voltage

double

Döndürme için gereken voltaj. Negatif bir değer, verilen dir tersine doğru döndürür.

units

voltageUnits

Gerilimi temsil etmek için kullanılan birim:

  • volt — volt
  • voltageUnits::mV — milivolt

Return Values

Bu fonksiyon bir değer döndürmez.

Notes
  • Bu fonksiyon bekleme gerektirmez ve çağrıdan hemen sonra proje çalışmaya devam eder.

  • Motor veya motor grubu, stop çağrılana veya başka bir hareket fonksiyonu yürütülene kadar dönmeye devam edecektir.

  • isDone ve isSpinning gibi fonksiyonlar, hedef tabanlı hareket kullanmadığı için (bir rotation veya time parametresi olmadığı için) spiniçin geçerli değildir.

Examples
// Spin forward, then stop
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop();

spinFor#

spinFor komutu, bir motoru veya motor grubunu belirli bir mesafe veya süre boyunca döndürür. Döndürme tabanlı bir dönüş, motorun veya motor grubunun mevcut konumuna göre belirlenir. Varsayılan olarak, proje bir sonraki kod satırı çalışmadan önce motorun veya motor grubunun dönmesini bekler.

Available Functions

1 — Fonksiyon çağrısında belirtilen hızda belirli bir mesafe boyunca döner.

bool spinFor(
 double        rotation,
 rotationUnits units,
 double        velocity,
 velocityUnits units_v,
 bool          waitForCompletion = true );

2 — Yön parametresini kabul eder ve fonksiyon çağrısında belirtilen hızda belirli bir mesafe boyunca döner.

bool spinFor(
 directionType dir,
 double        rotation,
 rotationUnits units,
 double        velocity,
 velocityUnits units_v,
 bool          waitForCompletion = true );

3 — Mevcut yapılandırılmış motor hızı kullanılarak belirli bir mesafe boyunca döner.

bool spinFor(
 double        rotation,
 rotationUnits units,
 bool          waitForCompletion = true );

4 — Bir yön parametresi kabul eder ve şu anda yapılandırılmış motor hızı kullanılarak belirli bir mesafe boyunca döner.

bool spinFor(
 directionType dir,
 double        rotation,
 rotationUnits units,
 bool          waitForCompletion = true );

5 — Fonksiyon çağrısında belirtilen hızda belirli bir süre boyunca döner.

bool spinFor(
 double        time,
 timeUnits     units,
 double        velocity,
 velocityUnits units_v );

6 — Yön parametresini kabul eder ve fonksiyon çağrısında belirtilen hızda belirli bir süre boyunca döner.

bool spinFor(
 directionType dir,
 double        time,
 timeUnits     units,
 double        velocity,
 velocityUnits units_v );

7 — şu anda yapılandırılmış motor hızı kullanılarak belirli bir süre boyunca döner.

bool spinFor(
 double    time,
 timeUnits units );

8 — Bir yön parametresi kabul eder ve şu anda yapılandırılmış motor hızı kullanılarak belirli bir süre boyunca döner.

bool spinFor(
 directionType dir,
 double        time,
 timeUnits     units );

Parameters

Parametre

Tip

Tanım

dir

directionType

Motorun veya motor grubunun dönüş yönü: forward veya reverse.

rotation

double

Motorun veya motor grubunun dönme mesafesi.

units

rotationUnits

The rotation unit:

  • deg / degrees — degrees
  • turns / rev — revolutions

time

double

Motorun veya motor grubunun dönme süresi.

units

timeUnits

The unit of time:

  • seconds / sec — seconds
  • msec — milliseconds

velocity

double

The velocity to spin with from 0% to 100% when using percent.

units_v

velocityUnits

Hızı temsil etmek için kullanılan birim velocity:

  • percent / pct — yüzde
  • rpm — dakikadaki dönüş sayısı
  • dps — saniyede derece

waitForCompletion

bool

​

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

Return Values

Motorun veya motor grubunun hedef değere ulaşıp ulaşmadığını gösteren bir Boolean değeri döndürür.

  • true — The motor or motor group reached the target value.
  • false — The motor or motor group was not able to reach the target value or waitForCompletion is set to false.
Notes
  • spinFor devam ederken başka bir motor hareket fonksiyonunun (örneğin spin veya stop) yürütülmesi mevcut hareketi kesintiye uğratacaktır.

  • Çünkü spinFor hedef tabanlıdır ( rotation veya time parametresini kullanır), isDone ve isSpinning gibi fonksiyonlar spinFor ile çalışır.

Examples
// Spin 1 turn fast, then 1 turn slow
Motor1.spinFor(forward, 1, turns, true);
Motor1.spinFor(reverse, 1, turns, 20, velocityUnits::pct, true);

spinToPosition#

spinToPosition , bir motoru veya motor grubunu belirli bir konuma döndürür.

Bir motorun veya motor grubunun konumu, degrees veya turnscinsinden ölçülen ne kadar döndüğünü gösterir. Bir tur 360 dereceye eşittir. Bir projenin başlangıcında, motor veya motor grubunun konumu 0 dereceye ayarlanır. Motor veya motor grubunun konumu ayrıca setPosition fonksiyonu kullanılarak da ayarlanabilir.

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

Örneğin, motor veya 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.

Available Functions

1 — Fonksiyon çağrısında belirtilen hızda belirli bir konuma döner.

bool spinToPosition(
 double        rotation,
 rotationUnits units,
 double        velocity,
 velocityUnits units_v,
 bool          waitForCompletion = true );

2 — Mevcut yapılandırılmış motor hızı kullanılarak belirli bir konuma döner.

bool spinToPosition(
 double        rotation,
 rotationUnits units,
 bool          waitForCompletion = true );

Parameters

Parametre

Tip

Tanım

rotation

double

Motorun veya motor grubunun döneceği konum değeri.

units

rotationUnits

The rotation unit:

  • deg / degrees — degrees
  • turns / rev — revolutions

velocity

double

The velocity to spin with from 0% to 100% when using percent.

units_v

velocityUnits

Hızı temsil etmek için kullanılan birim velocity:

  • pct — yüzde
  • rpm — dakikadaki dönüş sayısı
  • dps — saniyede derece

waitForCompletion

bool

​

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

Return Values

Motorun veya motor grubunun istenen hedef tabanlı hareketi başlatıp başlatmadığını gösteren bir Boolean değeri döndürür.

  • true — The motor or motor group begins the requested target-based movement.
  • false — The call fails or waitForCompletion is set to false.
Notes
  • spinToPosition işlemi devam ederken başka bir motor hareket fonksiyonunun (örneğin spin veya spinFor) yürütülmesi mevcut hareketi kesintiye uğratacaktır.

  • Çünkü spinToPosition hedef tabanlıdır ( rotation parametresini kullanır), isDone ve isSpinning gibi fonksiyonlar spinToPosition ile çalışır.

Examples
// Spin forward, then go to 90°
Motor1.spin(forward);
wait(1, seconds);
Motor1.spinToPosition(90, degrees);

stop#

stop durdurma, bir motorun veya motor grubunun dönmesini durdurur.

Available Functions

1 — Mevcut yapılandırılmış fren modu kullanılarak motoru veya motor grubunu durdurur.

void stop();

2 — Fonksiyon çağrısında belirtilen fren modunu kullanarak motoru veya motor grubunu durdurur.

void stop(
  brakeType mode );

Parameters

Parametre

Tip

Tanım

mode

brakeType

İsteğe bağlı. Motorun veya motor grubunun nasıl duracağı:

  • coast — Yavaşlayarak durur.
  • brake — Hemen durur.
  • hold — Hemen durur ve motorun veya motor grubunun konumunu korur.

Return Values

Bu fonksiyon bir değer döndürmez.

Notes
  • stop komutunu çağırmak, mevcut tüm motor veya motor grubu hareketlerini anında durdurur.

  • Eğer fren modu belirtilmemişse, motor veya motor grubu şu anda yapılandırılmış fren modunu kullanır.

  • stop herhangi bir aktif hedef tabanlı hareketi (örneğin spinFor veya spinToPosition) kesintiye uğratır.

Examples
// Spin and coast to a stop
Motor1.setVelocity(100, percent);
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop(coast);

Mutatörler#

setVelocity#

setVelocity , bir motora veya motor grubuna ne kadar hızlı döneceğini söyler. Daha yüksek bir yüzde, motorun veya motor grubunun daha hızlı dönmesini, daha düşük bir yüzde ise daha yavaş dönmesini sağlar.

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

Not: Daha yüksek hız, motorun veya motor grubunun daha hızlı dönmesini sağlar, ancak hassasiyeti azaltabilir. Daha düşük hız ise motorun veya motor grubunun daha yavaş dönmesini sağlar, ancak hassasiyeti artırabilir.

Available Functions
void setVelocity(
    double        velocity,
    velocityUnits units );

Parameters

Parametre

Tip

Tanım

velocity

double

The velocity to spin with from 0% to 100% when using percent.

units

velocityUnits

Hızı temsil etmek için kullanılan birim velocity:

  • percent / pct — yüzde
  • rpm — dakikadaki dönüş sayısı
  • dps — saniyede derece

Return Values

Bu fonksiyon bir değer döndürmez.

Notes
  • Hızı açıkça belirtmeyen sonraki herhangi bir motor hareket fonksiyonu (örneğin spin, spinFor veya spinToPosition) bu değeri kullanacaktır.

Examples
// Try default, then slow, then fast
Motor1.spinFor(forward, 180, degrees);
wait(1, seconds);
Motor1.setVelocity(20, percent);
Motor1.spinFor(reverse, 180, degrees);
wait(1, seconds);
Motor1.setVelocity(100, percent);
Motor1.spinFor(forward, 180, degrees);

setMaxTorque#

Tork, bir motorun veya motor grubunun dönerken ne kadar kuvvet uygulayabileceğini veya çekebileceğini gösterir.

setMaxTorque , bir motorun veya motor grubunun kullanmasına izin verilen maksimum tork değerini belirler.

Daha yüksek bir yüzde, motorun veya motor grubunun daha fazla itme gücü uygulamasını sağlar, örneğin ağır bir nesneyi kaldırırken olduğu gibi. Daha düşük bir yüzde ise motorun veya motor grubunun ne kadar sert itme gücü uygulayabileceğini sınırlar. Bu, motor veya motor grubu sıkışırsa veya hareket edebileceği sınırın sonuna ulaşırsa robotu korumaya yardımcı olabilir.

Her proje, varsayılan olarak her motorun veya motor grubunun torkunun %50’sinde başlar.

Available Functions

1 — Motorun veya motor grubunun nominal torkunun yüzdesi olarak maksimum torku ayarlar.

void setMaxTorque(
 double       value,
 percentUnits units );

2 — Fiziksel tork birimlerini kullanarak maksimum torku ayarlar.

void setMaxTorque(
 double      value,
 torqueUnits units );

3 — Motor akımını sınırlayarak maksimum torku ayarlar.

void setMaxTorque(
 double       value,
 currentUnits units );

Parameters

Parametre

Tip

Tanım

value

double

Motorun veya motor grubunun kullanabileceği maksimum tork.

units

percentUnits

Torku yüzde olarak belirtir: % percent / pct

units

torqueUnits

Torku aşağıdaki gibi fiziksel birimlerde belirtir:

  • Nm — Newton-metre
  • InLb — inç-pound

units

currentUnits

Motor akımını sınırlayarak torku belirtir:

  • amp

Return Values

Bu fonksiyon bir değer döndürmez.

Notes
  • currentUnitskullanıldığında, tork, motorun veya motor grubunun kullanabileceği elektrik akımının sınırlandırılmasıyla belirlenir.

setPosition#

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

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

Available Functions
void setPosition(
    double        value,
    rotationUnits units );

Parameters

Parametre

Tip

Tanım

value

double

Motor veya motor grubu için ayarlanacak konum değeri.

units

rotationUnits

The position unit:

  • deg / degrees — degrees
  • turns / rev — revolutions

Return Values

Bu fonksiyon bir değer döndürmez.

Notes
  • setPositionçağrıldıktan sonra, spinToPosition’e yapılan sonraki çağrılar, güncellenmiş konumu referans olarak kullanacaktır.

setStopping#

setStopping , bir motorun veya motor grubunun hareket etmeyi nasıl durduracağını belirler: frenleme, serbest sürüş veya tutma yoluyla.

Available Functions
void setStopping(
  brakeType mode );

Parameters

Parametre

Tip

Tanım

mode

brakeType

Motorun veya motor grubunun nasıl duracağı:

  • brake — Hemen durur.
  • coast — Yavaşlayarak durur.
  • hold — Hemen durur ve motorun veya motor grubunun konumunu korur.

Return Values

Bu fonksiyon bir değer döndürmez.

Notes
  • stop’ye yapılan sonraki herhangi bir çağrıda, belirtilen bir fren modu olmadan bu değer kullanılacaktır.

setTimeout#

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

Available Functions
void setTimeout(
    int32_t   time,
    timeUnits units );

Parameters

Parametre

Tip

Tanım

time

int32_t

Motorun veya motor grubunun bir hareketi tamamlamaya çalışabileceği süre. Bu süre pozitif bir tamsayı olmalıdır.

units

timeUnits

Zaman birimi:

  • msec — milisaniye
  • seconds / sec — saniye

Dönüş Değeri

Bu fonksiyon bir değer döndürmez.

Notes
  • Motor veya motor grubu zaman aşımı, hedef konumuna ulaşmayan hareketlerin yığındaki diğer komutların yürütülmesini durdurmasını önlemek için kullanılır.

  • Motor veya motor grubu, zaman aşımı süresi dolmadan hedef konumuna ulaşamazsa, denemeyi durduracak ve bir sonraki kod satırına geçecektir.

  • Zaman aşımı, spinFor ve spinToPosition gibi hedef değere sahip fonksiyonlar için geçerlidir.

Examples
// Stop a long move after 1 second
Motor1.setTimeout(1, seconds);
Motor1.spinFor(forward, 2, turns);
Motor1.spinToPosition(0, degrees);

Getters#

isDone#

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

  • true — Motor veya motor grubu hareket etmeyi bitirdi.

  • false — Motor veya motor grubu hala hareket halinde.

Bu fonksiyon, waitForCompletion parametresine sahip aşağıdaki Hareket fonksiyonlarıyla birlikte çalışır: spinFor ve spinToPosition.

Available Functions
bool isDone();

Parameters

Bu fonksiyon herhangi bir parametre kabul etmez.

Return Values

Motorun veya motor grubunun hareketinin tamamlanıp tamamlanmadığını Boolean değer olarak döndürür.

  • true — The motor or motor group is finished moving.
  • false — The motor or motor group is still moving.
Notes
  • isDone , waitForCompletion parametresine sahip aşağıdaki Hareket fonksiyonlarıyla birlikte çalışır: spinFor ve spinToPosition.

Examples
// Spin forward until the motor is done spinning
Motor1.spinFor(forward, 200, degrees, false);
while (true) {
  if (Motor1.isDone()) {
    Drivetrain.stop();
  } else {
    Drivetrain.drive(forward);
  }
}

isSpinning#

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

  • true — Motor veya motor grubu dönüyor.

  • false — Motor veya motor grubu dönmüyor.

Bu fonksiyon, spin, spinFor ve spinToPosition gibi Hareket hareket fonksiyonlarıyla birlikte çalışır.

Available Functions
bool isSpinning();

Parameters

Bu fonksiyon herhangi bir parametre kabul etmez.

Return Values

Motorun veya motor grubunun dönüp dönmediğini Boolean değer olarak döndürür.

  • true — The motor or motor group is spinning.
  • false — The motor or motor group is not spinning.
Notes Examples
// Spin forward until the motor is done spinning
Motor1.spinFor(forward, 200, degrees, false);
while (true) {
  if (Motor1.isSpinning()) {
    Drivetrain.drive(forward);
  } else {
    Drivetrain.stop();
  }
}

position#

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

Bir projenin başlangıcında, motorun veya motor grubunun konumu 0 dereceye ayarlanır. Motor veya motor grubu bir tur ileri dönerse, konum 360 derece veya 1 tur olur. Motor veya motor grubu ters yöne dönerse, konum negatif olur.

Available Functions
double position(
  rotationUnits units );

Parameters

Parametre

Tip

Tanım

units

rotationUnits

The unit to return the motor or motor group position in:

  • deg / degrees — degrees
  • turns / rev — revolutions

Return Values

Motorun veya motor grubunun belirtilen birimlerdeki mevcut konumunu temsil eden double bir çift değer döndürür.

Notes
  • setPosition çağrısı, bu değer için referans noktasını değiştirir.

  • Döndürülen değer, mevcut enkoder okumasını yansıtır ve motorun veya motor grubunun aktif olarak hareket edip etmediğini göstermez.

  • motor_groupüzerinde çağrıldığında, bu fonksiyon gruptaki ilk motorun konumunu döndürür.

Examples
// Spin, then show the final position
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop();
Brain.Screen.print("Pos: %f", Motor1.position(degrees));

velocity#

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

Pozitif bir değer, motorun veya motor grubunun ileri yönde döndüğünü, negatif bir değer ise ters yönde döndüğünü gösterir.

Available Functions
double velocity(
    velocityUnits units );

Parameters

Parametre

Tip

Tanım

units

velocityUnits

Hızı temsil etmek için kullanılan birim:

  • percent / pct — yüzde
  • rpm — dakikadaki dönüş sayısı
  • dps — saniyede derece

Return Values

Motorun veya motor grubunun belirtilen birimlerde ne kadar hızlı döndüğünü gösteren double bir çift sayı döndürür.

Not

  • motor_groupüzerinde çağrıldığında, bu fonksiyon gruptaki ilk motorun hızını döndürür.

current#

current motorun veya motor grubunun kullandığı elektrik akımının miktarını gösterir. Akım, motordan veya motor grubundan geçen elektrik miktarıdır. Amper cinsinden döndürüldüğünde, akım 0,0 ile 1,2 A arasında rapor edilir.

Daha yüksek akım değeri, motorun veya motor grubunun daha fazla elektrik akımı kullandığı anlamına gelir. Bu durum, motor veya motor grubu ağır bir şeyi kaldırırken, bir cisme karşı itme kuvveti uygularken veya sıkışmışken hareket etmeye çalışırken meydana gelebilir.

Bu, motorun veya motor grubunun hareket sırasında zorlanıp zorlanmadığını kontrol etmek için kullanılabilir. Akım yüksek kalırsa, motor ısınabilir veya gücü daha az verimli kullanabilir.

Available Functions

1 — Motorun veya motor grubunun elektrik akımını amper cinsinden döndürür.

double current(
  currentUnits units = amp );

2 — Motorun veya motor grubunun elektrik akımını, azami nominal akımın yüzdesi olarak döndürür.

double current(
  percentUnits units );

Parameters

Parametre

Tip

Tanım

units

currentUnits

Akımı temsil etmek için kullanılan birim:amp (varsayılan) — amper

units

percentUnits

Akımı, motorun maksimum nominal akımının yüzdesi olarak gösterir: %percent / pct.

Return Values

Motorun veya motor grubunun belirtilen birimlerde çektiği elektrik akımını temsil eden double bir çift sayı döndürür.

Not

  • motor_groupüzerinde çağrıldığında, bu fonksiyon gruptaki tüm motorların toplam elektrik akımını döndürür.

power#

power , motorun veya motor grubunun watt cinsinden ne kadar güç kullandığını gösterir. Güç, motorun veya motor grubunun enerjiyi ne kadar hızlı kullandığını gösterir.

Daha yüksek güç değeri, motorun veya motor grubunun enerjiyi daha hızlı kullandığı anlamına gelir. Bu durum, motor veya motor grubu ağır bir şeyi kaldırırken, bir cisme karşı itme kuvveti uygularken veya sıkışmışken hareket etmeye çalışırken ortaya çıkabilir.

Bu, hareketleri karşılaştırmak veya motorun veya motor grubunun zorlanıp zorlanmadığını kontrol etmek için kullanılabilir. Güç yüksek kalırsa, motor daha fazla ısınabilir veya enerjiyi daha az verimli kullanabilir.

Available Functions
double power(
  powerUnits units = watt );

Parametre

Parametre

Tip

Tanım

units

powerUnits

Motor gücünü temsil etmek için kullanılan birim:

  • watt (varsayılan) — watt

Dönüş Değeri

Motorun veya motor grubunun watt cinsinden ne kadar güç kullandığını gösteren double değerini döndürür.

Not

  • motor_groupüzerinde çağrıldığında, bu fonksiyon gruptaki ilk motorun elektrik gücünü döndürür.

torque#

Tork, bir motorun veya motor grubunun dönerken ne kadar güçlü bir şekilde bükme, itme veya çekme uyguladığını gösterir.

torque motorun veya motor grubunun ne kadar tork kullandığını gösterir.

Daha yüksek tork değeri, motorun veya motor grubunun daha fazla itme veya çekme kuvveti uyguladığı anlamına gelir. Bu durum, motor veya motor grubu ağır bir şeyi kaldırırken, bir cisme karşı itme kuvveti uygularken veya sıkışmış bir şeyi hareket ettirmeye çalışırken ortaya çıkabilir.

Bu yöntem, motorun veya motor grubunun zorlanıp zorlanmadığını kontrol etmek veya farklı hareketlerin ne kadar itme gerektirdiğini karşılaştırmak için kullanılabilir.

Bir motorun veya motor grubunun torkunu ayarlamak için setMaxTorque komutunu kullanın.

Available Functions
double torque(
  torqueUnits units = Nm );

Parametre

Parametre

Tip

Tanım

units

torqueUnits

Motor torkunu temsil etmek için kullanılan birim:

  • Nm (varsayılan) — Newton-metre
  • InLb — inç-pound

Dönüş Değeri

Motorun veya motor grubunun kullandığı tork miktarını belirtilen birimlerde temsil eden double bir çift sayı döndürür.

Not

  • motor_groupüzerinde çağrıldığında, bu fonksiyon gruptaki ilk motorun mekanik çıkış torkunu döndürür.

efficiency#

efficiency motorun veya motor grubunun gücü ne kadar verimli kullandığını %0 ile %100 arasında bir yüzde olarak gösterir.

Verimlilik, motorun veya motor grubunun gücünün ne kadarının hareket için kullanıldığını gösterir. Daha yüksek bir verimlilik değeri, motorun veya motor grubunun gücünün daha fazlasının hareket için kullanıldığı anlamına gelir. Daha düşük bir verimlilik değeri, motor veya motor grubu çok çalışırken ancak fazla hareket etmediğinde, örneğin sıkıştığında veya bir nesneye karşı itme yaptığında ortaya çıkabilir.

Bu özellik, hareketleri karşılaştırmak veya motorun ya da motor grubunun hareket için kullanmak yerine güç israf edip etmediğini kontrol etmek için kullanılabilir.

Available Functions
double efficiency(
  percentUnits units = percent );

Parametre

Parametre

Tip

Tanım

units

percentUnits

Motor verimliliğini temsil etmek için kullanılan birim:

  • percent / percentUnits::pct (varsayılan) — yüzde

Dönüş Değeri

Motorun veya motor grubunun gücü ne kadar verimli kullandığını yüzde olarak gösteren double bir çift değer döndürür.

Not

  • motor_groupüzerinde çağrıldığında, bu fonksiyon gruptaki ilk motorun verimliliğini döndürür.

temperature#

temperature , motorun veya motor grubunun sıcaklığını döndürür.

Motor sıcaklığı, motorun veya motor grubunun ne kadar sıcak olduğunu gösterir. Daha yüksek sıcaklık, motorun veya motor grubunun çalışırken daha çok ısındığı anlamına gelir. Motorun tam performansla çalışmaya devam etmesi için 55°C altında kalması gerekir.

Motor veya motor grubu aşırı ısınırsa, kendini korumak için maksimum akımını düşürür. 70°Cmotor soğuyana kadar çalışmayı durdurur.

Bu özellik, motorun veya motor grubunun tekrarlanan hareketler, uzun çalışma süreleri veya bir cisme karşı itme kuvveti uygularken aşırı ısınıp ısınmadığını kontrol etmek için kullanılabilir.

Available Functions

1 — Motor veya motor grubu sıcaklığını, maksimum çalışma sıcaklığının yüzdesi olarak döndürür.

double temperature(
  percentUnits units = percent );

2 — Motor veya motor grubu sıcaklığını fiziksel sıcaklık birimleri cinsinden döndürür.

double temperature(
  temperatureUnits units );

Parametre

Parametre

Tip

Tanım

units

percentUnits

Motor veya motor grubu sıcaklığını yüzde olarak temsil etmek için kullanılan birim:

  • percent / percentUnits::pct (varsayılan) — yüzde

units

temperatureUnits

Motor veya motor grubu sıcaklığını derece cinsinden ifade etmek için kullanılan birim:

  • celsius santigrat derece
  • fahrenheit Fahrenheit derece

Dönüş Değeri

Motorun veya motor grubunun sıcaklığını belirtilen birimlerde temsil eden double bir çift sayı döndürür.

Not

  • Motorun çalışma sıcaklığı aralığı yaklaşık 20°C (68°F) ile 70°C (158°F ) arasındadır.

  • motor_groupüzerinde çağrıldığında, bu fonksiyon gruptaki ilk motorun sıcaklığını döndürür.

voltage#

voltage motora veya motor grubuna sağlanan elektrik voltajını döndürür.

Available Functions
double voltage(
  voltageUnits units = volt );

Parametre

Parametre

Tip

Tanım

units

voltageUnits

Gerilimi temsil eden birim:

  • volt (varsayılan)
  • voltageUnits::mV — milivolt

Dönüş Değeri

Motor veya motor grubuna sağlanan elektrik voltajını belirtilen birimlerde temsil eden double değerini döndürür.

Not

  • motor_groupüzerinde çağrıldığında, bu fonksiyon gruptaki ilk motorun elektrik voltajını döndürür.

direction#

direction , motorun veya motor grubunun dönme yönünü döndürür.

Available Functions
directionType direction();

Parametre

Bu fonksiyon herhangi bir parametre almaz.

Dönüş Değeri

Motorun veya motor grubunun mevcut yönünü gösteren directionType değerini döndürür:

  • forward — The motor or motor group is spinning forward.
  • reverse — The motor or motor group is spinning in reverse.

installed#

installed ise motorun veya motor grubunun IQ (2. nesil) Beynine bağlı olup olmadığını döndürür.

Available Functions
bool installed();

Parametre

Bu fonksiyon herhangi bir parametre almaz.

Dönüş Değeri

Motorun veya motor grubunun bağlı olup olmadığını gösteren bool boolean değerini döndürür.

  • true — The motor or motor group is connected.
  • false — The motor or motor group is not connected.

count#

count bir motor grubundaki motor sayısını döndürür.

Available Functions
int32_t count();

Parametre

Bu fonksiyon herhangi bir parametre almaz.

Dönüş Değeri

Motor grubundaki motor sayısını temsil eden int32_t değerini döndürür.