Мозок#
Вступ#
У VEX EXP C++, Brain представлений класом brain Ви створюєте (або використовуєте стандартний, наданий проектом) об’єкт Brain, а потім отримуєте доступ до функцій Brain через його об’єкти-члени.
Похідні класи#
Клас brain слугує базовим класом для наступних похідних класів:
Screen– Цей клас надає доступ до вбудованого кольорового сенсорного екрана Brain, що дозволяє програмам відображати текст, графіку та отримувати сенсорне введення.Timer– Цей клас надає утиліти для вимірювання часу з високою роздільною здатністю, що використовується для вимірювання часу, що минув, та керування поведінкою програм на основі часу.Battery– Цей клас дозволяє програмам контролювати стан батареї Brain, включаючи напругу, струм, ємність та температуру.Button– Цей клас дозволяє програмам взаємодіяти з кнопками мозку.ThreeWirePort(triport/ 3-Wire Port) – цей клас забезпечує доступ до 3-провідних портів Brain для підключення та керування застарілими датчиками та пристроями, такими як кінцеві вимикачі, потенціометри та світлодіоди.SDcard– Цей клас дозволяє читати та записувати дані з SD-карти мозку для зберігання файлів, реєстрації даних та завантаження зовнішніх ресурсів.
Конструктори класів#
brain();
Параметри#
Конструктор brain не використовує параметрів.
Нотатки#
У проєкті слід створювати лише один об’єкт
brain.
Приклад#
// Create the EXP Brain
brain Brain = brain();
Функції-члени#
Клас brain включає такі функції-члени:
playSound– Відтворює один із вбудованих звукових ефектів Brain.playNote– Відтворює музичну ноту протягом певного часу.programStop- Зупиняє поточний запущений проект на EXP Brain.timer– Повертає поточне значення внутрішнього таймера Brain у заданих одиницях вимірювання.resetTimer- Скидає внутрішній таймер мозку до нуля та перезапускає відлік часу.setTimer- Встановлює внутрішній таймер Brain на задане значення та одиницю часу.
Перед викликом будь-яких функцій-членів brain необхідно створити екземпляр brain , як показано нижче:
// Create the EXP Brain
brain Brain = brain();
playSound#
Відтворює один із вбудованих звуків 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);
}
таймер#
Повертає поточне значення внутрішнього таймера Brain у вказаних одиницях вимірювання.
Available Functionsdouble timer(
timeUnits units );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Одиниця часу для повернення:
|
Повертає значення типу double , що представляє час, що минув з моменту запуску програми, у вказаних одиницях вимірювання.
Таймер запускається автоматично, коли починається проєкт.
Таймер можна скинути за допомогою
resetTimer.
// Stop the project after 3 seconds
while (Brain.timer(seconds) < 3) {
wait(20, msec);
}
Brain.programStop();
resetTimer#
Скидає внутрішній таймер мозку до нуля. Після цього таймер негайно починає відлік знову з нуля.
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");
встановити таймер#
Встановлює внутрішній таймер Brain на задане значення та одиницю часу.
Available Functionsvoid setTimer(
double value,
timeUnits units );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Час, на який потрібно встановити таймер, на основі значення |
|
|
Одиниця вимірювання, що використовується для інтерпретації значення параметра
|
Ця функція не повертає значення.
NotesТаймер продовжує відлік часу після встановлення.
Виклик
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");