Nesne Sensörü#

giriiş#

objectdetector sınıfı, nesne sensörünün kızılötesi (IR) ışığıyla yansıtıcılığı ölçmek ve nesneleri tespit etmek için kullanılır.

Sınıf Oluşturucu#

objectdetector( 
  triport::port &port, 
  bool           bReverse = false );

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

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

virtual ~objectdetector();

Parametreler#

Parametre

Tip

Tanım

port

triport::port &

Nesne Sensörünün bağlı olduğu 3 Kablolu Bağlantı Noktası, Brain.ThreeWirePort.X veya ExpanderName.Xşeklinde yazılır; burada X bağlantı noktası harfidir (örneğin, Brain.ThreeWirePort.A veya Expander1.A).

bReverse

bool

Nesne Sensörünün yönünü tersine çevirmek için isteğe bağlı bir boolean değeri:

  • false (varsayılan) — Yönü tersine çevirme
  • true — Yönü tersine çevir

Örnekler#

// Create an objectdetector instance in Port A
objectdetector ObjectSensorA = objectdetector(Brain.ThreeWirePort.A, true);

Üye Fonksiyonları#

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

  • reflectivity — Nesne Sensörü tarafından algılanan yansıtmayı döndürür.

  • isObjectDetected — Nesne Sensörünün bir nesne algılayıp algılamadığını döndürür.

  • setDetectionThreshold — Nesne Sensörünün algılama aralığını ayarlar.

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

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

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

// Create an objectdetector instance in Port A
objectdetector ObjectSensorA = objectdetector(Brain.ThreeWirePort.A, true);

reflectivity#

Nesne Sensörü tarafından ölçülen yansıtma değerini döndürür.

Available Functions
int32_t reflectivity( 
  percentUnits units = percentUnits::pct );

Parameters

Parametreler

Tip

Tanım

units

percentUnits

Yansıtıcılığı temsil eden birim:

  • percent / pct — yüzde

Return Values

Nesne Dedektörü tarafından ölçülen yansıtıcılığı %0 - %100 aralığında bir değer olarak temsil eden int32_t döndürür.

Examples
// Display the detected reflectivity on the Brain's screen
int32_t value = ObjectSensorA.reflectivity();
Brain.Screen.print(value);

isObjectDetected#

Nesne dedektörünün şu anda bir nesneyi algılayıp algılamadığını döndürür.

Available Functions
bool isObjectDetected();

Parameters

Bu fonksiyon herhangi bir parametre almaz.

Return Values

Nesnenin algılanıp algılanmadığını belirten bir Boolean değer döndürür:

  • true — An object is detected.
  • false — No object is detected.

setDetectionThreshold#

Nesne Dedektörü için algılama eşiğini belirli bir değere ayarlar.

Available Functions
void setDetectionThreshold( 
  int32_t      threshold, 
  percentUnits units = percentUnits::pct );

Parameters

Parametreler

Tip

Tanım

threshold

int32_t

Nesne tespiti için yansıtma eşiği, 0 - 100 aralığındadır.

units

percentUnits

Yeni eşiği temsil eden birim:

  • percent / pct — yüzde

Return Values

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

Examples
// Set the reflectivity threshold to 50%
ObjectSensorA.setDetectionThreshold(50);

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)

Nesne tespit edildiğinde çağrılacak geri çağırma fonksiyonu.

Return Values

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

Examples
void detected() {
  Brain.Screen.print("object detected");
}

// Run detected when the Object Detector detects an object
ObjectSensorA.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)

Bir nesne kaybolduğunda çağrılacak geri çağırma fonksiyonu.

Return Values

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

Examples
void lost() {
  Brain.Screen.print("object lost");
}

// Run lost when the Object Detector loses an object
ObjectSensorA.objectLost(lost);