Hjärna#

Introduktion#

I VEX EXP C++ representeras hjärnan av klassen brain Du skapar (eller använder det standardinställda projektet) hjärnobjektet och får sedan åtkomst till hjärnfunktioner via dess medlemsobjekt.

Härledda klasser#

Klassen brain fungerar som basklass för följande härledda klasser:

  • Screen - Den här klassen ger tillgång till hjärnans inbyggda färgpekskärm, vilket gör att program kan visa text, grafik och ta emot pekinmatning.

  • Timer - Den här klassen tillhandahåller högupplösta tidsverktyg för att mäta förfluten tid och kontrollera tidsbaserat beteende i program.

  • Battery - Den här klassen låter program övervaka hjärnans batteristatus, inklusive spänning, ström, kapacitet och temperatur.

  • Button - Den här klassen låter program interagera med hjärnans knappar.

  • ThreeWirePort (triport / 3-trådsportar) – Denna klass ger åtkomst till Brains 3-trådsportar för att ansluta och styra äldre sensorer och enheter som gränsbrytare, potentiometrar och lysdioder.

  • SDcard - Den här klassen möjliggör läsning från och skrivning till Brains SD-kort för fillagring, dataloggning och laddning av externa resurser.

Klasskonstruktörer#

brain();

Parametrar#

Konstruktorn brain använder inga parametrar.

Anteckningar#

  • Endast ett brain objekt bör skapas i ett projekt.

Exempel#

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

Medlemsfunktioner#

Klassen brain inkluderar följande medlemsfunktioner:

  • playSound - Spelar upp en av hjärnans inbyggda ljudeffekter.

  • playNote - Spelar en musiknot under en viss tid.

  • programStop - Stoppar det pågående projektet på EXP Brain.

  • timer - Returnerar det aktuella värdet för hjärnans interna timer i de angivna enheterna.

  • resetTimer – Återställer hjärnans interna timer till noll och startar om tidtagningen.

  • setTimer – Ställer in hjärnans interna timer till ett specificerat värde och en tidsenhet.

Innan några brain medlemsfunktioner anropas måste en brain instans skapas, som visas nedan:

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

spelaLjud#

Spelar upp ett av hjärnans inbyggda ljud.

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

Parameters

Parametrar

Typ

Beskrivning

sound

soundtype

Det angivna ljudet som ska spelas upp från hjärnan.

volume

uint32_t

Valfritt. Volymen som ljudet spelas upp med är ett heltal från 0 % till 100 %. Standardvärdet är 50 %.

Ljudnamn

Spela upp ljud

alarm

alarm2

doorClose

fillup

headlightsOff

headlightsOn

powerDown

ratchet

ratchet2

siren

siren2

tada

tollBooth

wrench

wrongWay

wrongWaySlow

Return Values

Den här funktionen returnerar inget värde.

spelaNote#

Spelar en musikalisk ton från hjärnan.

Available Functions

1 - Spela en musiknot.

void playNote(
    int32_t octave,
    int32_t note );

2 - Spelar en ton under en angiven varaktighet och volym.

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

Parameters

Parametrar

Typ

Beskrivning

octave

int32_t

Heltalet som representerar oktaven tonen spelas i:

  • 1 till 3 - låg oktav
  • 4 till 7 - hög oktav

note

int32_t

Noten att spela:

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

duration

int32_t

Valfritt. Längden i millisekunder som noten ska spelas, upp till maximalt 500 millisekunder. Om ingen längd anges är standardlängden 500 millisekunder.

volume

int32_t

Valfritt. Volymen som ljudet spelas upp med är ett heltal från 0 % till 100 %. Standardvärdet är 50 %.

Return Values

Den här funktionen returnerar inget värde.

programStopp#

Stoppar det pågående projektet på EXP Brain.

Available Functions
void programStop();

Parameters

Den här funktionen accepterar inga parametrar.

Return Values

Den här funktionen returnerar inget värde.

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

timer#

Returnerar det aktuella värdet för hjärnans interna timer i de angivna enheterna.

Available Functions
double timer(
  timeUnits units );

Parameters

Parameter

Typ

Beskrivning

units

timeUnits

Tidsenhet för att returnera:

  • seconds / sec - sekunder
  • msec - millisekunder

Return Values

Returnerar double som representerar den förflutna tiden sedan programmet startade, i de angivna enheterna.

Examples
  • Timern startar automatiskt när projektet påbörjas.

  • Timern kan återställas med hjälp av resetTimer.

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

Brain.programStop();

återställTimer#

Återställer hjärnans interna timer till noll. Därefter börjar timern omedelbart räkna uppåt igen från noll.

Available Functions
void resetTimer();

Parameters

Den här funktionen accepterar inga parametrar.

Return Values

Den här funktionen returnerar inget värde.

Notes
  • Timern börjar räkna igen omedelbart efter att den har återställts.

  • Anrop av resetTimer påverkar värdet som returneras av efterföljande anrop till 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");

ställ in timern#

Ställer in hjärnans interna timer till ett specificerat värde och en tidsenhet.

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

Parameters

Parameter

Typ

Beskrivning

value

double

Tiden att ställa in timern på, baserat på timeUnits som anges i parametern units.

units

timeUnits

Enheten som används för att tolka parametern value :

  • seconds / sec - sekunder
  • msec - millisekunder

Return Values

Den här funktionen returnerar inget värde.

Notes
  • Timern fortsätter att räkna framåt efter att den har ställts in.

  • Om man anropar setTimer ändras omedelbart värdet som returneras av 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");