เซ็นเซอร์วัตถุ#
การแนะนำ#
คลาส objectdetector objectdetector การสะท้อนแสงและตรวจจับวัตถุโดยใช้เซ็นเซอร์วัตถุ
คอนสตรัคเตอร์คลาส#
objectdetector(
triport::port &port,
bool bReverse = false );
ตัวทำลายคลาส#
ทำลายอ็อบเจ็กต์ objectdetector จำนวน ตัว และปล่อยทรัพยากรที่เกี่ยวข้อง
virtual ~objectdetector();
พารามิเตอร์#
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
พอร์ต 3 สายที่เชื่อมต่อกับเซ็นเซอร์วัตถุ เขียนเป็น |
|
|
ค่าบูลีนเสริมสำหรับกลับทิศทางของเซ็นเซอร์วัตถุ:
|
ตัวอย่าง#
// Create an objectdetector instance in Port A
objectdetector ObjectSensorA = objectdetector(Brain.ThreeWirePort.A, true);
ฟังก์ชันสมาชิก#
คลาส objectdetector ประกอบด้วยฟังก์ชันสมาชิกต่อไปนี้:
reflectivity— ส่งคืนค่าการสะท้อนแสงที่ตรวจพบโดยเซ็นเซอร์วัตถุisObjectDetected— ส่งคืนว่าเซ็นเซอร์วัตถุตรวจพบวัตถุหรือไม่setDetectionThreshold— ตั้งค่าช่วงการตรวจจับของเซ็นเซอร์วัตถุobjectDetected— ลงทะเบียนฟังก์ชันที่จะถูกเรียกเมื่อเซ็นเซอร์วัตถุตรวจพบวัตถุobjectLost— ลงทะเบียนฟังก์ชันที่จะถูกเรียกเมื่อเซ็นเซอร์วัตถุสูญเสียวัตถุ
ก่อนเรียกใช้ฟังก์ชันสมาชิก objectdetector ใดๆ จะต้องสร้างอินสแตนซ์ objectdetector ก่อน ดังแสดงด้านล่าง:
// Create an objectdetector instance in Port A
objectdetector ObjectSensorA = objectdetector(Brain.ThreeWirePort.A, true);
reflectivity#
ส่งคืนค่าการสะท้อนแสงที่วัดได้จากเซ็นเซอร์วัตถุ
Available Functionsint32_t reflectivity(
percentUnits units = percentUnits::pct );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
หน่วยที่ใช้แสดงค่าการสะท้อนแสง:
|
ส่งคืนค่า int32_t ซึ่งแสดงถึงค่าการสะท้อนแสงที่วัดได้จากตัวตรวจจับวัตถุเป็นเปอร์เซ็นต์ในช่วง 0 - 100%
// Display the detected reflectivity on the Brain's screen
int32_t value = ObjectSensorA.reflectivity();
Brain.Screen.print(value);
isObjectDetected#
ส่งคืนค่าว่าขณะนี้ตัวตรวจจับวัตถุตรวจพบวัตถุนั้นอยู่หรือไม่
Available Functionsbool isObjectDetected();
ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ
Return Valuesส่งคืนค่าบูลีนที่ระบุว่าตรวจพบวัตถุหรือไม่:
-
true— An object is detected. -
false— No object is detected.
setDetectionThreshold#
ตั้งค่าเกณฑ์การตรวจจับสำหรับตัวตรวจจับวัตถุเป็นค่าเฉพาะ
Available Functionsvoid setDetectionThreshold(
int32_t threshold,
percentUnits units = percentUnits::pct );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
ค่าความสะท้อนแสงที่ใช้ในการตรวจจับวัตถุ อยู่ในช่วง 0 - 100 |
|
|
หน่วยที่แสดงถึงเกณฑ์ใหม่:
|
ฟังก์ชันนี้ไม่ส่งค่ากลับ
Examples// Set the reflectivity threshold to 50%
ObjectSensorA.setDetectionThreshold(50);
objectDetected#
ลงทะเบียนฟังก์ชันเรียกกลับ (callback function) สำหรับกรณีที่ตรวจพบวัตถุ
Available Functionsvoid objectDetected(void (* callback)(void));
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
ฟังก์ชันเรียกกลับที่จะถูกเรียกเมื่อตรวจพบวัตถุ |
ฟังก์ชันนี้ไม่ส่งค่ากลับ
Examplesกำหนดฟังก์ชันเรียกกลับ (นอก
int main())// Display a message when an object is detected. void detected() { Brain.Screen.print("object detected"); }ลงทะเบียนฟังก์ชันเรียกกลับภายใน
int main()int main() { // Run detected when the Object Detector detects an object. ObjectSensorA.objectDetected(detected); }
objectLost#
ลงทะเบียนฟังก์ชันเรียกกลับสำหรับกรณีที่วัตถุสูญหาย
Available Functionsvoid objectLost(void (* callback)(void));
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
ฟังก์ชันเรียกกลับที่จะถูกเรียกเมื่อวัตถุสูญหาย |
ฟังก์ชันนี้ไม่ส่งค่ากลับ
Examplesกำหนดฟังก์ชันเรียกกลับ (นอก
int main())// Display a message when an object is lost. void lost() { Brain.Screen.print("object lost"); }ลงทะเบียนฟังก์ชันเรียกกลับภายใน
int main()int main() { // Run lost when the Object Detector loses an object. ObjectSensorA.objectLost(lost); }