Cảm biến khoảng cách#
Giới thiệu#
Loại cảm biến sonar được sử dụng với cảm biến khoảng cách VEX IQ (thế hệ 1). Loại cảm biến distance được sử dụng với cảm biến khoảng cách VEX IQ (thế hệ 2).
Cả hai cảm biến khoảng cách đều có thể phát hiện xem có vật thể nào ở phía trước cảm biến hay không và trả về khoảng cách của vật thể đó. Cảm biến khoảng cách VEX IQ (thế hệ thứ 2) cũng có thể trả về vận tốc tương đối của vật thể được phát hiện và ước tính xem vật thể đó nhỏ, trung bình hay lớn.
Hàm tạo lớp#
1 — Hàm tạo này tạo ra một Cảm biến khoảng cách VEX IQ (thế hệ thứ nhất).
sonar( int32_t index);
2 — Hàm tạo này tạo ra một Cảm biến khoảng cách VEX IQ (thế hệ thứ 2).
distance( int32_t index);
Lớp Destructor#
Destroys the distance object and releases associated resources.
1 — Phá hủy cảm biến khoảng cách VEX IQ (thế hệ thứ nhất).
~sonar();
2 — Phá hủy cảm biến khoảng cách VEX IQ (thế hệ thứ 2).
~distance();
Thông số#
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Cổng thông minh mà cảm biến khoảng cách được kết nối, được viết dưới dạng |
Ví dụ#
1 — Tạo một thể hiện Cảm biến khoảng cách VEX IQ (thế hệ 1) trong Cổng 1.
sonar Distance1 = sonar(PORT1);
2 — Tạo một thể hiện Cảm biến khoảng cách VEX IQ (thế hệ thứ 2) trong Cổng 1.
distance Distance1 = distance(PORT1);
Chức năng thành viên#
Lớp sonar bao gồm các hàm thành viên sau:
foundObject— Trả về liệu Cảm biến khoảng cách hiện có phát hiện vật thể hay không.distance— Trả về khoảng cách giữa Cảm biến khoảng cách và vật thể được phát hiện gần nhất.
Lớp distance bao gồm các hàm thành viên sau:
objectDistance— Trả về khoảng cách giữa Cảm biến khoảng cách và vật thể được phát hiện gần nhất.objectVelocity— Trả về tốc độ di chuyển của vật thể được phát hiện về phía hoặc ra xa Cảm biến Khoảng cách.objectSize— Trả về kích thước ước tính của đối tượng được phát hiện.isObjectDetected— Trả về liệu Cảm biến khoảng cách hiện có phát hiện vật thể hay không.changed— Đăng ký một hàm gọi lại chạy khi giá trị khoảng cách được phát hiện thay đổi.installed— Trả về trạng thái Cảm biến khoảng cách đã được cài đặt và kết nối hay chưa.
Trước khi gọi bất kỳ hàm thành viên nào của sonar hoặc distance hoặc , cần phải tạo một thể hiện sonar hoặc distance hoặc , như được hiển thị bên dưới:
/* This constructor is required when using VS Code.
Distance Sensor configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */
// Create a VEX IQ Distance Sensor (2nd gen) instance in Port 1
distance Distance1 = distance(PORT1);
foundObject#
Trả về trạng thái cho biết cảm biến khoảng cách hiện có phát hiện vật thể hay không.
Available Functionsbool foundObject();
Hàm này không nhận tham số nào.
Return ValuesTrả về giá trị Boolean cho biết cảm biến khoảng cách có phát hiện vật thể hay không:
-
true— The Distance Sensor detects an object. -
false— The Distance Sensor does not detect an object.
distance#
Trả về khoảng cách giữa cảm biến khoảng cách và vật thể được phát hiện gần nhất.
Available Functionsdouble distance( distanceUnits units );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Đơn vị đo khoảng cách:
|
Hàm trả về giá trị double biểu thị khoảng cách giữa Cảm biến khoảng cách và vật thể được phát hiện gần nhất theo đơn vị đã chỉ định.
objectDistance#
Trả về khoảng cách giữa cảm biến khoảng cách và vật thể được phát hiện gần nhất.
Available Functionsdouble objectDistance( distanceUnits units );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Đơn vị đo khoảng cách:
|
Hàm trả về giá trị double biểu thị khoảng cách giữa Cảm biến khoảng cách và vật thể được phát hiện gần nhất theo đơn vị đã chỉ định.
objectVelocity#
Trả về vận tốc tương đối của vật thể được phát hiện.
Vận tốc thể hiện tốc độ vật thể di chuyển về phía hoặc ra xa cảm biến khoảng cách. Giá trị gần bằng 0 có nghĩa là vật thể không di chuyển nhiều so với cảm biến.
Available Functionsdouble objectVelocity();
Hàm này không nhận tham số nào.
Return ValuesTrả về giá trị double , biểu thị vận tốc tương đối của vật thể được phát hiện tính bằng m/s (mét trên giây).
objectSize#
Trả về kích thước ước tính của vật thể được cảm biến khoảng cách phát hiện.
Cảm biến khoảng cách ước tính kích thước vật thể dựa trên mức độ vật thể được phát hiện chiếm bao nhiêu phần trăm tầm nhìn của cảm biến.
Available FunctionssizeType objectSize();
Hàm này không nhận tham số nào.
Return ValuesTrả về giá trị sizeType , cho biết kích thước ước tính của đối tượng được phát hiện:
-
none— No object is detected. -
small— A small object is detected. -
medium— A medium object is detected. -
large— A large object is detected.
isObjectDetected#
Trả về trạng thái cho biết cảm biến khoảng cách hiện có phát hiện vật thể 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 cảm biến khoảng cách có phát hiện vật thể hay không:
-
true— The Distance Sensor detects an object. -
false— The Distance Sensor does not detect an object.
changed#
Đăng ký một hàm gọi lại sẽ chạy khi giá trị khoảng cách được phát hiện thay đổi.
Available Functionsvoid changed( void (* callback)(void) );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Con trỏ đến một hàm sẽ được gọi khi giá trị khoảng cách được phát hiện thay đổi. Hàm này không được nhận tham số nào và trả về |
Hàm này không trả về giá trị nào.
Notes - This is a VEX IQ Distance Sensor (1st gen) or (2nd gen) function.installed#
Trả về trạng thái cho biết cảm biến khoảng cách đã được cài đặt và kết nối hay chưa.
Available Functionsbool installed();
Hàm này không nhận tham số nào.
Return ValuesTrả về giá trị Boolean cho biết cảm biến khoảng cách đã được cài đặt và kết nối hay chưa:
-
true— The Distance Sensor is installed and connected. -
false— The Distance Sensor is not installed or not connected.