Cảm biến vật thể#
Giới thiệu#
Lớp objectdetector được sử dụng để đo độ phản xạ và phát hiện vật thể bằng ánh sáng hồng ngoại (IR) của Cảm biến Vật thể.
Hàm tạo lớp#
objectdetector(
triport::port &port,
bool bReverse = false );
Lớp Destructor#
Hủy đối tượng objectdetector và giải phóng các tài nguyên liên quan.
virtual ~objectdetector();
Thông số#
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Cổng 3 dây mà Cảm biến vật thể được kết nối, được viết là |
|
|
Một biến boolean tùy chọn để đảo chiều cảm biến vật thể:
|
Ví dụ#
// Create an objectdetector instance in Port A
objectdetector ObjectSensorA = objectdetector(Brain.ThreeWirePort.A, true);
Chức năng thành viên#
Lớp objectdetector bao gồm các hàm thành viên sau:
reflectivity— Trả về độ phản xạ được phát hiện bởi Cảm biến Đối tượng.isObjectDetected— Trả về liệu Cảm biến Đối tượng có phát hiện đối tượng hay không.setDetectionThreshold— Đặt phạm vi phát hiện của Cảm biến Đối tượng.objectDetected— Đăng ký một hàm sẽ được gọi khi Cảm biến Đối tượng phát hiện một đối tượng.objectLost— Đăng ký một hàm sẽ được gọi khi Cảm biến Đối tượng mất một đối tượng.
Trước khi gọi bất kỳ hàm thành viên objectdetector , cần phải tạo một thể hiện objectdetector objectdetector hiển thị bên dưới:
// Create an objectdetector instance in Port A
objectdetector ObjectSensorA = objectdetector(Brain.ThreeWirePort.A, true);
reflectivity#
Trả về giá trị độ phản xạ được đo bởi Cảm biến vật thể.
Available Functionsint32_t reflectivity(
percentUnits units = percentUnits::pct );
Thông số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Đơn vị biểu thị độ phản xạ:
|
Trả về một giá trị int32_t biểu thị độ phản xạ được đo bởi Bộ dò vật thể dưới dạng phần trăm trong khoảng 0 - 100%.
// Display the detected reflectivity on the Brain's screen
int32_t value = ObjectSensorA.reflectivity();
Brain.Screen.print(value);
isObjectDetected#
Trả về trạng thái cho biết liệu có đối tượng nào hiện đang được phát hiện bởi Bộ phát hiện đối tượng hay không.
Available Functionsbool isObjectDetected();
Hàm này không nhận tham số nào.
Return ValuesTrả về giá trị Boolean cho biết liệu có phát hiện thấy đối tượng hay không:
-
true— An object is detected. -
false— No object is detected.
setDetectionThreshold#
Thiết lập ngưỡng phát hiện cho Bộ phát hiện đối tượng thành một giá trị cụ thể.
Available Functionsvoid setDetectionThreshold(
int32_t threshold,
percentUnits units = percentUnits::pct );
Thông số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Ngưỡng phản xạ để phát hiện vật thể, trong khoảng 0 - 100. |
|
|
Đơn vị biểu thị ngưỡng mới:
|
Hàm này không trả về giá trị nào.
Examples// Set the reflectivity threshold to 50%
ObjectSensorA.setDetectionThreshold(50);
objectDetected#
Đăng ký một hàm gọi lại khi phát hiện thấy một đối tượng.
Available Functionsvoid objectDetected(void (* callback)(void));
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Hàm gọi lại sẽ được thực thi khi phát hiện thấy một đối tượng. |
Hàm này không trả về giá trị nào.
Examplesvoid detected() {
Brain.Screen.print("object detected");
}
// Run detected when the Object Detector detects an object
ObjectSensorA.objectDetected(detected);
objectLost#
Đăng ký một hàm gọi lại khi một đối tượng bị mất.
Available Functionsvoid objectLost(void (* callback)(void));
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Hàm gọi lại sẽ được thực thi khi một đối tượng bị mất. |
Hàm này không trả về giá trị nào.
Examplesvoid lost() {
Brain.Screen.print("object lost");
}
// Run lost when the Object Detector loses an object
ObjectSensorA.objectLost(lost);