بصري#
مقدمة#
المستشعر البصري هو مستشعر يعتمد على الضوء ويستخدم الضوء المنعكس للكشف عن الأجسام وتحديد الألوان وقياس السطوع واللون.
يمكنك أيضًا ضبط سطوع الإضاءة الداخلية للمستشعر. تُعد هذه الأدوات مثالية للبرامج التي تحتاج إلى التفاعل مع الأجسام الملونة، أو ظروف الإضاءة، أو بيانات المستشعر في الوقت الفعلي.
تستخدم هذه الصفحة الاسم optical_1 كمثال لاسم المستشعر البصري. استبدله بالاسم الذي قمت بتكوينه حسب الحاجة.
فيما يلي قائمة بجميع الطرق:
الإجراءات — تشغيل أو إيقاف تشغيل مؤشر LED الخاص بالمستشعر البصري.
set_light— يحدد حالة تشغيل أو إيقاف تشغيل LED.
المُعدِّلات — اضبط سطوع مصابيح LED وإعدادات اكتشاف الأجسام.
set_light_power— يحدد سطوع LED.object_detect_threshold— يحدد عتبة اكتشاف الكائنات.
المستقبلات — قراءة وجود الكائن ولونه وسطوعه ودرجة لونه وقيم RGB وحالة المستشعر.
is_near_object— تُرجع ما إذا كان الكائن المكتشف قريبًا من المستشعر البصري.color— يعيد أقرب تطابق لون تم اكتشافه.brightness— يعيد سطوع الكائن المكتشف.hue— تُرجع لون الكائن المكتشف.rgb— تُرجع قيم RGB التي تم اكتشافها بواسطة المستشعر البصري.installed— إرجاع ما إذا كان المستشعر البصري متصلاً بالدماغ.
دالة رد الاتصال — تشغيل التعليمات البرمجية عند اكتشاف عنصر أو فقدانه.
object_detected— يسجل دالة ليتم استدعاؤها عند اكتشاف كائن.object_lost— يسجل دالة ليتم استدعاؤها عند فقدان كائن ما.
المنشئات — تهيئة وتكوين مستشعر بصري يدويًا.
Optical— إنشاء مستشعر بصري.
الإجراءات#
set_light#
set_light يقوم بتعيين مؤشر LED الخاص بالمستشعر البصري إلى وضع التشغيل أو الإيقاف أو مستوى سطوع محدد.
Usage:
optical_1.set_light(state)
حدود |
وصف |
|---|---|
|
حالة ضبط الإضاءة أو نسبة الطاقة ضمن النطاق من 0 إلى 100. يمكن أن تكون الحالة إحدى الحالات التالية:
|
# Turn the LED on and off forever
while True:
optical_1.set_light(LedStateType.ON)
wait(0.5, SECONDS)
optical_1.set_light(LedStateType.OFF)
wait(0.5, SECONDS)
# Turn the LED on and off forever
while True:
optical_1.set_light(100)
wait(0.5, SECONDS)
optical_1.set_light(0)
wait(0.5, SECONDS)
المتحولون#
set_light_power#
يُستخدم set_light_power لضبط سطوع ضوء المستشعر البصري. إذا لم يكن مؤشر LED مضاءً بالفعل، فسيقوم هذا الأمر بتشغيله أيضًا.
Usage:
optical_1.set_light_power(value)
حدود |
وصف |
|---|---|
|
مستوى الطاقة لضبط الإضاءة من 0 إلى 100 كنسبة مئوية. |
# Turn the LED light on at different
# intensities
optical_1.set_light(LedStateType.ON)
wait(2, SECONDS)
optical_1.set_light_power(10)
wait(2, SECONDS)
optical_1.set_light_power(100)
object_detect_threshold#
object_detect_threshold sets the range that the sensor can detect objects from. This method also returns the newly set threshold.
تشير الأرقام الأقرب إلى 255 إلى نطاق أصغر، بينما تشير الأرقام الأقرب إلى 0 إلى نطاق أكبر.
Usage:
optical_1.object_detect_threshold(value)
حدود |
وصف |
|---|---|
|
رقم في النطاق من 0 إلى 255. القيمة 0 ستعيد القيمة الحالية فقط. |
def detected():
# The Brain will print that an object was detected on
# the Brain's screen.
brain.screen.print("object detected")
brain.screen.next_row()
optical_1.object_detect_threshold(254)
optical_1.object_detected(detected_closer)
def detected_closer():
# Detect an object closer to the sensor.
brain.screen.print("Detected closer")
# Run detected when the Optical Sensor detects an object.
optical_1.object_detect_threshold(100)
optical_1.object_detected(detected)
# Detect an object first with the detect threshold at 100,
# then again at 254
stage = 0
def detected():
global stage
if stage == 0:
brain.screen.print("Get closer...")
brain.screen.next_row()
stage = 1
optical_1.object_detect_threshold(254)
optical_1.object_detected(detected_closer)
def detected_closer():
global stage
if stage == 1:
brain.screen.print("Too close!")
brain.screen.next_row()
stage = 2
optical_1.object_detect_threshold(100)
optical_1.object_detected(detected)
wait(15, MSEC)
المحصلون#
is_near_object#
is_near_object تُرجع ما إذا كان المستشعر البصري قريبًا من جسم ما.
True— المستشعر قريب من جسم ما.False— المستشعر ليس بالقرب من أي جسم.
Usage:
optical_1.is_near_object()
حدود |
وصف |
|---|---|
لا تحتوي هذه الطريقة على أي معلمات. |
# Stop driving when Optical Sensor is
# near an object
while True:
if optical_1.is_near_object():
drivetrain.stop()
else:
drivetrain.drive(FORWARD)
color#
اللون color يعيد اللون المحدد مسبقًا الذي تم اكتشافه بواسطة المستشعر البصري من الألوان أدناه:
BLACKBLUECYANGREENORANGEPURPLEREDTRANSPARENTWHITEYELLOW
Usage:
optical_1.color()
حدود |
وصف |
|---|---|
لا تحتوي هذه الطريقة على أي معلمات. |
# Stop the robot if the Optical Sensor
# detects red
while True:
if optical_1.color() == Color.RED:
drivetrain.stop()
else:
drivetrain.turn(RIGHT)
brightness#
السطوع brightness يعيد السطوع الذي تم اكتشافه بواسطة المستشعر البصري.
نسبة أعلى تعني أن المستشعر البصري يرصد ضوءًا أكثر. نسبة أقل تعني أن المستشعر البصري يرصد ضوءًا أقل.
Usage:
optical_1.brightness(readraw)
حدود |
وصف |
|---|---|
|
اختياري. قيمة منطقية لقراءة بيانات السطوع الخام بدلاً من النسبة المئوية:
|
hue#
hue تُرجع قيمة اللون الذي تم اكتشافه بواسطة المستشعر البصري كقيمة عشرية في نطاق من 0 إلى 359.99 درجة.
الصبغة هي طريقة لوصف اللون باستخدام الأرقام حول عجلة الألوان، كما هو موضح أدناه.

