الجيروسكوب#
مقدمة#
مستشعر الجيروسكوب هو مستشعر حركة يكشف الدوران حول محور واحد. يمكنه قياس مقدار دوران الروبوت، مما يسمح له بتتبع اتجاهه ومساره.
تستخدم هذه الصفحة الاسم drivetrain_gyro كمثال لاسم مستشعر الجيروسكوب. استبدله بالاسم الذي قمت بتكوينه حسب الحاجة.
فيما يلي قائمة بجميع الطرق المتاحة:
الإجراءات — معايرة أو ضبط اتجاه ودوران مستشعر الجيروسكوب.
calibrate— معايرة مستشعر الجيروسكوب لتتبع الاتجاه بشكل مستقر.set_heading— يضبط اتجاه مستشعر الجيروسكوب على قيمة محددة.set_rotation— يحدد قيمة دوران مستشعر الجيروسكوب.reset_heading— يضبط اتجاه مستشعر الجيروسكوب إلى 0.reset_rotation— يضبط دوران مستشعر الجيروسكوب إلى 0.
أجهزة الاستقبال — اقرأ اتجاه مستشعر الجيروسكوب ودورانه وحالته.
heading— إرجاع العنوان الحالي.rotation— يعيد الدوران التراكمي.rate— تُرجع السرعة الزاوية حول المحور x أو y أو z.is_calibrating— تُرجع ما إذا كان مستشعر الجيروسكوب يقوم بالمعايرة أم لا.installed— إرجاع ما إذا كان مستشعر الجيروسكوب متصلاً بالدماغ أم لا.
استدعاء رجعي — تشغيل التعليمات البرمجية عندما يكتشف مستشعر الجيروسكوب حركة أو تغييرًا.
changed— يسجل دالة يتم استدعاؤها عندما يكتشف مستشعر الجيروسكوب التغيير.
المنشئات — تهيئة وتكوين مستشعر الجيروسكوب يدويًا.
Gyro— إنشاء مستشعر جيروسكوب.
الإجراءات#
calibrate#
يُجري الأمر calibrate معايرة لمستشعر الجيروسكوب. ستنتظر جميع الأسطر اللاحقة اكتمال المعايرة قبل التنفيذ. المعايرة هي إجراء داخلي يقيس ويعوض ضوضاء المستشعر وانحرافه خلال فترة زمنية محددة. خلال هذه الفترة، يجب أن يبقى مستشعر الجيروسكوب ثابتًا تمامًا (أي على سطح ثابت دون أي حركة خارجية). أي حركة أثناء المعايرة ستؤدي إلى نتائج غير دقيقة.
Usage:
calibrate()
المعلمة |
وصف |
|---|---|
لا تحتوي هذه الطريقة على أي معلمات. |
# Start Gyro Sensor calibration
drivetrain_gyro.calibrate()
# Print after calibration
while drivetrain_gyro.is_calibrating():
wait(0.1, SECONDS)
brain.screen.print("Done!")
set_heading#
set_heading يضبط اتجاه مستشعر الجيروسكوب على قيمة محددة.
Usage:
set_heading(value, units)
حدود |
وصف |
|---|---|
قيمة |
قيمة العنوان المراد تعيينها. |
وحدات |
اختياري. الوحدة المستخدمة لتمثيل العنوان الجديد:
|
# Turn the robot around
drivetrain_gyro.set_heading(180)
drivetrain.turn_to_heading(0)
set_rotation#
set_rotation يضبط دوران مستشعر الجيروسكوب على قيمة محددة.
Usage:
set_rotation(value, units)
حدود |
وصف |
|---|---|
|
قيمة العنوان المراد تعيينها. |
|
اختياري. الوحدة المستخدمة لتمثيل قيمة الدوران الجديدة:
|
# Turn the robot around
drivetrain_gyro.set_rotation(-180)
drivetrain.turn_to_rotation(0)
reset_heading#
reset_heading يعيد ضبط اتجاه مستشعر الجيروسكوب إلى 0.
Usage:
reset_heading()
حدود |
وصف |
|---|---|
لا تحتوي هذه الطريقة على أي معلمات. |
# Turn the robot before and after resetting the heading
drivetrain.turn_to_heading(90, DEGREES)
wait(0.5,SECONDS)
drivetrain_gyro.reset_heading()
drivetrain.turn_to_heading(90, DEGREES)
reset_rotation#
reset_rotation يعيد ضبط دوران مستشعر الجيروسكوب إلى 0.
Usage:
reset_rotation()
حدود |
وصف |
|---|---|
لا تحتوي هذه الطريقة على أي معلمات. |
# Turn the robot before and after resetting the rotation
drivetrain.turn_to_rotation(-90, DEGREES)
wait(0.5,SECONDS)
drivetrain_gyro.reset_rotation()
drivetrain.turn_to_rotation(-90, DEGREES)
المحصلون#
heading#
heading يعيد الاتجاه الحالي لمستشعر الجيروسكوب.
Usage:
heading(units)
حدود |
وصف |
|---|---|
|
اختياري. الوحدة المستخدمة لتمثيل العنوان:
|
# Display the heading after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(drivetrain_gyro.heading())
rotation#
rotation return the current rotation of the Gyro Sensor.
Usage:
rotation(units)
حدود |
وصف |
|---|---|
|
اختياري. الوحدة المستخدمة لتمثيل الدوران:
|
# Display the rotation after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(drivetrain_gyro.rotation())
rate#
rate يعيد معدل التغير الحالي لدوران مستشعر الجيروسكوب بوحدات محددة.
Usage:
rate(units)
حدود |
وصف |
|---|---|
|
اختياري. الوحدة المستخدمة لتمثيل معدل الدوران:
|
# Display the rate of change of
# rotation while turning
drivetrain.turn(RIGHT)
wait(1, SECONDS)
brain.screen.print(drivetrain_gyro.rate())
drivetrain.stop()
is_calibrating#
is_calibrating يتحقق مما إذا كان مستشعر الجيروسكوب يقوم بالمعايرة حاليًا.
True— يتم معايرة مستشعر الجيروسكوب.False— مستشعر الجيروسكوب لا يقوم بالمعايرة.
Usage:
is_calibrating()
المعلمة |
وصف |
|---|---|
لا تحتوي هذه الطريقة على أي معلمات. |
# Start Gyro Sensor calibration.
drivetrain_gyro.calibrate()
# Print after calibration
while drivetrain_gyro.is_calibrating():
wait(0.1, SECONDS)
brain.screen.print("Done!")
installed#
installed يعيد قيمة منطقية تشير إلى ما إذا كان مستشعر الجيروسكوب متصلاً بالدماغ.
True— مستشعر الجيروسكوب متصل بالدماغ.False— مستشعر الجيروسكوب غير متصل بالدماغ.
Usage:
installed()
حدود |
وصف |
|---|---|
لا تحتوي هذه الطريقة على أي معلمات. |
# Display a message if the Gyro Sensor is
# installed.
if drivetrain_gyro.installed():
brain.screen.print("Installed!")
أتصل مرة أخرى#
changed#
changed يسجل دالة رد نداء عند تغيير اتجاه مستشعر الجيروسكوب.
Usage:
changed(callback, arg)
حدود |
وصف |
|---|---|
|
دالة الاستدعاء التي سيتم استدعاؤها عند تغيير اتجاه مستشعر الجيروسكوب. |
|
اختياري. مجموعة من الوسائط لتمريرها إلى دالة الاستدعاء. |
def gyro_changed():
brain.screen.clear_screen()
brain.screen.set_cursor(1, 1)
brain.screen.print("Heading: ")
brain.screen.print(drivetrain_gyro.heading())
# Display the heading when the gyro detects a change
drivetrain.turn_for(RIGHT, 90, DEGREES, wait=False)
drivetrain_gyro.changed(gyro_changed)
المُنشئون#
تُستخدم الدوال البانية لإنشاء كائنات Gyro يدويًا، وهي ضرورية لتكوين مستشعر الجيروسكوب خارج VEXcode.
Gyro#
Gyro يُنشئ مستشعر جيروسكوب.
Usage:
Gyro(smartport)
المعلمة |
وصف |
|---|---|
|
المنفذ الذكي الذي يتصل به مستشعر الجيروسكوب، ويكتب على النحو التالي: PORTx حيث x هو رقم المنفذ. |
# Create the Brain
brain = Brain()
# When constructing Gyro Sensor "drivetrain_gyro" with a
# SmartDrive "drivetrain"
drivetrain_gyro = Gyro(Ports.PORT1)
drivetrain = SmartDrive(left_drive_smart, right_drive_smart, drivetrain_gyro, 200)
drivetrain_gyro.set_heading(180)
drivetrain.turn_to_heading(0)