Göz#

giriiş#

VEX GO Göz Sensörü nesneleri ve renkleri algılayabilir. Ayrıca sensöre geri yansıyan ışık miktarını ve algılanan rengin ton değerini de bildirebilir.

Göz Sensörü, nesneleri ve renkleri daha net görmesine yardımcı olmak için açılıp kapatılabilen bir ışığa sahiptir. Göz Sensörü ayrıca farklı mesafelerdeki nesneleri algılamak için NEAR veya FAR aralığını kullanabilir.

Göz Sensörü, yapıya bağlı olarak farklı konumlara yerleştirilebilir. Örneğin, Code Base 2.0 - Eye Forward yapısında Göz Sensörü öne doğru bakar. Code Base 2.0 - Eye Down yapısında, Code Base 2.0 - Eye + Electromagnet yapısında ve Super Code Base 2.0 yapısında ise Göz Sensörü aşağıya doğru bakar.

Aşağıdaki örneklerde, yapılandırılmış Göz Sensörü eyeolarak adlandırılmıştır. Bu ad, örneklerde Eye sınıf yöntemlerini çağırmak için kullanılır.

Göz Sensörünü kodlamanın birçok yolu vardır. Aşağıda tüm Göz yöntemlerinin listesi bulunmaktadır:

Değiştiriciler — Göz Sensörü ayarlarını düzenleyin.

  • set_light — Göz Sensörünün ışığını açar veya kapatır.

  • set_range — Göz Sensörünün bir nesneyi ne kadar uzaktan algılayabileceğini ayarlar.

  • set_light_power — Göz Sensörünün ışık gücü seviyesini ayarlar.

Getter’lar — Göz Sensörünün algıladığı verileri döndürür.

  • get_color — Göz Sensörü tarafından algılanan rengi döndürür.

  • get_hue — Göz Sensörü tarafından algılanan tonu döndürür.

  • get_brightness — Göz Sensörü tarafından algılanan parlaklığı döndürür.

  • is_object_detected — Göz Sensörünün menzil içinde bir nesne algılayıp algılamadığını döndürür.

  • is_color_detected — Göz Sensörünün belirli bir rengi algılayıp algılamadığını döndürür.

Mutatörler#

set_light#

set_light komutu, Göz Sensörünün ışığını açar veya kapatır.

Usage:
eye.set_light(state)

Parametreler

Tanım

state

Göz sensörünün ışığının durumu: ON veya 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 , bir nesnenin algılanabilmesi için Göz Sensöründen ne kadar uzakta olabileceğini belirler.

Her proje, Göz Sensörü varsayılan olarak FAR aralığına ayarlanmış şekilde başlar.

Usage:
eye.set_range(distance)

Parametreler

Tanım

distance

Göz Sensörünün nesne algılama aralığı. NEAR 18 milimetreye kadar olan nesneleri algılarken, FAR , 40 milimetreye kadar olan nesneleri algılar.

# 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 Göz Sensörünün ışığının parlaklığını ayarlar. Işık, Göz Sensörünün nesneleri ve renkleri daha net algılamasına yardımcı olabilir.

Yüzde oranı ne kadar yüksekse ışık o kadar parlak olur. Yüzde oranı ne kadar düşükse ışık o kadar loş olur.

Göz sensörünün ışığı kapalıysa, ışık gücünü %0’ın üzerine ayarlamak ışığı açacaktır.

Göz sensörünün ışığı yanıyorsa, ışık gücünü %0’a ayarlamak ışığı kapatacaktır.

Usage:
eye.set_light_power(value)

Parametreler

Tanım

value

Göz sensörünün ışığının parlaklık ayarını %0 ile %100 arasında yapın. Tam sayılar kullanın.

# 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)

Getters#

get_color#

get_color , Göz Sensörü tarafından algılanan rengi döndürür.

Bu yöntem şunları döndürebilir:

  • RED — 340° - 20° arasında bir renk tonu değeri

  • GREEN — 75° - 154° arasında bir renk tonu değeri

  • BLUE — 160° - 254° arasında bir renk tonu değeri

  • NONE — Mevcut renklerden hiçbiri algılanmadı.

Usage:
eye.get_color()

Parametreler

Tanım

Bu yöntemin parametresi yoktur.

# 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 Göz Sensörü tarafından algılanan rengi 0 ile 359,00 derece arasında tam sayı olarak döndürür.

Renk tonu, renk çemberi üzerindeki sayılar kullanılarak rengi tanımlamanın bir yoludur.

Çevresinde derece değerleri ile etiketlenmiş, üstte 0°'den başlayıp 360°'ye kadar 30 derecelik artışlarla renklerin tam spektrumunu gösteren dairesel bir renk çemberi.

Usage:
eye.get_hue()

Parametreler

Tanım

Bu yöntemin parametresi yoktur.

# 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 , algılanan ışığın parlaklığını %0 ile %100 arasında tam sayı olarak döndürür.

Yüzde oranının yüksek olması, göz sensörüne daha fazla ışığın yansıtıldığı anlamına gelir. Yüzde oranının düşük olması ise daha az ışığın yansıtıldığı anlamına gelir.

Usage:
eye.get_brightness()

Parametreler

Tanım

Bu yöntemin parametresi yoktur.

# 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 Göz Sensörünün menzil içinde bir nesne algılayıp algılamadığını bildiren bir Boolean döndürür.

  • True — Göz Sensörü bir nesne algılıyor.

  • False — Göz Sensörü bir nesne algılamıyor.

Algılama aralığı set_range komutu kullanılarak değiştirilebilir.

Usage:
eye.is_object_detected()

Parametreler

Tanım

Bu yöntemin parametresi yoktur.

# 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 algılanan ton değerine bağlı olarak Göz Sensörünün belirtilen bir rengi algılayıp algılamadığını bildiren bir Boolean döndürür.

  • True — Göz Sensörü seçilen rengi algılar.

  • False — Göz Sensörü seçilen rengi algılamıyor.

Göz Sensörü, nesne algılanabilecek kadar yakın olduğunda ve aydınlatma net olduğunda en iyi performansı gösterir.

Usage:
eye.is_color_detected(color)

Parametreler

Tanım

color

Göz Sensörünün kontrol edeceği renk:

  • BLUE – Ton değeri 160° ile 254° arasında.
  • GREEN – Ton değeri 75° ile 154° arasında.
  • NONE
  • RED – Ton değeri 340° ile 20° arasında.

# 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)