เซ็นเซอร์วัดระยะทาง#
การแนะนำ#
คลาสระยะทาง distance ใช้สำหรับควบคุมและเข้าถึงข้อมูลจากเซ็นเซอร์ระยะทาง
เซ็นเซอร์วัดระยะทาง สามารถตรวจจับได้ว่ามีวัตถุอยู่ด้านหน้าเซ็นเซอร์หรือไม่ และบอกระยะห่างของวัตถุนั้น นอกจากนี้ยังสามารถบอกความเร็วสัมพัทธ์ของวัตถุที่ตรวจพบ และประเมินได้ว่าวัตถุนั้นมีขนาดเล็ก กลาง หรือใหญ่
เซ็นเซอร์วัดระยะทางทำงานในช่วง 20 มม. ถึง 2000 มม.
สำหรับระยะต่ำกว่า 200 มม. ความแม่นยำจะอยู่ที่ประมาณ ±15 มม. สำหรับระยะสูงกว่า 200 มม. ความแม่นยำจะดีขึ้นเป็นประมาณ 5%
เซ็นเซอร์วัดระยะทางใช้เลเซอร์คลาส 1 การตรวจจับจะมุ่งตรงไปข้างหน้าและปลอดภัยสำหรับใช้ในห้องเรียน
ตัวสร้างคลาส#
distance( int32_t index );
ตัวทำลายคลาส#
ทำลายวัตถุระยะ distance และปล่อยทรัพยากรที่เกี่ยวข้อง
~distance();
พารามิเตอร์#
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
พอร์ตอัจฉริยะที่เชื่อมต่อกับเซ็นเซอร์วัดระยะทาง จะเขียนในรูปแบบ |
ตัวอย่าง#
// Create a Distance Sensor instance in Port 1
distance Distance1 = distance(PORT1);
ฟังก์ชันสมาชิก#
คลาส distance ประกอบด้วยฟังก์ชันสมาชิกต่อไปนี้:
objectDistance— ส่งคืนระยะห่างระหว่างเซ็นเซอร์ระยะทางและวัตถุที่ตรวจพบที่ใกล้ที่สุดobjectSize— ส่งคืนขนาดโดยประมาณของวัตถุที่ตรวจพบobjectVelocity— ส่งคืนความเร็วที่วัตถุที่ตรวจพบเคลื่อนที่เข้าหาหรือออกจากเซ็นเซอร์ระยะทางisObjectDetected— ส่งคืนว่าเซ็นเซอร์ระยะทางกำลังตรวจจับวัตถุอยู่หรือไม่changed— ลงทะเบียนฟังก์ชันเรียกกลับที่จะทำงานเมื่อค่าระยะทางที่ตรวจพบเปลี่ยนแปลงinstalled— ส่งคืนว่าเซ็นเซอร์ระยะทางได้รับการติดตั้งและเชื่อมต่อหรือไม่
ก่อนเรียกใช้ฟังก์ชันสมาชิกที่มีระยะห่าง distance ใดๆ จะต้องสร้างอินสแตนซ์ที่มีระยะห่าง distance ก่อน ดังแสดงด้านล่าง:
/* 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 Distance Sensor instance in Port 1
distance Distance1 = distance(PORT1);
objectDistance#
ส่งคืนระยะห่างระหว่างเซ็นเซอร์วัดระยะทางและวัตถุที่ตรวจพบใกล้ที่สุด
Available Functionsdouble objectDistance( distanceUnits units );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
หน่วยวัดระยะทาง:
|
ส่งคืนค่า double ซึ่งแสดงถึงระยะห่างระหว่างเซ็นเซอร์วัดระยะทางกับวัตถุที่ตรวจพบใกล้ที่สุดในหน่วยที่ระบุ
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.
objectVelocity#
ส่งคืนค่าความเร็วสัมพัทธ์ของวัตถุที่ตรวจพบ
ความเร็วแสดงให้เห็นว่าวัตถุกำลังเคลื่อนที่เข้าหาหรือออกห่างจากเซ็นเซอร์วัดระยะทางเร็วแค่ไหน ค่าที่ใกล้เคียง 0 หมายความว่าวัตถุเคลื่อนที่น้อยมากเมื่อเทียบกับเซ็นเซอร์
Available Functionsdouble objectVelocity();
ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ
Return Valuesส่งคืนค่า double ซึ่งแสดงถึงความเร็วสัมพัทธ์ของวัตถุที่ตรวจพบในหน่วยเมตรต่อวินาที (m/s)
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) );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
ตัวชี้ไปยังฟังก์ชันที่จะถูกเรียกเมื่อค่าระยะทางที่ตรวจพบเปลี่ยนแปลง ฟังก์ชันนี้ต้องไม่มีพารามิเตอร์และส่งคืนค่า |
ฟังก์ชันนี้ไม่ส่งค่ากลับ
installed#
ตรวจสอบว่าได้ติดตั้งและเชื่อมต่อเซ็นเซอร์วัดระยะทางแล้วหรือไม่
Available Functionsbool installed();
ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ
Return Valuesส่งคืนค่าบูลีนที่ระบุว่าเซ็นเซอร์วัดระยะทางได้รับการติดตั้งและเชื่อมต่อแล้วหรือไม่:
-
true— The Distance Sensor is installed and connected. -
false— The Distance Sensor is not installed or not connected.