عين#

مقدمة#

يستطيع مستشعر العين VEX GO اكتشاف الأجسام والألوان. كما يمكنه الإبلاغ عن كمية الضوء المنعكس إلى المستشعر وقيمة درجة اللون المكتشف.

يحتوي مستشعر العين على ضوء يمكن تشغيله أو إطفاؤه لتحسين رؤية الأشياء والألوان. كما يمكن لمستشعر العين استخدام نطاقي NEAR (بعيد) أو FAR بعيد) للكشف عن الأشياء على مسافات مختلفة.

يمكن وضع مستشعر العين في مواقع مختلفة حسب الإصدار. على سبيل المثال، في إصدار Code Base 2.0 - Eye Forward، يكون مستشعر العين موجهًا للأمام. أما في إصدارات Code Base 2.0 - Eye Down، وCode Base 2.0 - Eye + Electromagnet، وSuper Code Base 2.0، فيكون مستشعر العين موجهًا للأسفل.

في الأمثلة أدناه، يُسمى مستشعر العين المُهيأ eyeويُستخدم هذا الاسم في الأمثلة لاستدعاء أساليب الفئة Eye.

توجد طرق عديدة لبرمجة مستشعر العين. فيما يلي قائمة بجميع طرق برمجة مستشعر العين:

المُعدِّلات — اضبط إعدادات مستشعر العين.

  • set_light — يقوم بتشغيل أو إيقاف ضوء مستشعر العين.

  • set_range — يحدد مدى قدرة مستشعر العين على اكتشاف جسم ما.

  • set_light_power — يحدد مستوى طاقة الضوء لمستشعر العين.

المستقبلون — يعيدون ما يكتشفه مستشعر العين.

  • get_color — تُرجع اللون الذي تم اكتشافه بواسطة مستشعر العين.

  • get_hue — تُرجع اللون الذي تم اكتشافه بواسطة مستشعر العين.

  • get_brightness — تُرجع السطوع الذي تم اكتشافه بواسطة مستشعر العين.

  • is_object_detected — تُرجع ما إذا كان مستشعر العين يكتشف وجود جسم ضمن النطاق.

  • is_color_detected — تُرجع ما إذا كان مستشعر العين يكتشف لونًا معينًا.

المتحولون#

set_light#

set_light يقوم بتشغيل أو إيقاف ضوء مستشعر العين.

Usage:
eye.set_light(state)

حدود

وصف

state

حالة ضوء مستشعر العين: ON أو 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 يحدد مدى بُعد الجسم عن مستشعر العين قبل أن يتمكن من اكتشافه.

يبدأ كل مشروع بضبط مستشعر العين على نطاق FAR افتراضيًا.

Usage:
eye.set_range(distance)

حدود

وصف

distance

نطاق كشف الأجسام بواسطة مستشعر العين. NEAR يكشف الأجسام حتى مسافة 18 مليمترًا، بينما FAR يكشف الأجسام حتى مسافة 40 مليمترًا.

# 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 مدى سطوع ضوء مستشعر العين. يساعد هذا الضوء مستشعر العين على اكتشاف الأجسام والألوان بشكل أوضح.

نسبة أعلى تجعل الضوء أكثر سطوعاً. نسبة أقل تجعل الضوء أقل سطوعاً.

إذا كان ضوء مستشعر العين مطفأً، فإن ضبط قوة الإضاءة فوق 0% سيؤدي إلى تشغيل الضوء.

إذا كان ضوء مستشعر العين مضاءً، فإن ضبط طاقة الضوء على 0% سيؤدي إلى إطفاء الضوء.

Usage:
eye.set_light_power(value)

حدود

وصف

value

مستوى السطوع الذي يجب ضبط ضوء مستشعر العين عليه، من 0% إلى 100%. استخدم أعدادًا صحيحة.

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

المحصلون#

get_color#

get_color تُرجع اللون الذي تم اكتشافه بواسطة مستشعر العين.

يمكن أن تُرجع هذه الطريقة ما يلي:

  • RED — قيمة لونية بين 340° - 20°

  • GREEN — قيمة لونية بين 75° - 154°

  • BLUE — قيمة لونية بين 160° - 254°

  • NONE — لم يتم الكشف عن أي من الألوان المتاحة.

Usage:
eye.get_color()

حدود

وصف

لا تحتوي هذه الطريقة على أي معلمات.

# 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 تُرجع اللون الذي تم اكتشافه بواسطة مستشعر العين كرقم صحيح من 0 إلى 359.00 درجة.

اللون هو طريقة لوصف اللون باستخدام الأرقام الموجودة على عجلة الألوان.

عجلة ألوان دائرية تعرض طيفًا كاملاً من الألوان مُصنّفة بقيم درجات حول المحيط، وتزداد بمقدار 30 درجة من 0° في الأعلى إلى 360°.

Usage:
eye.get_hue()

حدود

وصف

لا تحتوي هذه الطريقة على أي معلمات.

# 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 تُرجع مدى سطوع الضوء المكتشف، كرقم صحيح من 0% إلى 100%.

نسبة أعلى تعني انعكاس المزيد من الضوء إلى مستشعر العين. نسبة أقل تعني انعكاس كمية أقل من الضوء.

Usage:
eye.get_brightness()

حدود

وصف

لا تحتوي هذه الطريقة على أي معلمات.

# 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 تُرجع Boolean التي تُبلغ عما إذا كان مستشعر العين يكتشف وجود جسم ضمن النطاق أم لا.

  • True — مستشعر العين يكتشف وجود جسم.

  • False — لا يكتشف مستشعر العين أي جسم.

يمكن تغيير نطاق الكشف باستخدام الأمر set_range .

Usage:
eye.is_object_detected()

حدود

وصف

لا تحتوي هذه الطريقة على أي معلمات.

# 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 تُرجع Boolean التي تُبلغ عما إذا كان مستشعر العين يكتشف لونًا محددًا، بناءً على قيمة اللون المكتشفة.

  • True — يكتشف مستشعر العين اللون المحدد.

  • False — لا يكتشف مستشعر العين اللون المحدد.

يعمل مستشعر العين بشكل أفضل عندما يكون الجسم قريبًا بما يكفي للكشف عنه والإضاءة واضحة.

Usage:
eye.is_color_detected(color)

حدود

وصف

color

اللون الذي يجب على مستشعر العين فحصه:

  • BLUE - قيمة اللون بين 160° و254°.
  • GREEN - قيمة اللون بين 75° و154°.
  • NONE
  • RED - قيمة اللون بين 340° و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)