Mózg#

Wstęp#

W VEX EXP C++ obiekt Brain jest reprezentowany przez klasę brain Tworzysz (lub używasz domyślnego obiektu Brain dostarczonego przez projekt), a następnie uzyskujesz dostęp do funkcji obiektu Brain za pośrednictwem jego obiektów członkowskich.

Klasy pochodne#

Klasa brain służy jako klasa bazowa dla następujących klas pochodnych:

  • Screen - Ta klasa zapewnia dostęp do wbudowanego kolorowego ekranu dotykowego mózgu, umożliwiając programom wyświetlanie tekstu, grafiki i odbieranie danych dotykowych.

  • Timer - Ta klasa udostępnia narzędzia pomiarowe o wysokiej rozdzielczości do pomiaru upływu czasu i kontrolowania zachowań opartych na czasie w programach.

  • Battery - Ta klasa umożliwia programom monitorowanie stanu baterii mózgu, w tym napięcia, prądu, pojemności i temperatury.

  • Button - Ta klasa umożliwia programom interakcję z przyciskami mózgu.

  • ThreeWirePort (triport / Port 3-Wire) - Ta klasa zapewnia dostęp do portów 3-Wire Brain w celu podłączania i kontrolowania starszych czujników i urządzeń, takich jak wyłączniki krańcowe, potencjometry i diody LED.

  • SDcard — Ta klasa umożliwia odczytywanie i zapisywanie danych na karcie SD mózgu w celu przechowywania plików, rejestrowania danych i ładowania zasobów zewnętrznych.

Konstruktory klas#

brain();

Parametry#

Konstruktor brain nie używa żadnych parametrów.

Notatki#

  • W projekcie powinien zostać utworzony tylko jeden obiekt brain.

Przykład#

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

Funkcje członkowskie#

Klasa brain zawiera następujące funkcje członkowskie:

  • playSound - Odtwarza jeden z wbudowanych efektów dźwiękowych mózgu.

  • playNote - Odtwarza nutę muzyczną przez określony czas.

  • programStop - Zatrzymuje aktualnie uruchomiony projekt w EXP Brain.

  • timer - Zwraca aktualną wartość wewnętrznego timera mózgu w określonych jednostkach.

  • resetTimer - Resetuje wewnętrzny licznik czasu mózgu do zera i ponownie uruchamia odliczanie czasu.

  • setTimer - Ustawia wewnętrzny timer mózgu na określoną wartość i jednostkę czasu.

Przed wywołaniem jakiejkolwiek funkcji członkowskiej brain należy utworzyć instancję brain , jak pokazano poniżej:

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

playSound#

Odtwarza jeden z wbudowanych dźwięków Mózgu.

Available Functions
void playSound(
    soundtype sound,
    uint32_t volume = 50 );

Parameters

Parametry

Typ

Opis

sound

soundtype

Określony dźwięk do odtworzenia z Mózgu.

volume

uint32_t

Opcjonalnie. Głośność, z jaką będzie odtwarzany dźwięk, wyrażona jako liczba całkowita od 0% do 100%. Domyślnie jest to 50%.

Nazwa dźwięku

Odtwórz dźwięk

alarm

alarm2

doorClose

fillup

headlightsOff

headlightsOn

powerDown

ratchet

ratchet2

siren

siren2

tada

tollBooth

wrench

wrongWay

wrongWaySlow

Return Values

Ta funkcja nie zwraca wartości.

playNote#

Odtwarza nutę muzyczną z Mózgu.

Available Functions

1 - Zagraj nutę muzyczną.

void playNote(
    int32_t octave,
    int32_t note );

2 - Odtwarza nutę przez określony czas i z określoną głośnością.

void playNote(
    int32_t octave,
    int32_t note,
    int32_t duration,
    int32_t volume = 50 );

Parameters

Parametry

Typ

Opis

octave

int32_t

Liczba całkowita reprezentująca oktawę, w której grana jest nuta:

  • 1 do 3 - oktawa niska
  • 4 do 7 - oktawa wysoka

note

int32_t

Nuta do zagrania:

  • 0 - C
  • 1 - D
  • 2 - E
  • 3 - F
  • 4 - G
  • 5 - A
  • 6 - B

duration

int32_t

Opcjonalnie. Czas trwania nuty w milisekundach, maksymalnie 500 milisekund. Jeśli nie podano czasu trwania, domyślny czas trwania wynosi 500 milisekund.

volume

int32_t

Opcjonalnie. Głośność, z jaką będzie odtwarzany dźwięk, wyrażona jako liczba całkowita od 0% do 100%. Domyślnie jest to 50%.

Return Values

Ta funkcja nie zwraca wartości.

programStop#

Zatrzymuje aktualnie uruchomiony projekt w EXP Brain.

Available Functions
void programStop();

Parameters

Ta funkcja nie przyjmuje żadnych parametrów.

Return Values

Ta funkcja nie zwraca wartości.

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

regulator czasowy#

Zwraca aktualną wartość wewnętrznego timera mózgu w określonych jednostkach.

Available Functions
double timer(
  timeUnits units );

Parameters

Parametr

Typ

Opis

units

timeUnits

Jednostka czasu powrotu:

  • seconds / sec - sekundy
  • msec - milisekundy

Return Values

Zwraca wartość double , co oznacza czas, jaki upłynął od uruchomienia programu, w określonych jednostkach.

Examples
  • Timer uruchamia się automatycznie po rozpoczęciu projektu.

  • Można zresetować licznik za pomocą polecenia resetTimer .

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

Brain.programStop();

resetTimer#

Resetuje wewnętrzny licznik czasu mózgu do zera. Następnie licznik natychmiast zaczyna odliczać czas od zera.

Available Functions
void resetTimer();

Parameters

Ta funkcja nie przyjmuje żadnych parametrów.

Return Values

Ta funkcja nie zwraca wartości.

Notes
  • Po zresetowaniu licznik zaczyna odliczać ponownie.

  • Wywołanie resetTimer ma wpływ na wartość zwracaną przez kolejne wywołania 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");

ustawTimer#

Ustawia wewnętrzny timer mózgu na określoną wartość i jednostkę czasu.

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

Parameters

Parametr

Typ

Opis

value

double

The time to set the timer to, based on the timeUnits provided in the units parameter.

units

timeUnits

Jednostka używana do interpretacji parametru wartości value :

  • seconds / sec - sekundy
  • msec - milisekundy

Return Values

Ta funkcja nie zwraca wartości.

Notes
  • Po ustawieniu timer kontynuuje odliczanie.

  • Wywołanie setTimer natychmiast zmienia wartość zwróconą przez 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");