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 Functionsvoid playSound(
soundtype sound,
uint32_t volume = 50 );
Parametry |
Typ |
Opis |
|---|---|---|
|
|
Określony dźwięk do odtworzenia z Mózgu. |
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ta funkcja nie zwraca wartości.
playNote#
Odtwarza nutę muzyczną z Mózgu.
Available Functions1 - Zagraj nutę muzyczną.
void playNote( int32_t octave, int32_t note );
Parameters2 - 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 );
Parametry |
Typ |
Opis |
|---|---|---|
|
|
Liczba całkowita reprezentująca oktawę, w której grana jest nuta:
|
|
|
Nuta do zagrania:
|
|
|
Opcjonalnie. Czas trwania nuty w milisekundach, maksymalnie 500 milisekund. Jeśli nie podano czasu trwania, domyślny czas trwania wynosi 500 milisekund. |
|
|
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%. |
Ta funkcja nie zwraca wartości.
programStop#
Zatrzymuje aktualnie uruchomiony projekt w EXP Brain.
Available Functionsvoid programStop();
Ta funkcja nie przyjmuje żadnych parametrów.
Return ValuesTa 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 Functionsdouble timer(
timeUnits units );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Jednostka czasu powrotu:
|
Zwraca wartość double , co oznacza czas, jaki upłynął od uruchomienia programu, w określonych jednostkach.
Timer uruchamia się automatycznie po rozpoczęciu projektu.
Można zresetować licznik za pomocą polecenia
resetTimer.
// 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 Functionsvoid resetTimer();
Ta funkcja nie przyjmuje żadnych parametrów.
Return ValuesTa funkcja nie zwraca wartości.
NotesPo zresetowaniu licznik zaczyna odliczać ponownie.
Wywołanie
resetTimerma wpływ na wartość zwracaną przez kolejne wywołaniatimer.
// 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 Functionsvoid setTimer(
double value,
timeUnits units );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
The time to set the timer to, based on the |
|
|
Jednostka używana do interpretacji parametru wartości
|
Ta funkcja nie zwraca wartości.
NotesPo ustawieniu timer kontynuuje odliczanie.
Wywołanie
setTimernatychmiast zmienia wartość zwróconą przeztimer.
// 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");