مستشعر الجسم#

مقدمة#

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

مستشعر كائنات VEX.

تستخدم هذه الصفحة الاسم object_sensor كمثال لاسم مستشعر الكائن. استبدله بالاسم الذي قمت بتكوينه حسب الحاجة.

فيما يلي قائمة بالطرق المتاحة:

  • reflectivity – تُرجع integer يمثل كمية الضوء المنعكس من الجسم كنسبة مئوية.

  • is_object_detected – تُرجع ما إذا كان مستشعر الكائن يكتشف كائنًا أم لا.

  • set_threshold – يحدد مقدار الضوء المنعكس المطلوب قبل اعتبار الجسم قابلاً للكشف.

  • object_detected – يسجل دالة ليتم استدعاؤها كلما اكتشف مستشعر الكائن كائنًا جديدًا.

  • object_lost – يسجل دالة يتم استدعاؤها كلما فقد مستشعر الكائن كائنًا تم اكتشافه.

  • changed – يسجل دالة ليتم استدعاؤها كلما تغيرت قيمة مستشعر الكائن.

المنشئ – تهيئة مستشعر الكائن يدويًا.

الانعكاسية#

reflectivity تُرجع integer التي تمثل كمية الضوء المنعكس من الجسم كنسبة مئوية.

ملحوظة:

  • نسبة الانعكاس 0% تعني أن الجسم شديد الظلام.

  • نسبة الانعكاس 100% تعني أن الجسم شديد السطوع.

Usage:
object_sensor.reflectivity()

حدود

وصف

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

# Drive forward when the reflectivity is greater than 50%.
while True:
    if object_sensor.reflectivity() > 50:
        drivetrain.drive(FORWARD)
    else:
        drivetrain.stop()
    wait(5, MSEC)

تم اكتشاف كائن#

is_object_detected تُرجع ما إذا كان مستشعر الكائن يكتشف كائنًا أم لا.

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

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

Usage:
object_sensor.is_object_detected()

حدود

وصف

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

# Drive forward when the object sensor is detecting an object.
while True:
    if object_sensor.is_object_detected():
        drivetrain.drive(FORWARD)
    else:
        drivetrain.stop()
    wait(5, MSEC)

تحديد العتبة#

set_threshold يحدد مقدار الضوء المنعكس المطلوب كنسبة مئوية قبل اعتبار الجسم قابلاً للكشف.

Usage:
object_sensor.set_threshold(value)

حدود

وصف

value

قيمة الانعكاسية المطلوبة قبل اعتبار الجسم قابلاً للكشف، من 0 إلى 100.

# Set the reflectivity threshold to 50%.
object_sensor.set_threshold(50)
# Drive forward when the object sensor is detecting an object.
while True:
    if object_sensor.is_object_detected():
        drivetrain.drive(FORWARD)
    else:
        drivetrain.stop()
    wait(5, MSEC)

تم اكتشاف الكائن#

object_detected يسجل دالة ليتم استدعاؤها كلما اكتشف مستشعر الكائن كائنًا جديدًا.

Usage:
object_sensor.object_detected(callback, arg)

حدود

وصف

callback

A previously defined function that executes when the Object Sensor detects a new object.

arg

اختياري. مجموعة tuple تحتوي على الوسائط التي تُمرر إلى دالة الاستدعاء. انظر الدوال ذات المعاملات لمزيد من المعلومات.

def my_function():
  brain.screen.print("Object detected.")

# Call my_function whenever object_sensor detects an object
object_sensor.object_detected(my_function)

الكائن_المفقود#

object_lost يسجل دالة يتم استدعاؤها كلما فقد مستشعر الكائن كائنًا تم اكتشافه.

Usage:
object_sensor.object_lost(callback, arg)

حدود

وصف

callback

A previously defined function that executes when the Object Sensor loses a detected object.

arg

اختياري. مجموعة tuple تحتوي على الوسائط التي تُمرر إلى دالة الاستدعاء. انظر الدوال ذات المعاملات لمزيد من المعلومات.

def my_function():
  brain.screen.print("Object lost.")

# Call my_function whenever object_sensor loses an object
object_sensor.object_lost(my_function)

تم التغيير#

changed يسجل دالة ليتم استدعاؤها كلما تغيرت قيمة مستشعر الكائن.

Usage:
object_sensor.changed(callback, arg)

حدود

وصف

callback

A previously defined function that executes when the Object Sensor’s value changes.

arg

اختياري. مجموعة tuple تحتوي على الوسائط التي تُمرر إلى دالة الاستدعاء. انظر الدوال ذات المعاملات لمزيد من المعلومات.

def my_function():
  brain.screen.print("Reflectivity changed.")

# Call my_function whenever object_sensor's value changes
object_sensor.changed(my_function)

المُنشئون#

تُستخدم الدوال البانية لإنشاء ObjectDetector يدويًا، وهي ضرورية لتكوين مستشعرات الكائنات.

ObjectDetector#

ObjectDetector يقوم بإنشاء مستشعر كائن.

Usage:
ObjectDetector(port, reverse_det)

المعلمة

وصف

port

منفذ الأسلاك الثلاثة الذي يتصل به مستشعر الجسم:

  • على V5 Brain – brain.three_wire_port.x حيث x هو رقم المنفذ.
  • على 3-Wire Expander – expander.a حيث expander هو اسم مثيل الموسع.

reverse_det

اختياري. ما إذا كان سيتم عكس منطق الكشف:

  • True - عند فقدان عنصر، يتم إرجاع أنه تم اكتشاف عنصر، وعند اكتشاف عنصر، يتم إرجاع أنه مفقود.
  • False (افتراضي) - عند فقدان عنصر، يتم إرجاع أنه مفقود، وعند اكتشاف عنصر، يتم إرجاع أنه تم اكتشافه.

# Create an Object Sensor in Port A
object_sensor = ObjectDetector(brain.three_wire_port.a)