Mata#

Perkenalan#

Sensor VEX GO Eye dapat mendeteksi objek dan warna. Sensor ini juga dapat melaporkan seberapa banyak cahaya yang dipantulkan kembali ke sensor dan nilai rona warna yang terdeteksi.

Sensor Mata memiliki lampu yang dapat dinyalakan atau dimatikan untuk membantunya melihat objek dan warna dengan lebih jelas. Sensor Mata juga dapat menggunakan rentang NEAR atau FAR untuk mendeteksi objek pada jarak yang berbeda.

Sensor Mata dapat ditempatkan di posisi yang berbeda tergantung pada versi build. Misalnya, versi Code Base 2.0 - Eye Forward memiliki Sensor Mata yang menghadap ke depan. Versi Code Base 2.0 - Eye Down, Code Base 2.0 - Eye + Electromagnet, dan Super Code Base 2.0 memiliki Sensor Mata yang menghadap ke bawah.

Untuk contoh di bawah ini, Sensor Mata yang dikonfigurasi diberi nama eyeNama ini digunakan dalam contoh untuk memanggil metode kelas Eye.

Ada banyak cara untuk memprogram Sensor Mata. Berikut adalah daftar semua metode Sensor Mata:

Mutator — Sesuaikan pengaturan Sensor Mata.

  • set_light — Menyalakan atau mematikan lampu Sensor Mata.

  • set_range — Mengatur seberapa jauh Sensor Mata dapat mendeteksi suatu objek.

  • set_light_power — Mengatur tingkat daya cahaya Sensor Mata.

Getter — Mengembalikan apa yang dideteksi oleh Sensor Mata.

  • get_color — Mengembalikan warna yang terdeteksi oleh Sensor Mata.

  • get_hue — Mengembalikan warna yang terdeteksi oleh Sensor Mata.

  • get_brightness — Mengembalikan kecerahan yang terdeteksi oleh Sensor Mata.

  • is_object_detected — Mengembalikan apakah Sensor Mata mendeteksi objek dalam jangkauan.

  • is_color_detected — Mengembalikan apakah Sensor Mata mendeteksi warna tertentu.

Mutator#

set_light#

set_light menghidupkan atau mematikan lampu Sensor Mata.

Usage:
eye.set_light(state)

Parameter

Keterangan

state

Status lampu Sensor Mata: ON atau OFF.

# Build Used: Super Code Base 2.0
def main():
    # Turn the light on and off
    while True:
        eye.set_light(ON)
        wait(2, SECONDS)
        eye.set_light(OFF)
        wait(2, SECONDS)

# Start threads — Do not delete
start_thread(main)

set_range#

set_range mengatur seberapa jauh suatu objek dapat berada dari Sensor Mata sebelum dapat terdeteksi.

Setiap proyek dimulai dengan Sensor Mata yang diatur ke rentang FAR secara default.

Usage:
eye.set_range(distance)

Parameter

Keterangan

distance

Rentang deteksi objek Sensor Mata. NEAR mendeteksi objek hingga jarak 18 milimeter, sedangkan FAR mendeteksi objek hingga jarak 40 milimeter.

# Build Used: Code Base 2.0 - Eye Forward
def main():
    # Drive to an object with different ranges
    eye.set_range(FAR)
    drivetrain.drive(FORWARD)
    wait(0.2, SECONDS)
    while not eye.is_object_detected():
        wait(0.2, SECONDS)
    drivetrain.drive_for(REVERSE, 100, MM)
    # Closer detection range
    eye.set_range(NEAR)
    drivetrain.drive(FORWARD)
    wait(0.2, SECONDS)
    while not eye.is_object_detected():
        wait(0.2, SECONDS)
    drivetrain.stop()


# Start threads — Do not delete
start_thread(main)

set_light_power#

set_light_power mengatur seberapa terang cahaya Sensor Mata. Cahaya ini dapat membantu Sensor Mata mendeteksi objek dan warna dengan lebih jelas.

Persentase yang lebih tinggi membuat cahaya lebih terang. Persentase yang lebih rendah membuat cahaya lebih redup.

Jika lampu Sensor Mata mati, mengatur daya lampu di atas 0% akan menyalakan lampu tersebut.

Jika lampu Sensor Mata menyala, mengatur daya lampu ke 0% akan mematikan lampu tersebut.

Usage:
eye.set_light_power(value)

Parameter

Keterangan

value

Tingkat kecerahan cahaya Sensor Mata, dari 0% hingga 100%. Gunakan angka bulat.

