เซ็นเซอร์วัดระยะทาง#

การแนะนำ#

คลาสระยะทาง distance ใช้สำหรับควบคุมและเข้าถึงข้อมูลจากเซ็นเซอร์ระยะทาง

เซ็นเซอร์วัดระยะทาง สามารถตรวจจับได้ว่ามีวัตถุอยู่ด้านหน้าเซ็นเซอร์หรือไม่ และบอกระยะห่างของวัตถุนั้น นอกจากนี้ยังสามารถบอกความเร็วสัมพัทธ์ของวัตถุที่ตรวจพบ และประเมินได้ว่าวัตถุนั้นมีขนาดเล็ก กลาง หรือใหญ่

เซ็นเซอร์วัดระยะทางทำงานในช่วง 20 มม. ถึง 2000 มม.

สำหรับระยะต่ำกว่า 200 มม. ความแม่นยำจะอยู่ที่ประมาณ ±15 มม. สำหรับระยะสูงกว่า 200 มม. ความแม่นยำจะดีขึ้นเป็นประมาณ 5%

เซ็นเซอร์วัดระยะทางใช้เลเซอร์คลาส 1 การตรวจจับจะมุ่งตรงไปข้างหน้าและปลอดภัยสำหรับใช้ในห้องเรียน

ตัวสร้างคลาส#

distance( int32_t  index );

ตัวทำลายคลาส#

ทำลายวัตถุระยะ distance และปล่อยทรัพยากรที่เกี่ยวข้อง

~distance();

พารามิเตอร์#

พารามิเตอร์

พิมพ์

คำอธิบาย

index

int32_t

พอร์ตอัจฉริยะที่เชื่อมต่อกับเซ็นเซอร์วัดระยะทาง จะเขียนในรูปแบบ PORTxโดยที่ x คือหมายเลขพอร์ต (ตัวอย่างเช่น PORT1)

ตัวอย่าง#

// 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 Functions
double objectDistance( distanceUnits units );

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

units

distanceUnits

หน่วยวัดระยะทาง:

  • mm - มิลลิเมตร (20 มม. ถึง 2000 มม.)
  • cm - เซนติเมตร (2 ซม. ถึง 200 ซม.)
  • inches - นิ้ว (0.78 นิ้ว ถึง 78.74 นิ้ว)

Return Values

ส่งคืนค่า double ซึ่งแสดงถึงระยะห่างระหว่างเซ็นเซอร์วัดระยะทางกับวัตถุที่ตรวจพบใกล้ที่สุดในหน่วยที่ระบุ

objectSize#

ส่งคืนขนาดโดยประมาณของวัตถุที่ตรวจพบโดยเซ็นเซอร์วัดระยะทาง

เซ็นเซอร์วัดระยะทางจะประเมินขนาดของวัตถุโดยพิจารณาจากสัดส่วนของพื้นที่ที่เซ็นเซอร์มองเห็นซึ่งถูกวัตถุนั้นครอบครองอยู่

Available Functions
sizeType objectSize();

Parameters

ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ

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 Functions
double objectVelocity();

Parameters

ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ

Return Values

ส่งคืนค่า double ซึ่งแสดงถึงความเร็วสัมพัทธ์ของวัตถุที่ตรวจพบในหน่วยเมตรต่อวินาที (m/s)

isObjectDetected#

ส่งคืนค่าว่าเซ็นเซอร์วัดระยะทางกำลังตรวจจับวัตถุอยู่หรือไม่

Available Functions
bool isObjectDetected();

Parameters

ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ

Return Values

ส่งคืนค่าบูลีนที่ระบุว่าเซ็นเซอร์วัดระยะทางตรวจพบวัตถุหรือไม่:

  • true — The Distance Sensor detects an object.
  • false — The Distance Sensor does not detect an object.

changed#

ลงทะเบียนฟังก์ชันเรียกกลับที่จะทำงานเมื่อค่าระยะทางที่ตรวจพบเปลี่ยนแปลง

Available Functions
void changed( void (* callback)(void) );

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

callback

void (*)(void)

ตัวชี้ไปยังฟังก์ชันที่จะถูกเรียกเมื่อค่าระยะทางที่ตรวจพบเปลี่ยนแปลง ฟังก์ชันนี้ต้องไม่มีพารามิเตอร์และส่งคืนค่า void.

Return Values

ฟังก์ชันนี้ไม่ส่งค่ากลับ

installed#

ตรวจสอบว่าได้ติดตั้งและเชื่อมต่อเซ็นเซอร์วัดระยะทางแล้วหรือไม่

Available Functions
bool installed();

Parameters

ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ

Return Values

ส่งคืนค่าบูลีนที่ระบุว่าเซ็นเซอร์วัดระยะทางได้รับการติดตั้งและเชื่อมต่อแล้วหรือไม่:

  • true — The Distance Sensor is installed and connected.
  • false — The Distance Sensor is not installed or not connected.