Brein#

Invoering#

In VEX EXP C++ wordt de Brain weergegeven door de klasse brain Je maakt een Brain-object aan (of gebruikt het standaardobject dat door het project wordt geleverd) en hebt vervolgens toegang tot de Brain-functies via de bijbehorende lidobjecten.

Afgeleide klassen#

De klasse brain dient als basisklasse voor de volgende afgeleide klassen:

  • Screen - Deze klasse biedt toegang tot het ingebouwde kleurentouchscreen van de Brain, waardoor programma’s tekst en afbeeldingen kunnen weergeven en aanraakinvoer kunnen ontvangen.

  • Timer - Deze klasse biedt timinghulpmiddelen met hoge resolutie voor het meten van de verstreken tijd en het aansturen van tijdsgebonden gedrag in programma’s.

  • Battery - Deze klasse stelt programma’s in staat de batterijstatus van de Brain te bewaken, inclusief spanning, stroomsterkte, capaciteit en temperatuur.

  • Button - Deze klasse stelt programma’s in staat om met de knoppen van de Brain te communiceren.

  • ThreeWirePort (triport / 3-draads poort) - Deze klasse biedt toegang tot de 3-draads poorten van de Brain voor het aansluiten en aansturen van oudere sensoren en apparaten zoals eindschakelaars, potentiometers en LED’s.

  • SDcard - Deze klasse maakt het mogelijk om van en naar de SD-kaart van de Brain te lezen voor bestandsopslag, gegevensregistratie en het laden van externe bronnen.

Klasseconstructors#

brain();

Parameters#

De brain constructor gebruikt geen parameters.

Notities#

  • Er mag slechts één object van het type brain per project worden aangemaakt.

Voorbeeld#

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

Lidfuncties#

De klasse brain omvat de volgende lidfuncties:

  • playSound - Speelt een van de ingebouwde geluidseffecten van de hersenen af.

  • playNote - Speelt een muzieknoot gedurende een bepaalde tijd.

  • programStop - Stopt het momenteel actieve project op de EXP Brain.

  • timer - Geeft de huidige waarde van de interne timer van de Brain terug in de opgegeven eenheden.

  • resetTimer - Zet de interne timer van de hersenen terug naar nul en start de timing opnieuw.

  • setTimer - Stelt de interne timer van de hersenen in op een opgegeven waarde en tijdseenheid.

Voordat er lidfuncties van brain kunnen worden aangeroepen, moet er een instantie van brain worden aangemaakt, zoals hieronder weergegeven:

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

playSound#

Speelt een van de ingebouwde geluiden van de Brain af.

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

Parameters

Parameters

Type

Beschrijving

sound

soundtype

Het opgegeven geluid dat door de hersenen moet worden afgespeeld.

volume

uint32_t

Optioneel. Het volume waarmee het geluid wordt afgespeeld, als een geheel getal van 0% tot 100%. De standaardwaarde is 50%.

Geluidsnaam

Geluid afspelen

alarm

alarm2

doorClose

fillup

headlightsOff

headlightsOn

powerDown

ratchet

ratchet2

siren

siren2

tada

tollBooth

wrench

wrongWay

wrongWaySlow

Return Values

Deze functie retourneert geen waarde.

playNote#

Speelt een muzieknoot vanuit de hersenen.

Available Functions

1 - Speel een muzieknoot.

void playNote(
    int32_t octave,
    int32_t note );

2 - Speelt een noot gedurende een bepaalde tijd en met een bepaald volume.

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

Parameters

Parameters

Type

Beschrijving

octave

int32_t

Het getal dat het octaaf aangeeft waarin de noot wordt gespeeld:

  • 1 tot 3 - laag octaaf
  • 4 tot 7 - hoog octaaf

note

int32_t

De te spelen noot:

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

duration

int32_t

Optioneel. De duur in milliseconden dat de noot moet worden afgespeeld, tot een maximum van 500 milliseconden. Indien geen duur wordt opgegeven, is de standaardduur 500 milliseconden.

volume

int32_t

Optioneel. Het volume waarmee het geluid wordt afgespeeld, als een geheel getal van 0% tot 100%. De standaardwaarde is 50%.

Return Values

Deze functie retourneert geen waarde.

programmaStop#

Stopt het momenteel actieve project op de EXP Brain.

Available Functions
void programStop();

Parameters

Deze functie accepteert geen parameters.

Return Values

Deze functie retourneert geen waarde.

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

timer#

Geeft de huidige waarde van de interne timer van de Brain weer in de opgegeven eenheden.

Available Functions
double timer(
  timeUnits units );

Parameters

Parameter

Type

Beschrijving

units

timeUnits

The unit of time to return:

  • seconds / sec - seconds
  • msec - milliseconds

Return Values

Retourneert een double die de verstreken tijd sinds de start van het programma weergeeft, in de opgegeven eenheden.

Examples
  • De timer start automatisch wanneer het project begint.

  • De timer kan worden gereset met behulp van resetTimer.

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

Brain.programStop();

timer resetten#

Hiermee wordt de interne timer van de hersenen op nul gezet. Daarna begint de timer onmiddellijk weer vanaf nul te tellen.

Available Functions
void resetTimer();

Parameters

Deze functie accepteert geen parameters.

Return Values

Deze functie retourneert geen waarde.

Notes
  • De timer begint direct na het resetten weer te tellen.

  • Het aanroepen van resetTimer beïnvloedt de waarde die wordt geretourneerd door latere aanroepen van 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");

setTimer#

Stelt de interne timer van de hersenen in op een opgegeven waarde en tijdseenheid.

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

Parameters

Parameter

Type

Beschrijving

value

double

De tijd waarop de timer moet worden ingesteld, gebaseerd op de timeUnits die is opgegeven in de parameter units.

units

timeUnits

The unit used to interpret the value parameter:

  • seconds / sec - seconds
  • msec - milliseconds

Return Values

Deze functie retourneert geen waarde.

Notes
  • De timer blijft doortellen nadat hij is ingesteld.

  • Het aanroepen van setTimer verandert onmiddellijk de waarde die wordt geretourneerd door 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");