مخ#

مقدمة#

في VEX V5 C++، يُمثَّل الدماغ بالفئة brain يمكنك إنشاء كائن الدماغ (أو استخدام الكائن الافتراضي المُقدَّم من المشروع) ثم الوصول إلى خصائص الدماغ من خلال كائناته الأعضاء.

الفئات المشتقة#

تُعتبر فئة brain فئة أساسية للفئات المشتقة التالية:

  • Screen - توفر هذه الفئة إمكانية الوصول إلى شاشة اللمس الملونة المدمجة في الدماغ، مما يسمح للبرامج بعرض النصوص والرسومات واستقبال مدخلات اللمس.

  • Timer - توفر هذه الفئة أدوات توقيت عالية الدقة لقياس الوقت المنقضي والتحكم في السلوك القائم على الوقت في البرامج.

  • Battery - تسمح هذه الفئة للبرامج بمراقبة حالة بطارية الدماغ، بما في ذلك الجهد والتيار والسعة ودرجة الحرارة.

  • ThreeWirePort (triport / 3-Wire Port) - توفر هذه الفئة إمكانية الوصول إلى منافذ Brain ذات 3 أسلاك لتوصيل والتحكم في أجهزة الاستشعار والأجهزة القديمة مثل مفاتيح الحد، ومقاييس الجهد، ومصابيح LED.

  • SDcard - تتيح هذه الفئة القراءة من بطاقة SD الخاصة بالدماغ والكتابة إليها لتخزين الملفات وتسجيل البيانات وتحميل الموارد الخارجية.

مُنشئات الفئات#

brain();

حدود#

لا يستخدم مُنشئ الدماغ brain أي معلمات.

ملحوظات#

  • يجب إنشاء كائن واحد فقط من نوع brain في المشروع.

مثال#

// Create the V5 Brain
brain Brain = brain();

الدوال الأعضاء#

تتضمن فئة brain الدوال الأعضاء التالية:

  • programStop - يوقف المشروع قيد التشغيل حاليًا على V5 Brain.

  • timer - يعيد القيمة الحالية للمؤقت الداخلي للدماغ بالوحدات المحددة.

  • resetTimer - يعيد ضبط المؤقت الداخلي للدماغ إلى الصفر ويعيد تشغيل التوقيت.

  • setTimer - يقوم بتعيين المؤقت الداخلي للدماغ إلى قيمة ووحدة زمنية محددة.

قبل استدعاء أي من الدوال الأعضاء brain ، يجب إنشاء مثيل brain ، كما هو موضح أدناه:

// Create the V5 Brain
brain Brain = brain();

إيقاف البرنامج#

يوقف المشروع قيد التشغيل حاليًا على معالج V5.

Available Functions
void programStop();

Parameters

لا تقبل هذه الدالة أي معلمات.

Return Values

هذه الدالة لا تُرجع قيمة.

Examples
// Stop the project when the Brain screen is pressed
while (true) {
  if (Brain.Screen.pressing()) {
    Brain.programStop();
  }
  wait(20, msec);
}

مؤقت#

يُعيد القيمة الحالية للمؤقت الداخلي للدماغ بالوحدات المحددة.

Available Functions
double timer(
  timeUnits units );

Parameters

المعلمة

يكتب

وصف

units

timeUnits

The unit of time to return:

  • seconds / sec - seconds
  • msec - milliseconds

Return Values

تُرجع قيمة double تمثل الوقت المنقضي منذ بدء البرنامج، بالوحدات المحددة.

Examples
  • يبدأ المؤقت تلقائيًا عند بدء المشروع.

  • يمكن إعادة ضبط المؤقت باستخدام resetTimer .

Examples
// Stop the project after 3 seconds
while (Brain.timer(seconds) < 3) {
  wait(20, msec);
}

Brain.programStop();

إعادة ضبط المؤقت#

يعيد ضبط المؤقت الداخلي للدماغ إلى الصفر، وبعد ذلك، يبدأ المؤقت على الفور في العد التصاعدي مرة أخرى من الصفر.

Available Functions
void resetTimer();

Parameters

لا تقبل هذه الدالة أي معلمات.

Return Values

هذه الدالة لا تُرجع قيمة.

Notes
  • يبدأ المؤقت بالعد مرة أخرى فور إعادة ضبطه.

  • يؤثر استدعاء resetTimer على القيمة التي يتم إرجاعها بواسطة الاستدعاءات اللاحقة لـ timer.

Examples
// Reset the timer and measure elapsed time
Brain.resetTimer();

while (Brain.timer(sec) < 5) {
  wait(20, msec);
}

// 5 seconds have elapsed since reset
Brain.Screen.print("5 seconds passed");

ضبط المؤقت#

يضبط المؤقت الداخلي للدماغ على قيمة ووحدة زمنية محددة.

Available Functions
void setTimer(
  double value,
  timeUnits units );

Parameters

المعلمة

يكتب

وصف

value

double

الوقت الذي يتم ضبط المؤقت عليه، بناءً على timeUnits المقدمة في المعلمة units.

units

timeUnits

الوحدة المستخدمة لتفسير القيمة value :

  • seconds / sec - ثوانٍ
  • msec - مللي ثانية

Return Values

هذه الدالة لا تُرجع قيمة.

Notes
  • يستمر المؤقت في العد التصاعدي بعد ضبطه.

  • يؤدي استدعاء setTimer setTimer تغيير القيمة التي تم إرجاعها بواسطة timer.

Examples
// Set the timer to start at 10 seconds
Brain.setTimer(10, sec);

// Wait until the timer is at 3 seconds
while (Brain.timer(sec) < 3) {
  wait(20, msec);
}

// 5 seconds have elapsed since setTimer was called
Brain.Screen.print("5 seconds passed");