เซ็นเซอร์วัตถุ#
การแนะนำ#
เซ็นเซอร์ตรวจจับวัตถุ เป็นเซ็นเซอร์ตรวจจับระยะใกล้แบบอินฟราเรด (IR) ที่ตรวจจับเมื่อมีวัตถุอยู่ใกล้โดยใช้แสงอินฟราเรดสะท้อน

หน้านี้ใช้ object_sensor เป็นตัวอย่างชื่อ Object Sensor โปรดแทนที่ด้วยชื่อที่คุณกำหนดเองตามต้องการ
ด้านล่างนี้คือรายการวิธีการที่มีให้เลือกใช้:
reflectivity– ส่งคืนintegerที่แสดงปริมาณแสงที่สะท้อนจากวัตถุเป็นเปอร์เซ็นต์is_object_detected– ส่งคืนว่าเซ็นเซอร์วัตถุตรวจพบวัตถุหรือไม่set_threshold– กำหนดปริมาณแสงสะท้อนที่จำเป็นก่อนที่จะถือว่าตรวจพบวัตถุobject_detected– ลงทะเบียนฟังก์ชันที่จะถูกเรียกเมื่อใดก็ตามที่เซ็นเซอร์วัตถุตรวจพบวัตถุใหม่object_lost– ลงทะเบียนฟังก์ชันที่จะถูกเรียกเมื่อใดก็ตามที่เซ็นเซอร์วัตถุสูญเสียวัตถุที่ตรวจพบchanged– ลงทะเบียนฟังก์ชันที่จะถูกเรียกเมื่อใดก็ตามที่ค่าของเซ็นเซอร์วัตถุเปลี่ยนแปลง
ตัวสร้าง – กำหนดค่าเริ่มต้นให้กับเซ็นเซอร์วัตถุด้วยตนเอง
ObjectDetector– สร้างเซ็นเซอร์วัตถุ
การสะท้อนแสง#
reflectivity ส่งคืน integer ที่แสดงปริมาณแสงที่สะท้อนจากวัตถุเป็นเปอร์เซ็นต์
บันทึก:
ค่าการสะท้อนแสง 0% หมายความว่าวัตถุนั้นมืดมาก เซ็นเซอร์จะตรวจจับค่าดิบได้ตั้งแต่ 3000 ขึ้นไป
ค่าการสะท้อนแสง 100% หมายความว่าวัตถุนั้นสว่างมาก เซ็นเซอร์จึงมองเห็นค่าดิบเป็น 0
Usage:
object_sensor.reflectivity()
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เมธอดนี้ไม่มีพารามิเตอร์ |
# Drive forward when the reflectivity is greater than 50%.
while True:
if object_sensor.reflectivity() > 50:
drivetrain.drive(FORWARD)
else:
drivetrain.stop()
wait(5, MSEC)
ตรวจพบวัตถุ#
is_object_detected จะส่งคืนค่าว่าเซ็นเซอร์ตรวจจับวัตถุตรวจพบวัตถุหรือไม่
True– เซ็นเซอร์ตรวจจับวัตถุตรวจพบวัตถุFalse– เซ็นเซอร์ตรวจจับวัตถุไม่พบวัตถุใดๆ
Usage:
object_sensor.is_object_detected()
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เมธอดนี้ไม่มีพารามิเตอร์ |
# Drive forward when the object sensor is detecting an object.
while True:
if object_sensor.is_object_detected():
drivetrain.drive(FORWARD)
else:
drivetrain.stop()
wait(5, MSEC)
ตั้งค่าเกณฑ์#
set_threshold กำหนดปริมาณแสงสะท้อนที่ต้องการเป็นเปอร์เซ็นต์ก่อนที่จะถือว่าตรวจพบวัตถุ
Usage:
object_sensor.set_threshold(value)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
ปริมาณแสงสะท้อนที่จำเป็นต่อการพิจารณาว่าตรวจพบวัตถุนั้นเป็นจำนวนเต็ม ตั้งแต่ 0 ถึง 100 |
# Set the reflectivity threshold to 50%.
object_sensor.set_threshold(50)
# Drive forward when the object sensor is detecting an object.
while True:
if object_sensor.is_object_detected():
drivetrain.drive(FORWARD)
else:
drivetrain.stop()
wait(5, MSEC)
ตรวจพบวัตถุ#
object_detected ลงทะเบียนฟังก์ชันที่จะถูกเรียกใช้เมื่อใดก็ตามที่เซ็นเซอร์ตรวจจับวัตถุตรวจพบวัตถุใหม่
Usage:
object_sensor.object_detected(callback, arg)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
A previously defined function that executes when the Object Sensor detects a new object. |
|
ไม่บังคับ ทูเปิล |
def my_function():
brain.screen.print("Object detected.")
# Call my_function whenever object_sensor detects an object
object_sensor.object_detected(my_function)
วัตถุหายไป#
object_lost ลงทะเบียนฟังก์ชันที่จะถูกเรียกเมื่อใดก็ตามที่เซ็นเซอร์ตรวจจับวัตถุไม่สามารถตรวจจับวัตถุได้อีกต่อไป
Usage:
object_sensor.object_lost(callback, arg)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
A previously defined function that executes when the Object Sensor loses a detected object. |
|
ไม่บังคับ ทูเปิล |
def my_function():
brain.screen.print("Object lost.")
# Call my_function whenever object_sensor loses an object
object_sensor.object_lost(my_function)
เปลี่ยน#
changed ลงทะเบียนฟังก์ชันที่จะถูกเรียกใช้ทุกครั้งที่ค่าของเซ็นเซอร์วัตถุเปลี่ยนแปลง
Usage:
object_sensor.changed(callback, arg)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
A previously defined function that executes when the Object Sensor’s value changes. |
|
ไม่บังคับ ทูเปิล |
def my_function():
brain.screen.print("Reflectivity changed.")
# Call my_function whenever object_sensor's value changes
object_sensor.changed(my_function)
ผู้สร้าง#
ตัวสร้างใช้สำหรับสร้างวัตถุ ObjectDetector จำนวน ชิ้นด้วยตนเอง ซึ่งจำเป็นสำหรับการกำหนดค่าเซ็นเซอร์วัตถุ
ObjectDetector#
ObjectDetector สร้างเซ็นเซอร์ตรวจจับวัตถุ
Usage:
ObjectDetector(port, reverse_det)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
พอร์ต 3 สายที่เซ็นเซอร์วัตถุเชื่อมต่ออยู่:
|
|
ตัวเลือกเสริม ว่าจะกลับตรรกะการตรวจจับหรือไม่:
|
# Create an Object Sensor in Port A
object_sensor = ObjectDetector(brain.three_wire_port.a)