Sensor Objek#

Perkenalan#

Kelas objectdetector digunakan untuk mengukur reflektivitas dan mendeteksi objek oleh Sensor Objek.

Konstruktor Kelas#

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

Destruktor Kelas#

Menghancurkan objek objectdetector dan melepaskan sumber daya terkait.

virtual ~objectdetector();

Parameter#

Parameter

Jenis

Keterangan

port

triport::port &

Port 3-Kabel yang terhubung ke Sensor Objek, ditulis sebagai Brain.ThreeWirePort.X atau ExpanderName.X, di mana X adalah huruf port (misalnya, Brain.ThreeWirePort.A atau Expander1.A).

bReverse

bool

Nilai boolean opsional untuk membalikkan arah Sensor Objek:

  • false (default) — Jangan membalikkan arah
  • true — Balikkan arah

Contoh#

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

Fungsi Keanggotaan#

Kelas objectdetector objectdetector berikut:

  • reflectivity — Mengembalikan reflektivitas yang terdeteksi oleh Sensor Objek.

  • isObjectDetected — Mengembalikan apakah Sensor Objek mendeteksi suatu objek.

  • setDetectionThreshold — Mengatur jangkauan deteksi Sensor Objek.

  • objectDetected — Mendaftarkan fungsi yang akan dipanggil ketika Sensor Objek mendeteksi suatu objek.

  • objectLost — Mendaftarkan fungsi yang akan dipanggil ketika Sensor Objek kehilangan sebuah objek.

Sebelum memanggil fungsi anggota objectdetector objectdetector sebuah instance objectdetector objectdetector ini:

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

reflectivity#

Mengembalikan nilai reflektivitas yang diukur oleh Sensor Objek.

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

Parameters

Parameter

Jenis

Keterangan

units

percentUnits

Satuan yang mewakili reflektivitas:

  • percent / pct — persen

Return Values

Mengembalikan nilai int32_t yang mewakili reflektivitas yang diukur oleh Object Detector sebagai persentase dalam rentang 0 - 100%.

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

isObjectDetected#

Mengembalikan nilai yang menunjukkan apakah suatu objek saat ini terdeteksi oleh Pendeteksi Objek.

Available Functions
bool isObjectDetected();

Parameters

Fungsi ini tidak memerlukan parameter apa pun.

Return Values

Mengembalikan nilai Boolean yang menunjukkan apakah suatu objek terdeteksi:

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

setDetectionThreshold#

Mengatur ambang deteksi untuk Detektor Objek ke nilai tertentu.

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

Parameters

Parameter

Jenis

Keterangan

threshold

int32_t

Ambang batas reflektivitas untuk deteksi objek, dalam rentang 0 - 100.

units

percentUnits

Satuan yang mewakili ambang batas baru:

  • percent / pct — persen

Return Values

Fungsi ini tidak mengembalikan nilai.

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

objectDetected#

Mendaftarkan fungsi callback untuk saat sebuah objek terdeteksi.

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

Parameters

Parameter

Jenis

Keterangan

callback

void (*)(void)

Fungsi callback yang akan dipanggil ketika sebuah objek terdeteksi.

Return Values

Fungsi ini tidak mengembalikan nilai.

Examples

Definisikan fungsi callback (di luar int main())

// Display a message when an object is detected.
void detected() {
  Brain.Screen.print("object detected");
}

Daftarkan fungsi callback di dalam int main()

int main() {
  // Run detected when the Object Detector detects an object.
  ObjectSensorA.objectDetected(detected);
}

objectLost#

Mendaftarkan fungsi callback untuk saat sebuah objek hilang.

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

Parameters

Parameter

Jenis

Keterangan

callback

void (*)(void)

Fungsi callback yang akan dipanggil ketika sebuah objek hilang.

Return Values

Fungsi ini tidak mengembalikan nilai.

Examples

Definisikan fungsi callback (di luar int main())

// Display a message when an object is lost.
void lost() {
  Brain.Screen.print("object lost");
}

Daftarkan fungsi callback di dalam int main()

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