برج الإشارة#

مقدمة#

برج الإشارة هو جهاز يستخدم أضواء ملونة لعرض حالة الروبوت. كما أنه مزود بمفتاح مدمج يعمل بالضغط، ويستشعر متى يتم الضغط عليه.

بالنسبة للأمثلة أدناه، سيتم تسمية برج الإشارة المُكوّن signal_tower_1 وسيتم استخدامه في جميع الأمثلة اللاحقة في جميع أنحاء وثائق واجهة برمجة التطبيقات هذه عند الإشارة إلى SignalTower.

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

المُهيئون – ضبط ألوان وأنماط إضاءة برج الإشارة.

  • set_color – يحدد النمط لواحد أو جميع مصابيح LED الخاصة ببرج الإشارة.

  • set_colors – يحدد حالة كل مصباح LED في برج الإشارة.

المُستقبِلون – اقرأوا حالة مصد برج الإشارة.

  • pressing – إرجاع ما إذا كان زر برج الإشارة مضغوطًا حاليًا.

الاستدعاءات - تشغيل التعليمات البرمجية عند تغيير حالة مصد برج الإشارة.

  • pressed – يسجل وظيفة ليتم استدعاؤها عند الضغط على مصد برج الإشارة.

  • released – يسجل وظيفة ليتم استدعاؤها عند تحرير مصد برج الإشارة.

المنشئون – تهيئة وتكوين برج الإشارة يدويًا.

المعدون#

set_color#

يُحدد الأمر set_color نمط إضاءة واحد أو جميع مصابيح LED الموجودة على برج الإشارة. يمكن استخدام هذه المصابيح لتتبع موقع الروبوت في المشروع أو للإشارة إلى استيفاء شروط معينة.

Usage:
signal_tower_1.set_color(value, state)

المعلمة

وصف

قيمة

لون الضوء المراد التحكم به:

  • SignalTower.RED
  • SignalTower.GREEN
  • SignalTower.BLUE
  • SignalTower.YELLOW
  • SignalTower.WHITE
  • SignalTower.ALL — تطبيق الإجراء على جميع الألوان.

ولاية

نمط الإضاءة المطلوب تطبيقه:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — تومض الأضواء.

# Set the Signal Tower to start blinking the blue LED
signal_tower_1.set_color(SignalTower.BLUE, signal_tower.BLINK)

set_colors#

يُحدد الأمر set_colors حالة كل مصباح LED في برج الإشارة. يمكن استخدام هذه المصابيح لتتبع موقع الروبوت في المشروع أو للإشارة إلى استيفاء شروط معينة.

Usage:
signal_tower_1.set_colors(r, y, g, b, w)

المعلمة

وصف

ر

حالة الضوء الأحمر:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — تومض الأضواء.

y

حالة الضوء الأصفر:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — تومض الأضواء.

ز

حالة الضوء الأخضر:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — تومض الأضواء.

ب

حالة الضوء الأزرق:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — تومض الأضواء.

w

حالة الضوء الأبيض:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — تومض الأضواء.

# Turn on all LEDs
signal_tower_1.set_colors(SignalTower.ON, SignalTower.ON, SignalTower.ON, SignalTower.ON, SignalTower.ON)

# Turn on just the red LED
signal_tower_1.set_colors(SignalTower.ON, SignalTower.OFF, SignalTower.OFF, SignalTower.OFF, SignalTower.OFF)

المحصلون#

pressing#

الضغط على pressing يُعيد قيمة منطقية تُشير إلى ما إذا كان زرّ المصدّ الخاص ببرج الإشارة مضغوطًا حاليًا. ويمكن استخدام هذه الخاصية كزرّ إيقاف طارئ.

  • True — يتم الضغط حاليًا على مصد برج الإشارة.

  • False — لا يتم الضغط على مصد برج الإشارة.

Usage:
signal_tower_1.pressing()

معاودة الاتصال#

pressed#

pressed registers a function to be called when the Signal Tower’s bumper is pressed.

This method returns an instance of the Event class.

Usage:
signal_tower_1.pressed(callback, arg)

حدود

وصف

callback

A previously defined function that executes when the Signal Tower’s bumper is pressed.

arg

Optional. A tuple containing arguments to pass to the callback function. See Functions with Parameters for more information.

# Define a function tower_button_pressed()
def tower_button_pressed():
    # Print that the Signal Tower's button was pressed
    # to the Brain's screen.
    brain.screen.print("button pressed")

# Run tower_button_pressed when the Signal Tower's
# button is pressed.
signal_tower_1.pressed(tower_button_pressed)

released#

released يسجل وظيفة ليتم استدعاؤها عند تحرير مصد برج الإشارة.

This method returns an instance of the Event class.

Usage:
signal_tower_1.released(callback, arg)

حدود

وصف

callback

A previously defined function that executes when the Signal Tower’s bumper is released.

arg

Optional. A tuple containing arguments to pass to the callback function. See Functions with Parameters for more information.

# Define a function tower_button_released()
def tower_button_released():
    # Print that the Signal Tower's button was released
    # to the Brain's screen.
    brain.screen.print("button released")

# Run tower_button_released when the Signal Tower's
# button is released.
signal_tower_1.released(tower_button_released)

المُنشئون#

SignalTower#

SignalTower يُنشئ برج إشارة.

SignalTower(smartport)

المعلمة

وصف

smartport

المنفذ الذكي الذي يتصل به برج الإشارة، مكتوبًا على النحو التالي: Ports.PORTx حيث x هو رقم المنفذ.

# Construct a Signal Tower "signal_tower_1" with the
# SignalTower class
signal_tower_1 = SignalTower(Ports.PORT1)