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

การแนะนำ#

โซนาร์คลาส 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();

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

พารามิเตอร์

พิมพ์

คำอธิบาย

index

int32_t

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

ตัวอย่าง#

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 Functions
bool foundObject();

Parameters

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

Return Values

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

  • true — The Distance Sensor detects an object.
  • false — The Distance Sensor does not detect an object.
Notes - This is a VEX IQ Distance Sensor (1st gen) function.

distance#

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

Available Functions
double distance( distanceUnits units );

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

units

distanceUnits

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

  • mm — มิลลิเมตร (24 มม. ถึง 1000 มม.)
  • cm — เซนติเมตร (2.4 ซม. ถึง 100 ซม.)
  • inches — นิ้ว (1 นิ้ว ถึง 40 นิ้ว)

Return Values

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

Notes - This is a VEX IQ Distance Sensor (1st gen) function.

objectDistance#

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

Available Functions
double objectDistance( distanceUnits units );

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

units

distanceUnits

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

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

Return Values

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

Notes - This is a VEX IQ Distance Sensor (2nd gen) function.

objectVelocity#

ส่งคืนค่าความเร็วสัมพัทธ์ของวัตถุที่ตรวจพบ

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

Available Functions
double objectVelocity();

Parameters

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

Return Values

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

Notes - This is a VEX IQ Distance Sensor (2nd gen) function.

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.
Notes - This is a VEX IQ Distance Sensor (2nd gen) function.

isObjectDetected#

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

Available Functions
bool isObjectDetected();

Parameters

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

Return Values

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

  • true — The Distance Sensor detects an object.
  • false — The Distance Sensor does not detect an object.
Notes - This is a VEX IQ Distance Sensor (2nd gen) function.

changed#

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

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

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

callback

void (*)(void)

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

Return Values

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

Notes - This is a VEX IQ Distance Sensor (1st gen) or (2nd gen) function.

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.
Notes - This is a VEX IQ Distance Sensor (1st gen) or (2nd gen) function.