Usage:
optical_1.hue()
حدود |
وصف |
|---|---|
لا تحتوي هذه الطريقة على أي معلمات. |
# Check the hue of a detected object
# to determine if it is pink
while True:
brain.screen.clear_screen()
brain.screen.set_cursor(1, 1)
if 290 < optical_1.hue() < 350:
brain.screen.print("Pink!")
wait(0.1,SECONDS)
else:
brain.screen.print("Not pink.")
wait(0.1,SECONDS)
rgb#
rgb تُرجع قيم الأحمر والأخضر والأزرق والسطوع التي تم اكتشافها بواسطة المستشعر البصري على شكل مجموعة.
Usage:
optical_1.rgb(raw)
حدود |
وصف |
|---|---|
|
اختياري. قيمة منطقية لتحديد ما إذا كنت ستُرجع القيم الخام أو المُعالجة:
|
# Display the rgb values and brightness detected
# by the Optical Sensor.
brain.screen.set_font(FontType.MONO12)
while True:
brain.screen.clear_screen()
brain.screen.set_cursor(1, 1)
brain.screen.print(optical_1.rgb())
wait(0.1, SECONDS)
installed#
installed يعيد قيمة منطقية تشير إلى ما إذا كان المستشعر البصري متصلاً بالدماغ.
True— المستشعر البصري متصل بالدماغ.False— المستشعر البصري غير متصل بالدماغ.
Usage:
optical_1.installed()
حدود |
وصف |
|---|---|
لا تحتوي هذه الطريقة على أي معلمات. |
# Display a message if the Optical Sensor
# is installed.
if optical_1.installed():
brain.screen.print("Installed!")
أتصل مرة أخرى#
object_detected#
object_detected يسجل دالة رد نداء عند اكتشاف كائن.
Usage:
optical_1.object_detected(callback, arg)
حدود |
وصف |
|---|---|
|
A function that is previously defined to execute when an object is detected. |
|
اختياري. مجموعة تحتوي على الوسائط التي يتم تمريرها إلى دالة الاستدعاء. راجع الدوال ذات المعاملات لمزيد من المعلومات. |
def detected():
drivetrain.stop()
brain.screen.set_cursor(1, 1)
brain.screen.print("object detected")
wait(0.5,SECONDS)
brain.screen.clear_screen()
# Display a message when the
# Optical Sensor detects an object
drivetrain.drive(FORWARD)
optical_1.object_detected(detected)
object_lost#
object_lost يسجل دالة رد نداء عندما يفقد المستشعر البصري كائنًا تم اكتشافه.
Usage:
optical_1.object_lost(callback, arg)
حدود |
وصف |
|---|---|
|
A function that is previously defined to execute when an object is lost. |
|
اختياري. مجموعة تحتوي على الوسائط التي يتم تمريرها إلى دالة الاستدعاء. راجع الدوال ذات المعاملات لمزيد من المعلومات. |
def lost():
drivetrain.stop()
brain.screen.set_cursor(1, 1)
brain.screen.print("object lost")
wait(0.5,SECONDS)
brain.screen.clear_screen()
# Display a message when the Optical
# Sensor loses sight of on object
drivetrain.drive(REVERSE)
optical_1.object_lost(lost)
المُنشئون#
Constructors are used to manually create Optical objects, which are necessary for configuring an Optical Sensor outside of VEXcode.
Optical#
Optical يقوم بإنشاء مستشعر بصري.
Usage:
Optical(smartport)
المعلمة |
وصف |
|---|---|
|
المنفذ الذكي الذي يتصل به المستشعر البصري، ويكتب على النحو التالي: PORTx حيث x هو رقم المنفذ. |
# Construct an Optical Sensor "optical_1" with the
# Optical class
optical_1 = Optical(Ports.PORT1)
# Display the brightness of a red object detected
# by the Optical Sensor
drivetrain.turn(RIGHT)
while not optical_1.color() == Color.RED:
wait(50, MSEC)
drivetrain.stop()
brain.screen.print(optical_1.brightness())