เซ็นเซอร์แสง#
การแนะนำ#
เซ็นเซอร์ออปติคอล V5 ตรวจจับสี ความสว่าง และการมีอยู่ของวัตถุที่อยู่ใกล้เคียง โดยใช้เซ็นเซอร์สี RGB และเซ็นเซอร์ตรวจจับระยะใกล้ร่วมกัน นอกจากนี้ยังสามารถใช้ไฟ LED ในตัวเพื่อส่องสว่างวัตถุสำหรับการตรวจจับที่แม่นยำยิ่งขึ้น

หน้านี้ใช้ optical_sensor เป็นตัวอย่างชื่อเซ็นเซอร์แสง โปรดแทนที่ด้วยชื่อที่คุณกำหนดเองตามต้องการ
ด้านล่างนี้คือรายการวิธีการที่มีให้เลือกใช้:
set_light– เปิดหรือปิดไฟ LED ของเซ็นเซอร์แสงset_light_power– ตั้งค่าระดับพลังงานแสงของเซ็นเซอร์แสงis_near_object– ส่งคืนว่าเซ็นเซอร์แสงตรวจพบวัตถุที่อยู่ในระยะหรือไม่color– ส่งคืนสีที่ตรวจพบโดยเซ็นเซอร์แสงbrightness– ส่งคืนปริมาณแสงที่สะท้อนจากวัตถุhue– ส่งคืนค่าสีที่ตรวจพบโดยเซ็นเซอร์แสงobject_detected– ลงทะเบียนฟังก์ชันที่จะถูกเรียกเมื่อเซ็นเซอร์แสงตรวจพบวัตถุobject_lost– ลงทะเบียนฟังก์ชันที่จะถูกเรียกเมื่อเซ็นเซอร์แสงสูญเสียวัตถุ
ตัวสร้าง – กำหนดค่าเริ่มต้นให้กับเซ็นเซอร์แสงด้วยตนเอง
Optical– สร้างเซ็นเซอร์ออปติคอล
ตั้งค่าแสง#
คำสั่ง set_light จะเปิดหรือปิดไฟ LED ของเซ็นเซอร์แสง ซึ่งจะช่วยเพิ่มความแม่นยำของเซ็นเซอร์ในการตรวจจับสีได้
Usage:
optical_sensor.set_light(state)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
สถานะ |
Sets the LED on or off. |
# Turn on the sensor's LED
optical_sensor.set_light(LEDStateType.ON)
ตั้งค่าพลังงานแสง#
set_light_power ตั้งค่าความสว่างของ LED ในเซ็นเซอร์แสง แสงสว่างจะช่วยให้เซ็นเซอร์แสงตรวจจับวัตถุและสีได้ชัดเจนยิ่งขึ้น
หากไฟแสดงสถานะของเซ็นเซอร์แสงดับอยู่ การปรับกำลังไฟให้สูงกว่า 0% จะทำให้ไฟแสดงสถานะติดขึ้น
หากไฟแสดงสถานะของเซ็นเซอร์แสงติดอยู่ การตั้งค่ากำลังไฟเป็น 0% จะทำให้ไฟแสดงสถานะดับลง
เปอร์เซ็นต์ที่สูงขึ้นจะทำให้แสงสว่างมากขึ้น เปอร์เซ็นต์ที่ต่ำลงจะทำให้แสงสว่างน้อยลง
Usage:
optical_sensor.set_light_power(percent, units)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เปอร์เซ็นต์ |
ระบุค่าความสว่างของ LED เป็นจำนวนเต็ม |
หน่วย |
ตัวเลือกเสริม หน่วยที่ใช้แสดงความสว่าง: |
# Turn on the sensor's light at half brightness
optical_sensor.set_light_power(50, PERCENT)
อยู่ใกล้วัตถุ#
is_near_object ส่งคืนค่าบูลีนที่ระบุว่าเซ็นเซอร์แสงตรวจพบวัตถุที่อยู่ในระยะหรือไม่
True– เซ็นเซอร์แสงตรวจจับวัตถุได้False– เซ็นเซอร์แสงไม่ตรวจพบวัตถุ
Usage:
optical_sensor.is_near_object()
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เมธอดนี้ไม่มีพารามิเตอร์ |
# Drive forward until an object is found
drivetrain.drive(FORWARD)
while not optical_sensor.is_near_object():
pass
drivetrain.stop()
สี#
color ส่งคืนอินสแตนซ์ของคลาส Color โดยอิงตามค่าเฉดสีที่ตรวจพบ สิ่งเหล่านี้สามารถนำไปเปรียบเทียบกับวัตถุ Color ที่กำหนดไว้ล่วงหน้าเพื่อสร้างคำสั่งเงื่อนไข
สีที่เป็นไปได้ ได้แก่:
Color.BLACKColor.WHITEColor.RED- ค่าเฉดสีระหว่าง 340° - 20°Color.GREEN- ค่าเฉดสีระหว่าง 80° - 140°Color.BLUE- ค่าเฉดสีระหว่าง 200° - 240°Color.YELLOW- ค่าเฉดสีระหว่าง 40° - 60°Color.ORANGE- ค่าเฉดสีระหว่าง 20° - 40°Color.PURPLE- ค่าเฉดสีระหว่าง 240° - 280°Color.CYAN- ค่าเฉดสีระหว่าง 140° - 200°
หมายเหตุ: เซ็นเซอร์แสงจะมองหาช่วงเฉดสีที่ตรงกับสีที่ระบุ สำหรับการตรวจจับช่วงเฉดสีที่เฉพาะเจาะจง โปรดดู hue
Usage:
optical_sensor.color()
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เมธอดนี้ไม่มีพารามิเตอร์ |
# Drive forward until red is found
drivetrain.drive(FORWARD)
while not optical_sensor.color() == Color.RED:
pass
drivetrain.stop()
ความสว่าง#
ความสว่าง brightness ส่งคืนปริมาณแสงที่สะท้อนจากวัตถุเป็นทศนิยม (float) ซึ่งแสดงถึงเปอร์เซ็นต์
เปอร์เซ็นต์ที่สูงขึ้นหมายความว่ามีแสงสะท้อนกลับไปยังเซ็นเซอร์แสงมากขึ้น เปอร์เซ็นต์ที่ต่ำลงหมายความว่ามีแสงสะท้อนกลับน้อยลง
Usage:
optical_sensor.brightness()
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เมธอดนี้ไม่มีพารามิเตอร์ |
เฉดสี#
hue ส่งคืนค่าเฉดสีของสีที่ตรวจพบเป็นค่าทศนิยม (float) ตั้งแต่ 0 ถึง 359
เฉดสี คือวิธีการอธิบายสีโดยใช้ตัวเลขรอบวงล้อสี

