เซ็นเซอร์วัดระยะทาง#
การแนะนำ#
โซนาร์คลาส sonar ใช้กับเซ็นเซอร์วัดระยะ VEX IQ (รุ่นที่ 1) โซนาร์คลาส distance กับเซ็นเซอร์วัดระยะ VEX IQ (รุ่นที่ 2)
เซ็นเซอร์วัดระยะทางทั้งสองแบบสามารถตรวจจับได้ว่ามีวัตถุอยู่ด้านหน้าเซ็นเซอร์หรือไม่ และบอกระยะห่างของวัตถุนั้นได้ เซ็นเซอร์วัดระยะทาง VEX IQ (รุ่นที่ 2) ยังสามารถบอกความเร็วสัมพัทธ์ของวัตถุที่ตรวจพบ และประเมินได้ว่าวัตถุนั้นมีขนาดเล็ก กลาง หรือใหญ่
ตัวสร้างคลาส#
1 — คอนสตรัคเตอร์นี้สร้างเซ็นเซอร์วัดระยะทาง VEX IQ (รุ่นที่ 1)
sonar( int32_t index);
2 — ตัวสร้างนี้สร้างเซ็นเซอร์วัดระยะทาง VEX IQ (รุ่นที่ 2)
distance( int32_t index);
ตัวทำลายคลาส#
ทำลายวัตถุระยะ distance และปล่อยทรัพยากรที่เกี่ยวข้อง
1 — ทำลายเซ็นเซอร์วัดระยะทาง VEX IQ (รุ่นที่ 1)
~sonar();
2 — ทำลายเซ็นเซอร์วัดระยะทาง VEX IQ (รุ่นที่ 2)
~distance();
พารามิเตอร์#
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
พอร์ตอัจฉริยะที่เชื่อมต่อกับเซ็นเซอร์วัดระยะทาง จะเขียนในรูปแบบ |
ตัวอย่าง#
1 — สร้างอินสแตนซ์ VEX IQ Distance Sensor (รุ่นที่ 1) ในพอร์ต 1
sonar Distance1 = sonar(PORT1);
2 — สร้างอินสแตนซ์ VEX IQ Distance Sensor (รุ่นที่ 2) ในพอร์ต 1
distance Distance1 = distance(PORT1);
ฟังก์ชันสมาชิก#
คลาส sonar ประกอบด้วยฟังก์ชันสมาชิกต่อไปนี้:
foundObject— ส่งคืนว่าเซ็นเซอร์ระยะทางตรวจพบวัตถุอยู่ในขณะนี้หรือไม่distance— ส่งคืนระยะทางระหว่างเซ็นเซอร์ระยะทางและวัตถุที่ตรวจพบที่ใกล้ที่สุด
คลาส distance ประกอบด้วยฟังก์ชันสมาชิกต่อไปนี้:
objectDistance— ส่งคืนระยะห่างระหว่างเซ็นเซอร์ระยะทางและวัตถุที่ตรวจพบที่ใกล้ที่สุดobjectVelocity— ส่งคืนความเร็วที่วัตถุที่ตรวจพบเคลื่อนที่เข้าหาหรือออกจากเซ็นเซอร์ระยะทางobjectSize— ส่งคืนขนาดโดยประมาณของวัตถุที่ตรวจพบisObjectDetected— ส่งคืนว่าเซ็นเซอร์ระยะทางกำลังตรวจจับวัตถุอยู่หรือไม่changed— ลงทะเบียนฟังก์ชันเรียกกลับที่จะทำงานเมื่อค่าระยะทางที่ตรวจพบเปลี่ยนแปลงinstalled— ส่งคืนว่าเซ็นเซอร์ระยะทางได้รับการติดตั้งและเชื่อมต่อหรือไม่
ก่อนเรียกใช้ฟังก์ชันสมาชิก distance หรือ sonar ใดๆ จะต้องสร้างอินสแตนซ์ distance หรือ sonar ก่อน ดังแสดงด้านล่าง:
/* 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#
ส่งคืนค่าว่าเซ็นเซอร์วัดระยะทางกำลังตรวจจับวัตถุอยู่หรือไม่
Available Functionsbool foundObject();
ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ
Return Valuesส่งคืนค่าบูลีนที่ระบุว่าเซ็นเซอร์วัดระยะทางตรวจพบวัตถุหรือไม่:
-
true— The Distance Sensor detects an object. -
false— The Distance Sensor does not detect an object.
distance#
ส่งคืนระยะห่างระหว่างเซ็นเซอร์วัดระยะทางและวัตถุที่ตรวจพบใกล้ที่สุด
Available Functionsdouble distance( distanceUnits units );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
หน่วยวัดระยะทาง:
|
ส่งคืนค่า double ซึ่งแสดงถึงระยะห่างระหว่างเซ็นเซอร์วัดระยะทางกับวัตถุที่ตรวจพบใกล้ที่สุดในหน่วยที่ระบุ
objectDistance#
ส่งคืนระยะห่างระหว่างเซ็นเซอร์วัดระยะทางและวัตถุที่ตรวจพบใกล้ที่สุด
Available Functionsdouble objectDistance( distanceUnits units );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
หน่วยวัดระยะทาง:
|
ส่งคืนค่า double ซึ่งแสดงถึงระยะห่างระหว่างเซ็นเซอร์วัดระยะทางกับวัตถุที่ตรวจพบใกล้ที่สุดในหน่วยที่ระบุ
objectVelocity#
ส่งคืนค่าความเร็วสัมพัทธ์ของวัตถุที่ตรวจพบ
ความเร็วแสดงให้เห็นว่าวัตถุกำลังเคลื่อนที่เข้าหาหรือออกห่างจากเซ็นเซอร์วัดระยะทางเร็วแค่ไหน ค่าที่ใกล้เคียง 0 หมายความว่าวัตถุเคลื่อนที่น้อยมากเมื่อเทียบกับเซ็นเซอร์
Available Functionsdouble objectVelocity();
ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ
Return Valuesส่งคืนค่า double ซึ่งแสดงถึงความเร็วสัมพัทธ์ของวัตถุที่ตรวจพบในหน่วยเมตรต่อวินาที (m/s)
objectSize#
ส่งคืนขนาดโดยประมาณของวัตถุที่ตรวจพบโดยเซ็นเซอร์วัดระยะทาง
เซ็นเซอร์วัดระยะทางจะประเมินขนาดของวัตถุโดยพิจารณาจากสัดส่วนของพื้นที่ที่เซ็นเซอร์มองเห็นซึ่งถูกวัตถุนั้นครอบครองอยู่
Available FunctionssizeType objectSize();
ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ
Return Valuesส่งคืนค่า sizeType sizeType ตรวจพบ:
-
none— No object is detected. -
small— A small object is detected. -
medium— A medium object is detected. -
large— A large object is detected.
isObjectDetected#
ส่งคืนค่าว่าเซ็นเซอร์วัดระยะทางกำลังตรวจจับวัตถุอยู่หรือไม่
Available Functionsbool isObjectDetected();
ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ
Return Valuesส่งคืนค่าบูลีนที่ระบุว่าเซ็นเซอร์วัดระยะทางตรวจพบวัตถุหรือไม่:
-
true— The Distance Sensor detects an object. -
false— The Distance Sensor does not detect an object.
changed#
ลงทะเบียนฟังก์ชันเรียกกลับที่จะทำงานเมื่อค่าระยะทางที่ตรวจพบเปลี่ยนแปลง
Available Functionsvoid changed( void (* callback)(void) );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
ตัวชี้ไปยังฟังก์ชันที่จะถูกเรียกเมื่อค่าระยะทางที่ตรวจพบเปลี่ยนแปลง ฟังก์ชันนี้ต้องไม่มีพารามิเตอร์และส่งคืนค่า |
ฟังก์ชันนี้ไม่ส่งค่ากลับ
Notes - This is a VEX IQ Distance Sensor (1st gen) or (2nd gen) function.installed#
ตรวจสอบว่าได้ติดตั้งและเชื่อมต่อเซ็นเซอร์วัดระยะทางแล้วหรือไม่
Available Functionsbool installed();
ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ
Return Valuesส่งคืนค่าบูลีนที่ระบุว่าเซ็นเซอร์วัดระยะทางได้รับการติดตั้งและเชื่อมต่อแล้วหรือไม่:
-
true— The Distance Sensor is installed and connected. -
false— The Distance Sensor is not installed or not connected.