مستشعر الدوران#
مقدمة#
يقيس مستشعر الدوران دوران العمود. ويمكن استخدامه في أي مكان على الروبوت حيث يدور العمود، حتى لو لم يكن هذا العمود متصلاً مباشرة بمحرك.
يحتوي المحرك على مشفر داخلي يمكنه تتبع دورانه. أما مستشعر الدوران فيعمل كمشفر خارجي يمكنه تتبع دوران عمود منفصل.
يُمكن لمستشعر الدوران إرجاع زاوية العمود وموضعه وسرعته. الزاوية هي الموضع المطلق للعمود، وتتراوح من 0 إلى 359.99 درجة. ولا تتم إعادة ضبطها عند بدء مشروع أو عند إيقاف تشغيل الروبوت. أما الموضع، فيتتبع عدد الدرجات أو الدورات التي دارها العمود للأمام أو للخلف أثناء المشروع، ويمكن إعادة ضبطه عند الحاجة.
يتوافق مستشعر الدوران مع أعمدة VEX القياسية مقاس 1/8 بوصة و 1/4 بوصة.

تستخدم هذه الصفحة الاسم rotation_sensor كمثال لاسم مستشعر الدوران. استبدله بالاسم الذي قمت بتكوينه حسب الحاجة.
فيما يلي قائمة بالطرق المتاحة:
set_position— يضبط الموضع الحالي لمستشعر الدوران على قيمة محددة.angle— يعيد الزاوية الحالية للعمود من 0 إلى 359.99 درجة.position— تُرجع هذه الدالة مقدار دوران العمود بالدرجات أو الدورات.velocity— تُرجع مدى سرعة دوران العمود.reset_position— يعيد ضبط الموضع الحالي لمستشعر الدوران إلى 0.set_reversed— يحدد ما إذا كان خرج مستشعر الدوران معكوسًا.changed— يسجل وظيفة لتشغيلها كلما تغيرت قيمة مستشعر الدوران.
المنشئ — تهيئة مستشعر الدوران يدويًا.
Rotation— إنشاء مستشعر دوران.
تحديد_الموضع#
set_position يضبط الموضع الحالي لمستشعر الدوران على قيمة معينة.
يُشير الموضع إلى مدى دوران العمود أثناء المشروع. ويؤدي ضبط الموضع إلى تغيير قيمة الموضع الحالية دون تحريك العمود.
Usage:
rotation_sensor.set_position(position, units)
حدود |
وصف |
|---|---|
|
قيمة الموضع المراد تعيينها لمستشعر الدوران. يمكن أن تكون هذه القيمة عددًا صحيحًا أو عددًا عشريًا. |
|
اختياري. وحدة تحديد الموضع: |
# Set the Rotation Sensor to 2.5 Turns
rotation_sensor.set_position(2.5, TURNS)
زاوية#
angle تُرجع الزاوية الحالية للعمود كقيمة عشرية.
يُبلغ جهاز Angle عن الموضع المطلق للمحور خلال دورة واحدة، من 0 إلى 359.99 درجة. ولا تتم إعادة ضبطه عند بدء مشروع أو عند إيقاف تشغيل الروبوت.
Usage:
rotation_sensor.angle(units)
حدود |
وصف |
|---|---|
|
اختياري. وحدة الزاوية: |
موضع#
الوضع position يُرجع مقدار دوران العمود.
على عكس الزاوية، يمكن أن تزيد قيمة الموضع عن 359.99 درجة أو تنخفض عن 0 درجة. يتتبع الموضع مدى دوران العمود للأمام أو للخلف أثناء المشروع، ويمكن إعادة ضبطه حسب الحاجة.
Usage:
rotation_sensor.position(units)
حدود |
وصف |
|---|---|
|
اختياري. وحدة تحديد الموضع: |
سرعة#
السرعة velocity تُشير إلى مدى سرعة دوران العمود.
Usage:
rotation_sensor.velocity(units)
حدود |
وصف |
|---|---|
|
وحدة السرعة: |
إعادة ضبط الموضع#
reset_position يعيد ضبط الموضع الحالي لمستشعر الدوران إلى 0.
Usage:
rotation_sensor.reset_position()
حدود |
وصف |
|---|---|
لا تحتوي هذه الطريقة على أي معلمات. |
set_reversed#
set_reversed يحدد ما إذا كان خرج مستشعر الدوران معكوسًا.
عند عكسها، تصبح القيم الموجبة سالبة والقيم السالبة موجبة. تعمل هذه الطريقة بنفس طريقة ضبط المعامل reverse إلى True عند استخدام Rotation constructor.
Usage:
rotation_sensor.set_reversed(value)
حدود |
وصف |
|---|---|
|
ما إذا كان سيتم عكس خرج مستشعر الدوران: |
تم التغيير#
changed يسجل دالة ليتم استدعاؤها كلما تغيرت قيمة مستشعر الدوران.
Usage:
rotation_sensor.changed(callback, arg)
حدود |
وصف |
|---|---|
|
A previously defined function that runs when the Rotation Sensor’s value changes. |
|
اختياري. مجموعة تحتوي على الوسائط التي يتم تمريرها إلى دالة الاستدعاء. راجع استخدام الدوال ذات المعاملات لمزيد من المعلومات. |
def my_function():
brain.screen.print("Rotated!")
# Call my_function whenever rotation_sensor's value changes
rotation_sensor.changed(my_function)
المُنشئ#
تُستخدم الدوال البانية لإنشاء كائنات Rotation يدويًا، كما هو الحال عند تكوين مستشعر الدوران خارج VEXcode.
Rotation#
Rotation يُنشئ كائن مستشعر الدوران.
Usage:
Rotation(smartport)
المعلمة |
وصف |
|---|---|
|
المنفذ الذكي الذي يتصل به مستشعر الدوران، مكتوبًا على النحو التالي: |
|
اختياري. ما إذا كان سيتم عكس خرج مستشعر الدوران: |
# Create an inverted Rotation Sensor in Port 10
rotation_sensor = Rotation(Ports.PORT10, True)