Dönme Sensörü#

giriiş#

rotation sınıfı, EXP Dönüş Sensöründen gelen verileri kontrol etmek ve bunlara erişmek için kullanılır.

Dönme Sensörü, bir şaftın dönüşünü ölçer. Doğrudan bir motora bağlı olmasa bile, bir şaftın döndüğü robot üzerindeki herhangi bir yerde kullanılabilir.

Bir motorda kendi dönüşünü takip edebilen dahili bir kodlayıcı bulunur. Dönüş Sensörü ise ayrı bir milin dönüşünü takip edebilen harici bir kodlayıcı gibi çalışır.

Dönme Sensörü, şaftın açısını, konumunu ve hızını döndürebilir. Açı, şaftın 0 ile 359,99 derece arasındaki mutlak konumudur. Bir proje başladığında veya robot kapatıldığında sıfırlanmaz. Konum, şaftın bir proje sırasında ileri veya geri kaç derece veya tur döndüğünü izler ve gerektiğinde sıfırlanabilir.

Dönme Sensörü, 1/8 inç ve 1/4 inç standart VEX şaftlarıyla uyumludur.

Sınıf Oluşturucuları#

rotation(
    int32_t index,
    bool    reverse = false );

Sınıf Yıkıcısı#

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

virtual ~rotation();

Parametreler#

Parametre

Tip

Tanım

index

int32_t

Dönme Sensörünün 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

İsteğe bağlı. Dönme Sensörü çıkışının tersine çevrilip çevrilmeyeceği:

  • true — Bildirilen açı ve konum değerlerinin yönünü tersine çevirir.
  • false (varsayılan) — Açı ve konum değerlerini standart yönde bildirir.

Örnekler#

// Create a Rotation Sensor instance in Port 1
rotation Rotation1 = rotation(PORT1);

Üye Fonksiyonları#

rotation sınıfı aşağıdaki üye fonksiyonlarını içerir:

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

  • angle — Milin mevcut açısını 0 ile 359,99 derece arasında döndürür.

  • position — Milin kaç derece veya tur döndüğünü döndürür.

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

Herhangi bir rotation üye fonksiyonunu çağırmadan önce, aşağıda gösterildiği gibi bir rotation örneği oluşturulmalıdır:

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

// Create a Rotation Sensor instance in Port 1
rotation Rotation1 = rotation(PORT1);

setPosition#

Dönme sensörünün mevcut konumunu belirli bir değere ayarlar.

Pozisyon, bir proje sırasında şaftın ne kadar döndüğünü gösterir. Pozisyonu ayarlamak, şaftı hareket ettirmeden mevcut pozisyon değerini değiştirir.

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

Parameters

Parametre

Tip

Tanım

value

double

Dönme Sensörüne atanacak konum değeri. Bu bir tamsayı veya ondalık sayı olabilir.

units

rotationUnits

The position unit:

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

Return Values

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

angle#

Milin mevcut açısını döndürür.

Açı sensörü, şaftın 0 ile 359,99 derece arasında, tek bir dönüş içindeki mutlak konumunu bildirir. Bir proje başladığında veya robot kapatıldığında sıfırlanmaz.

Available Functions
double angle( rotationUnits units = degrees );

Parameters

Parametre

Tip

Tanım

units

rotationUnits

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

  • deg / degrees (varsayılan) — derece
  • turns / rev — dönüş

Return Values

Şaftın belirtilen birimlerdeki mevcut açısını temsil eden double değerini döndürür.

Examples
// Get the current angle of the shaft
  double angle = Rotation1.angle(degrees);

  // Print the current angle of the shaft to the
  // Brain's screen.
  Brain.Screen.print(angle);

position#

Milin ne kadar döndüğünü gösterir.

Açıdan farklı olarak, konum 359,99 derecenin üzerine çıkabilir veya 0 derecenin altına düşebilir. Konum, bir proje sırasında şaftın ne kadar ileri veya geri döndüğünü izler ve gerektiğinde sıfırlanabilir.

Available Functions
double position( rotationUnits units );

Parameters

Parametre

Tip

Tanım

units

rotationUnits

The position unit:

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

Return Values

Milin belirtilen birimlerde ne kadar döndüğünü gösteren double bir değer döndürür.

velocity#

Milin dönüş hızını döndürür.

Available Functions
double velocity( velocityUnits units );

Parameters

Parametre

Tip

Tanım

units

velocityUnits

Hız birimi:

  • rpm — dakikadaki devir sayısı
  • dps — saniyede derece

Return Values

Milin dönüş hızını belirtilen birimlerde temsil eden double bir çift sayı döndürür.