مفتاح الصدمات#
مقدمة#
يتم استخدام فئة bumper مع مفتاح Bumper، وهو مفتاح ميكانيكي يكمل الدائرة عند الضغط عليه، مما يسمح للروبوت باكتشاف عمليات الضغط والإفلات.

مُنشئ الفئة#
bumper(
triport::port &port );
مُدمِّر الفئة#
يقوم بتدمير الكائن bumper وتحرير الموارد المرتبطة به.
virtual ~bumper();
حدود#
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
المنفذ ذو الأسلاك الثلاثة الذي يتصل به مفتاح Bumper، مكتوبًا على النحو التالي: |
مثال#
// Create a bumper instance in Port A
bumper BumperA = bumper(Brain.ThreeWirePort.A);
الدوال الأعضاء#
تتضمن فئة bumper الدوال الأعضاء التالية:
pressing— إرجاع ما إذا كان يتم الضغط على مفتاح المصد.pressed— يسجل وظيفة ليتم استدعاؤها عند الضغط على مفتاح Bumper.released— يسجل وظيفة ليتم استدعاؤها عند تحرير مفتاح Bumper.
قبل استدعاء أي من الدوال الأعضاء bumper ، يجب إنشاء مثيل bumper ، كما هو موضح أدناه:
/* This constructor is required when using VS Code.
Bumper Switch configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */
// Create a bumper instance in Port A
bumper BumperA = bumper(Brain.ThreeWirePort.A);
pressing#
تُعيد هذه الدالة ما إذا كان مفتاح الاصطدام مضغوطًا حاليًا. ويمكن استخدامها للتحقق مما إذا كان الروبوت يصطدم بأجسام أخرى.
Available Functionsint32_t pressing();
لا تقبل هذه الدالة أي معلمات.
Return Valuesيُرجع int32_t يشير إلى ما إذا كان يتم الضغط على مفتاح المصد.
1— يتم الضغط على زر المصد.0— لم يتم الضغط على مفتاح المصد.
pressed#
يسجل وظيفة ليتم استدعاؤها عند الضغط على مفتاح المصد.
Available Functionsvoid pressed( void (* callback)(void) );
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
مؤشر إلى دالة سيتم استدعاؤها عند الضغط على زر المصد. |
هذه الدالة لا تُرجع قيمة.
Examplesعرّف دالة الاستدعاء (خارج نطاق
int main())// Display a message when bumper is pressed void BumperPressed() { Brain.Screen.print("Bumper pressed"); }قم بتسجيل دالة الاستدعاء داخل الدالة الرئيسية
int main()int main() { /* vexcodeInit() is only required when using VEXcode. Remove vexcodeInit() if compiling in VS Code. */ vexcodeInit(); // Run BumperPressed when the value of the Bumper Switch is pressed. BumperA.pressed(BumperPressed); }
released#
يسجل وظيفة ليتم استدعاؤها عند تحرير مفتاح المصد.
Available Functionsvoid released( void (* callback)(void) );
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
مؤشر إلى دالة سيتم استدعاؤها عند تحرير المصد. |
هذه الدالة لا تُرجع قيمة.
Examplesعرّف دالة الاستدعاء (خارج نطاق
int main())// Display a message when bumper is released void BumperReleased() { Brain.Screen.print("Bumper released"); }قم بتسجيل دالة الاستدعاء داخل الدالة الرئيسية
int main()int main() { /* vexcodeInit() is only required when using VEXcode. Remove vexcodeInit() if compiling in VS Code. */ vexcodeInit(); // Run BumperReleased when the value of the Bumper Switch is released. BumperA.released(BumperReleased); }