مخ#
مقدمة#
في VEX EXP C++، يُمثَّل الدماغ بالفئة brain يمكنك إنشاء كائن الدماغ (أو استخدام الكائن الافتراضي المُقدَّم من المشروع) ثم الوصول إلى خصائص الدماغ من خلال كائناته الأعضاء.
الفئات المشتقة#
تُعتبر فئة brain فئة أساسية للفئات المشتقة التالية:
Screen- توفر هذه الفئة إمكانية الوصول إلى شاشة اللمس الملونة المدمجة في الدماغ، مما يسمح للبرامج بعرض النصوص والرسومات واستقبال مدخلات اللمس.Timer- توفر هذه الفئة أدوات توقيت عالية الدقة لقياس الوقت المنقضي والتحكم في السلوك القائم على الوقت في البرامج.Battery- تسمح هذه الفئة للبرامج بمراقبة حالة بطارية الدماغ، بما في ذلك الجهد والتيار والسعة ودرجة الحرارة.Button- تسمح هذه الفئة للبرامج بالتفاعل مع أزرار الدماغ.ThreeWirePort(triport/ 3-Wire Port) - توفر هذه الفئة إمكانية الوصول إلى منافذ Brain ذات 3 أسلاك لتوصيل والتحكم في أجهزة الاستشعار والأجهزة القديمة مثل مفاتيح الحد، ومقاييس الجهد، ومصابيح LED.SDcard- تتيح هذه الفئة القراءة من بطاقة SD الخاصة بالدماغ والكتابة إليها لتخزين الملفات وتسجيل البيانات وتحميل الموارد الخارجية.
مُنشئات الفئات#
brain();
حدود#
لا يستخدم مُنشئ الدماغ brain أي معلمات.
ملحوظات#
يجب إنشاء كائن واحد فقط من نوع
brainفي المشروع.
مثال#
// Create the EXP Brain
brain Brain = brain();
الدوال الأعضاء#
تتضمن فئة brain الدوال الأعضاء التالية:
playSound- يقوم بتشغيل أحد المؤثرات الصوتية المدمجة في الدماغ.playNote- يعزف نغمة موسيقية لمدة محددة.programStop- يوقف المشروع قيد التشغيل حاليًا على EXP Brain.timer- يعيد القيمة الحالية للمؤقت الداخلي للدماغ بالوحدات المحددة.resetTimer- يعيد ضبط المؤقت الداخلي للدماغ إلى الصفر ويعيد تشغيل التوقيت.setTimer- يقوم بتعيين المؤقت الداخلي للدماغ إلى قيمة ووحدة زمنية محددة.
قبل استدعاء أي من الدوال الأعضاء brain ، يجب إنشاء مثيل brain ، كما هو موضح أدناه:
// Create the EXP Brain
brain Brain = brain();
تشغيل الصوت#
يقوم بتشغيل أحد الأصوات المدمجة في الدماغ.
Available Functionsvoid playSound(
soundtype sound,
uint32_t volume = 50 );
حدود |
يكتب |
وصف |
|---|---|---|
|
|
الصوت المحدد الذي سيتم تشغيله من الدماغ. |
|
|
اختياري. مستوى الصوت الذي سيتم تشغيله كرقم صحيح من 0% إلى 100%. القيمة الافتراضية هي 50%. |
اسم الصوت |
تشغيل الصوت |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
هذه الدالة لا تُرجع قيمة.
تشغيل نوتة موسيقية#
يعزف نغمة موسيقية من الدماغ.
Available Functions1 - عزف نغمة موسيقية.
void playNote( int32_t octave, int32_t note );
Parameters2 - يعزف نغمة موسيقية لمدة محددة وبمستوى صوت محدد.
void playNote( int32_t octave, int32_t note, int32_t duration, int32_t volume = 50 );
حدود |
يكتب |
وصف |
|---|---|---|
|
|
العدد الصحيح الذي يمثل الأوكتاف الذي تُعزف فيه النوتة الموسيقية:
|
|
|
النوتة الموسيقية المطلوب عزفها:
|
|
|
اختياري. مدة عزف النوتة بالمللي ثانية، بحد أقصى 500 مللي ثانية. في حال عدم تحديد مدة، تكون المدة الافتراضية 500 مللي ثانية. |
|
|
اختياري. مستوى الصوت الذي سيتم تشغيله كرقم صحيح من 0% إلى 100%. القيمة الافتراضية هي 50%. |
هذه الدالة لا تُرجع قيمة.
إيقاف البرنامج#
يوقف المشروع قيد التشغيل حاليًا على جهاز EXP Brain.
Available Functionsvoid programStop();
لا تقبل هذه الدالة أي معلمات.
Return Valuesهذه الدالة لا تُرجع قيمة.
Examples// Stop the project when the Brain screen is pressed
while (true) {
if (Brain.Screen.pressing()) {
Brain.programStop();
}
wait(20, msec);
}
مؤقت#
يُعيد القيمة الحالية للمؤقت الداخلي للدماغ بالوحدات المحددة.
Available Functionsdouble timer(
timeUnits units );
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
The unit of time to return:
|
تُرجع قيمة double تمثل الوقت المنقضي منذ بدء البرنامج، بالوحدات المحددة.
يبدأ المؤقت تلقائيًا عند بدء المشروع.
يمكن إعادة ضبط المؤقت باستخدام
resetTimer.
// Stop the project after 3 seconds
while (Brain.timer(seconds) < 3) {
wait(20, msec);
}
Brain.programStop();
إعادة ضبط المؤقت#
يعيد ضبط المؤقت الداخلي للدماغ إلى الصفر، وبعد ذلك، يبدأ المؤقت على الفور في العد التصاعدي مرة أخرى من الصفر.
Available Functionsvoid resetTimer();
لا تقبل هذه الدالة أي معلمات.
Return Valuesهذه الدالة لا تُرجع قيمة.
Notesيبدأ المؤقت بالعد مرة أخرى فور إعادة ضبطه.
يؤثر استدعاء
resetTimerعلى القيمة التي يتم إرجاعها بواسطة الاستدعاءات اللاحقة لـtimer.
// 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 Functionsvoid setTimer(
double value,
timeUnits units );
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
الوقت الذي يتم ضبط المؤقت عليه، بناءً على |
|
|
الوحدة المستخدمة لتفسير القيمة
|
هذه الدالة لا تُرجع قيمة.
Notesيستمر المؤقت في العد التصاعدي بعد ضبطه.
يؤدي استدعاء setTimer
setTimerتغيير القيمة التي تم إرجاعها بواسطةtimer.
// 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");