Optik Sensör#

giriiş#

optical sınıfı, V5 Optik Sensöründen veri almak için kullanılır. Nesneleri algılamak, renkleri belirlemek ve parlaklık ile tonu ölçmek için yansıyan ışığı kullanır.

Sınıf Oluşturucu#

optical Optical = optical(index);

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

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

virtual ~optical();

Parametreler#

Parametre

Tip

Tanım

index

int32_t

Optik sensörün bağlı olduğu akıllı port, PORTxşeklinde yazılır; burada x port numarasıdır (örneğin, PORT1).

Örnekler#

// Create an optical instance in Port 1
optical Optical1 = optical(PORT1);

Üye Fonksiyonları#

optical sınıfı aşağıdaki üye işlevlerini içerir:

  • setLight — Optik Sensörün LED’ini açar veya kapatır.

  • setLightPower — Optik Sensörün ışık gücü seviyesini ayarlar.

  • isNearObject — 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.

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

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

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

// Create an optical object in Port 1
optical Optical1 = optical(PORT1);

setLight#

Optik sensörün LED ışığını açar veya kapatır. Bu ışık, optik sensörün nesneleri ve renkleri daha net algılamasına yardımcı olur.

Available Functions
void  setLight(ledState state);

Parameters

Parametre

Tip

Tanım

state

ledState

LED’i açar veya kapatır. ledState::on LED’i %100 parlaklıkta açar. ledState::off kapatır.

Return Values

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

Examples
// Turn on LED with previous intensity.
Optical.setLight(ledState::on);

setLightPower#

Optik sensörün LED’inin parlaklığını ayarlar. Işık, optik sensörün nesneleri ve renkleri daha net algılamasına yardımcı olur.

Optik sensörün ışığı kapalıysa, ışık gücünü %0’ın üzerine ayarlamak ışığı açacaktır.

Optik sensörün ışığı yanıyorsa, ışık gücünü %0’a ayarlamak ışığı söndürecektir.

Yüzde oranı ne kadar yüksekse ışık o kadar parlak olur. Yüzde oranı ne kadar düşükse ışık o kadar loş olur.

Available Functions
void setLightPower( 
      int32_t      intensity, 
      percentUnits units = percent );

Parameters

Parametre

Tip

Tanım

intensity

int32_t

Işık gücü seviyesi 0 ile 100 arasında ayarlanabilir.

units

percentUnits

Işık yoğunluğunu temsil eden birim: % percent / pct

Return Values

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

Examples
// Set the light power to 50 percent.
Optical.setLightPower(50, percent);

isNearObject#

Optik sensör yakındaki bir nesneyi algılarsa geri döner.

Available Functions
bool  isNearObject();

Parameters

Bu fonksiyon herhangi bir parametre kabul etmez.

Return Values

Bu fonksiyon, yakındaki bir nesnenin tespit edilip edilmediğini gösteren bir Boolean değeri döndürür:

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

  • false – Optik sensör bir nesne algılamadı.

Examples
// If an object is detected by the Optical Sensor, print
// "near object".
if (Optical.isNearObject()){
  Brain.Screen.print("near object");
}

color#

Optik sensör tarafından algılanan rengi döndürür.

Available Functions
vex::color  color();

Parameters

Bu fonksiyon herhangi bir parametre kabul etmez.

Return Values

Optik Sensör tarafından renk sınıfı örneği olarak algılanan renk.

Olası renkler şunlardır:

  • black

  • white

  • 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

Examples
// Set a variable, detectColor, to the color detected by the
// Optical Sensor
color detectColor = Optical.color();

// Print the color detected by the Optical Sensor
// to the Brain's screen
Brain.Screen.print(detectColor);

brightness#

Nesneden yansıyan ışık miktarını 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.

Available Functions
double  brightness(bool bRaw = false);

Parameters

Parametre

Tip

Tanım

bRaw

bool

Parlaklık verilerini yüzde yerine ham olarak okumak için kullanılan bir Boolean değeri. Varsayılan değer false.

Return Values

Optik sensör tarafından algılanan parlaklığı %0 - %100 aralığında bir çift sayı olarak temsil eden bir çift sayı veya sensör tarafından algılanan ham veriyi temsil eden bir çift sayı.

Examples
// Set a variable, brightness, to the value of the brightness
// detected by the Optical Sensor
double brightness = Optical.brightness();

// Print the brightness detected by the Optical Sensor to the
// Brain's screen
Brain.Screen.print(brightness);

hue#

Algılanan rengin ton değerini döndürür.

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

Kırmızının 0 dereceden başlayıp değer arttıkça gökkuşağının renklerine geçiş yaptığı, daire etrafında renklerin derecelerini gösteren VEX Renk Çarkı.

Available Functions
double hue();

Parameters

Bu fonksiyon herhangi bir parametre kabul etmez.

Return Values

Optik Sensör tarafından algılanan renk tonunun 0 ile 359,99 aralığındaki değerini temsil eden bir double sayı.

Examples
// Set a variable, hue, to the value of the hue detected
// by the Optical Sensor.
double hue = Optical.hue();

objectDetected#

Bir nesne algılandığında çalışacak bir geri çağırma fonksiyonu kaydeder.

Available Functions
void objectDetected(void (* callback)(void));

Parameters

Parametre

Tip

Tanım

callback

void (*)(void)

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

Return Values

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

Examples

Geri çağırma fonksiyonunu tanımlayın ( int main() dışında)

// Display a message when the Optical Sensor detects an object.
void detected() {
  Brain.Screen.print("object detected");
}

Geri çağrıyı main() fonksiyonunun içine kaydedin int main()

int main() {
  // Run detected when the Optical Sensor detects an object.
  Optical.objectDetected(detected);
}

objectLost#

Bir nesne kaybolduğunda çalışacak bir geri çağırma fonksiyonu kaydeder.

Available Functions
void objectLost(void (* callback)(void));

Parameters

Parametre

Tip

Tanım

callback

void (*)(void)

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

Return Values

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

Examples

Geri çağırma fonksiyonunu tanımlayın ( int main() dışında)

// Display a message when the Optical Sensor loses an object.
void lost() {
  Brain.Screen.print("object lost");
}

Geri çağrıyı main() fonksiyonunun içine kaydedin int main()

int main() {
  // Run lost when the Optical Sensor loses an object.
  Optical.objectLost(lost);
}