Usage:
optical_sensor.hue()
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เมธอดนี้ไม่มีพารามิเตอร์ |
# Look for the color pink using hue
while True:
brain.screen.clear_screen()
brain.screen.set_cursor(1, 1)
if 300 < optical_sensor.hue() < 359:
brain.screen.print("This is pink!")
else:
brain.screen.print("No pink detected!")
ตรวจพบวัตถุ#
object_detected ลงทะเบียนฟังก์ชันที่จะถูกเรียกใช้เมื่อใดก็ตามที่เซ็นเซอร์แสงตรวจพบวัตถุใหม่
Usage:
optical_sensor.object_detected(callback, arg)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
A previously defined function that executes when the Optical Sensor detects a new object. |
|
ตัวเลือกเสริม ทูเปิล ที่มีอาร์กิวเมนต์ที่จะส่งไปยังฟังก์ชันเรียกกลับ ดู การใช้ฟังก์ชันที่มีพารามิเตอร์ สำหรับข้อมูลเพิ่มเติม |
def my_function():
brain.screen.print("Optical Sensor detected an object")
# Call my_function whenever optical_sensor detects an object
optical_sensor.object_detected(my_function)
วัตถุหายไป#
object_lost ลงทะเบียนฟังก์ชันที่จะถูกเรียกใช้เมื่อใดก็ตามที่เซ็นเซอร์แสงตรวจไม่พบวัตถุ
Usage:
optical_sensor.object_lost(callback, arg)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
A previously defined function that executes when the Optical Sensor loses a detected object. |
|
ตัวเลือกเสริม ทูเปิล ที่มีอาร์กิวเมนต์ที่จะส่งไปยังฟังก์ชันเรียกกลับ ดู การใช้ฟังก์ชันที่มีพารามิเตอร์ สำหรับข้อมูลเพิ่มเติม |
def my_function():
brain.screen.print("Optical Sensor lost an object")
# Call my_function whenever optical_sensor loses an object
optical_sensor.object_lost(my_function)
ผู้สร้าง#
ตัวสร้าง (Constructor) ใช้สำหรับสร้างอ็อบเจ็กต์ Optical ด้วยตนเอง ซึ่งจำเป็นสำหรับการกำหนดค่า Optical Sensor นอก VEXcode
Optical#
Optical สร้างเซ็นเซอร์แสง
Usage:
Optical(smartport)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
พอร์ตอัจฉริยะที่เชื่อมต่อกับเซ็นเซอร์แสง จะเขียนในรูปแบบ |
# Create an Optical Sensor in Port 10
optical_sensor = Optical(Ports.PORT10)