# Build Used: Super Code Base 2.0
def main():
    # Turn on the light at different brightnesses
    eye.set_light_power(25)
    wait(2, SECONDS)
    eye.set_light_power(50)
    wait(2, SECONDS)
    eye.set_light_power(100)

# Start threads — Do not delete
start_thread(main)

Pencari#

get_color#

get_color mengembalikan warna yang terdeteksi oleh Sensor Mata.

Metode ini dapat mengembalikan:

  • RED — Nilai rona antara 340° - 20°

  • GREEN — Nilai rona antara 75° - 154°

  • BLUE — Nilai rona antara 160° - 254°

  • NONE — Tidak ada warna yang tersedia yang terdeteksi.

Usage:
eye.get_color()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

# Build Used: Super Code Base 2.0
def main():
    # Stop when red is detected
    drivetrain.drive(FORWARD)
    while True:
        if eye.get_color() == RED:
            break
        wait(0.2, SECONDS)
    drivetrain.stop()

# Start threads — Do not delete
start_thread(main)

get_hue#

get_hue mengembalikan warna yang terdeteksi oleh Sensor Mata sebagai bilangan bulat dari 0 hingga 359,00 derajat.

Hue adalah cara untuk mendeskripsikan warna menggunakan angka-angka di sekitar roda warna.

Roda warna melingkar yang menampilkan spektrum warna lengkap yang diberi label dengan nilai derajat di sekelilingnya, meningkat dalam kelipatan 30 derajat dari 0° di atas hingga 360°.

Usage:
eye.get_hue()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

# Build Used: Code Base 2.0 - Eye Forward
def main():
    # Display the hue of a pink GO piece
    while True:
        console.clear()
        if 10 < eye.get_hue() < 40:
            console.print("Pink!")
            wait(0.1,SECONDS)
        else:
            console.print("Not pink.")
            wait(0.1,SECONDS)

# Start threads — Do not delete
start_thread(main)

get_brightness#

get_brightness mengembalikan seberapa terang cahaya yang terdeteksi, sebagai bilangan bulat dari 0% hingga 100%.

Persentase yang lebih tinggi berarti lebih banyak cahaya yang dipantulkan kembali ke Sensor Mata. Persentase yang lebih rendah berarti lebih sedikit cahaya yang dipantulkan kembali.

Usage:
eye.get_brightness()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

# Build Used: Super Code Base 2.0
def main():
    # Monitor the brightness until red is detected
    monitor_sensor("eye.get_brightness")
    drivetrain.drive(FORWARD)
    while not eye.get_color() == RED:
        wait(0.2, SECONDS)
    drivetrain.stop()

# Start threads — Do not delete
start_thread(main)

is_object_detected#

is_object_detected mengembalikan Boolean yang melaporkan apakah Sensor Mata mendeteksi objek dalam jangkauan atau tidak.

  • True — Sensor Mata mendeteksi suatu objek.

  • False — Sensor Mata tidak mendeteksi objek.

Jangkauan deteksi dapat diubah menggunakan set_range.

Usage:
eye.is_object_detected()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

# Build Used: Code Base 2.0 - Eye Forward
def main():
    # Drive forward until an object is detected
    drivetrain.drive(FORWARD)
    wait(0.2, SECONDS)
    while not eye.is_object_detected():
        wait(0.5, SECONDS)
    drivetrain.stop()

# Start threads — Do not delete
start_thread(main)

is_color_detected#

is_color_detected mengembalikan Boolean yang melaporkan apakah Sensor Mata mendeteksi warna tertentu, berdasarkan nilai hue yang terdeteksi.

  • True — Sensor Mata mendeteksi warna yang dipilih.

  • False — Sensor Mata tidak mendeteksi warna yang dipilih.

Sensor mata bekerja paling baik ketika objek cukup dekat untuk dideteksi dan pencahayaannya terang.

Usage:
eye.is_color_detected(color)

Parameter

Keterangan

color

Warna yang akan diperiksa oleh Sensor Mata:

  • BLUE – Nilai rona antara 160° dan 254°.
  • GREEN – Nilai rona antara 75° dan 154°.
  • NONE
  • RED – Nilai rona antara 340° dan 20°.

# Build Used: Super Code Base 2.0
def main():
    # Drive forward until a green object is detected
    drivetrain.drive(FORWARD)
    wait(0.2, SECONDS)
    while not eye.is_color_detected(GREEN):
        wait(0.5, SECONDS)
    drivetrain.stop()

# Start threads — Do not delete
start_thread(main)