Màu sắc#

Giới thiệu#

Cảm biến màu là một cảm biến quang học cho phép robot của bạn phát hiện sự hiện diện của vật thể, nhận biết các màu sắc cụ thể và trả về dữ liệu hình ảnh như độ sáng và sắc độ.

Bạn cũng có thể cấu hình độ sáng của đèn bên trong cảm biến. Những công cụ này rất lý tưởng cho các chương trình cần phản ứng với các vật thể có màu sắc, điều kiện ánh sáng hoặc phản hồi từ cảm biến trong thời gian thực.

Trang này sử dụng color_1 làm ví dụ về tên Cảm biến màu. Hãy thay thế nó bằng tên do bạn cấu hình nếu cần.

Dưới đây là danh sách tất cả các phương pháp:

Chức năng — Phát hiện vật thể bằng cảm biến màu.

  • object_detected — Đăng ký một hàm sẽ được gọi khi một đối tượng được phát hiện.

Bộ điều chỉnh — Thay đổi ánh sáng trên Cảm biến màu.

  • set_light — Đặt đèn LED của Cảm biến màu ở trạng thái bật, tắt hoặc mức độ sáng đã đặt.

  • set_light_power — Đặt độ sáng của đèn LED của Cảm biến màu.

Phương thức Getters — Trả về dữ liệu đối tượng có chứa Cảm biến màu.

  • is_near_object — Trả về liệu một vật thể có nằm trong phạm vi của cảm biến hay không.

  • color — Trả về mã hex của màu được phát hiện.

  • brightness — Trả về độ sáng được phát hiện.

  • hue — Trả về giá trị sắc độ được phát hiện.

  • installed — Trả về trạng thái Cảm biến màu có được kết nối với Bộ não hay không.

Hàm khởi tạo — Tự tay khởi tạo và cấu hình Cảm biến màu.

Hành động#

object_detected#

object_detected đăng ký một hàm sẽ được gọi khi Cảm biến màu phát hiện một vật thể.

Usage:
color_1.object_detected(callback, args)

Thông số

Sự miêu tả

callback

Một hàm được định nghĩa trước để thực thi khi Cảm biến màu phát hiện một đối tượng.

args

Tùy chọn. Một bộ chứa các đối số để truyền cho hàm gọi lại. Xem Hàm có tham số để biết thêm thông tin.

Biến đổi#

set_light#

set_light thiết lập đèn LED của Cảm biến màu ở trạng thái bật, tắt hoặc mức độ sáng đã đặt.

Usage:
color_1.set_light(value, units)

Thông số

Sự miêu tả

value

Chỉ định bật hoặc tắt đèn LED bằng một trong các giá trị sau:

  • LedStateType.ON — Đặt độ sáng của đèn LED ở mức 100%.
  • LedStateType.OFF — Đặt độ sáng của đèn LED ở mức 0%.
Ngoài ra, có thể sử dụng phần trăm từ 0 đến 100 để đặt độ sáng của đèn LED. Giá trị 0 sẽ tắt đèn LED; bất kỳ giá trị nào lớn hơn 0 sẽ bật đèn LED ở độ sáng đó.

units

Tùy chọn. Đơn vị biểu thị giá trị độ sáng: PERCENT.

# Turn the LED on and off forever
while True:
    color_1.set_light(LedStateType.ON)
    wait(0.5, SECONDS)
    color_1.set_light(LedStateType.OFF)
    wait(0.5, SECONDS)

# Turn the LED on and off forever
while True:
    color_1.set_light(LedStateType.ON, 75)
    wait(0.5, SECONDS)
    color_1.set_light(0)
    wait(0.5, SECONDS)

set_light_power#

set_light_power thiết lập độ sáng của đèn LED của Cảm biến màu. Nếu đèn LED chưa sáng, phương thức này cũng sẽ bật đèn LED.

Usage:
color_1.set_light_power(value)

Thông số

Sự miêu tả

value

Độ sáng của đèn LED được biểu thị bằng phần trăm từ 0 đến 100. Giá trị 0 sẽ tắt đèn LED.

# Turn the LED light on at different intensities
color_1.set_light_power(10)
wait(2, SECONDS)
color_1.set_light_power(100)

Người nhận#

is_near_object#

Hàm is_near_object trả về giá trị Boolean cho biết liệu Cảm biến màu có nằm trong phạm vi khoảng 57 milimét (2,25 inch) so với vật thể hay không. Việc phát hiện phụ thuộc vào ánh sáng phản xạ, do đó các bề mặt tối hoặc không phản xạ có thể không được phát hiện một cách đáng tin cậy.

  • True — Vật thể được phát hiện nằm trong phạm vi xấp xỉ 57 milimét.

  • False — Vật thể được phát hiện không nằm trong phạm vi xấp xỉ 57 milimét.

Usage:
color_1.is_near_object()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

color#

Lệnh color trả về mã hex của màu được phát hiện dưới dạng chuỗi có định dạng “Color” theo sau là hai số 0 và giá trị hex của màu đó.

Ví dụ, việc phát hiện màu đỏ (#FF0000) sẽ trả về “Color 00FF0000”.

Usage:
color_1.color()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

# Display the currently detected hex value
while True:
    brain.screen.clear_screen()
    brain.screen.set_cursor(1, 1)
    brain.screen.print(color_1.color())
    wait(0.5,SECONDS)

brightness#

brightness trả về độ sáng của màu được phát hiện, dưới dạng số nguyên từ 0% đến 100%.

Tỷ lệ phần trăm càng cao nghĩa là cảm biến màu càng thu nhận được nhiều ánh sáng hơn. Tỷ lệ phần trăm càng thấp nghĩa là cảm biến màu càng thu nhận được ít ánh sáng hơn.

Usage:
color_1.brightness()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

# Display the currently detected brightness
while True:
    brain.screen.clear_screen()
    brain.screen.set_cursor(1, 1)
    brain.screen.print("Brightness:")
    brain.screen.next_row()
    brain.screen.print(color_1.brightness())
    wait(0.5,SECONDS)

hue#

hue trả về giá trị màu sắc được phát hiện dưới dạng số thực trong phạm vi từ 0 đến 359,99 độ.

Sắc độ là một cách để mô tả màu sắc bằng các con số xung quanh vòng tròn màu, như hình bên dưới.

Một vòng tròn màu hiển thị toàn bộ quang phổ màu được dán nhãn bằng các giá trị độ xung quanh chu vi, tăng dần theo từng bước 30 độ từ 0° ở trên cùng đến 360°.

Usage:
color_1.hue()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

# Display the currently detected hue 
while True:
    brain.screen.clear_screen()
    brain.screen.set_cursor(1, 1)
    brain.screen.print("Hue: ")
    brain.screen.print(color_1.hue())
    wait(0.5,SECONDS)

installed#

installed trả về giá trị Boolean cho biết Cảm biến màu có được kết nối với Bộ xử lý trung tâm hay không.

  • True — Cảm biến màu được kết nối với não bộ.

  • False — Cảm biến màu không được kết nối với não bộ.

Usage:
color_1.installed()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

Các hàm tạo#

Các hàm tạo được sử dụng để tạo thủ công ColorSensor , cần thiết để cấu hình Cảm biến màu bên ngoài VEXcode.

ColorSensor#

ColorSensor tạo ra một Cảm biến màu.

Usage:
color_1 = ColorSensor(smartport)

Tham số

Sự miêu tả

smartport

Cổng thông minh mà cảm biến màu được kết nối, được viết là PORTx, trong đó x là số thứ tự của cổng.

# Create a Color Sensor object in Port 3
color_1 = ColorSensor(Ports.PORT3)