เซ็นเซอร์วัตถุ#
การแนะนำ#
คลาส objectdetector objectdetector การสะท้อนแสงและตรวจจับวัตถุด้วยแสงอินฟราเรด (IR) ของเซ็นเซอร์วัตถุ
คอนสตรัคเตอร์คลาส#
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));
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
ฟังก์ชันเรียกกลับที่จะถูกเรียกเมื่อตรวจพบวัตถุ |
ฟังก์ชันนี้ไม่ส่งค่ากลับ
Examplesvoid detected() {
Brain.Screen.print("object detected");
}
// Run detected when the Object Detector detects an object
ObjectSensorA.objectDetected(detected);
objectLost#
ลงทะเบียนฟังก์ชันเรียกกลับสำหรับกรณีที่วัตถุสูญหาย
Available Functionsvoid objectLost(void (* callback)(void));
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
ฟังก์ชันเรียกกลับที่จะถูกเรียกเมื่อวัตถุสูญหาย |
ฟังก์ชันนี้ไม่ส่งค่ากลับ
Examplesvoid lost() {
Brain.Screen.print("object lost");
}
// Run lost when the Object Detector loses an object
ObjectSensorA.objectLost(lost);