Smegenys#

Įvadas#

„VEX EXP C++“ kalboje „Brain“ (smegenis) atstovauja klasė brain . Sukuriate (arba naudojate numatytąjį projekto pateiktą) „Brain“ objektą, o tada per jo narius pasiekiate „Brain“ funkcijas.

Išvestinės klasės#

brain klasė tarnauja kaip bazinė klasė šioms išvestinėms klasėms:

  • Screen – Ši klasė suteikia prieigą prie smegenų integruoto spalvoto jutiklinio ekrano, leidžiančio programoms rodyti tekstą, grafiką ir priimti jutiklinę įvestį.

  • Timer – Ši klasė teikia didelės skiriamosios gebos laiko skaičiavimo priemones, skirtas matuoti praėjusį laiką ir valdyti programų veikimą pagal laiką.

  • Battery – ši klasė leidžia programoms stebėti smegenų baterijos būseną, įskaitant įtampą, srovę, talpą ir temperatūrą.

  • Button – ši klasė leidžia programoms sąveikauti su smegenų mygtukais.

  • ThreeWirePort (triport / 3 laidų prievadas) – ši klasė suteikia prieigą prie „Brain“ 3 laidų prievadų, skirtų prijungti ir valdyti senesnius jutiklius ir įrenginius, tokius kaip ribiniai jungikliai, potenciometrai ir šviesos diodai.

  • SDcard – ši klasė leidžia skaityti ir rašyti į „Brain“ SD kortelę, skirtą failams saugoti, duomenims registruoti ir išoriniams ištekliams įkelti.

Klasės konstruktoriai#

brain();

Parametrai#

Konstruktorius brain nenaudoja parametrų.

Pastabos#

  • Projekte turėtų būti sukurtas tik vienas brain objektas.

Pavyzdys#

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

Narių funkcijos#

brain klasė apima šias narines funkcijas:

  • playSound – Paleidžia vieną iš smegenų integruotų garso efektų.

  • playNote – Groja muzikos natą tam tikrą laiką.

  • programStop – Sustabdo šiuo metu vykdomą projektą EXP Brain.

  • timer – Grąžina dabartinę smegenų vidinio laikmačio reikšmę nurodytais vienetais.

  • resetTimer – Atstato smegenų vidinį laikmatį į nulį ir iš naujo paleidžia laiką.

  • setTimer – Nustato smegenų vidinį laikmatį į nurodytą reikšmę ir laiko vienetą.

Prieš iškviečiant bet kokias brain narių funkcijas, reikia sukurti brain egzempliorių, kaip parodyta žemiau:

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

playSound#

Groja vieną iš smegenų integruotų garsų.

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

Parameters

Parametrai

Tipas

Aprašymas

sound

soundtype

Nurodytas garsas, kuris bus grojamas iš smegenų.

volume

uint32_t

Pasirinktinai. Garsumas, kuriuo bus grojamas garsas, pateikiamas sveikuoju skaičiumi nuo 0 % iki 100 %. Numatytoji reikšmė yra 50 %.

Garso pavadinimas

Leisti garsą

alarm

alarm2

doorClose

fillup

headlightsOff

headlightsOn

powerDown

ratchet

ratchet2

siren

siren2

tada

tollBooth

wrench

wrongWay

wrongWaySlow

Return Values

Ši funkcija negrąžina reikšmės.

playNote#

Groja muzikinę natą iš smegenų.

Available Functions

1 - Sugrok muzikos natą.

void playNote(
    int32_t octave,
    int32_t note );

2 - Groja natą nustatytą trukmę ir garsumą.

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

Parameters

Parametrai

Tipas

Aprašymas

octave

int32_t

Sveikasis skaičius, žymintis oktavą, kurioje grojama nata:

  • 1 3–4 3 – žema oktava
  • 4 7 – aukšta oktava

note

int32_t

Grojama nata:

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

duration

int32_t

Pasirinktinai. Natos grojimo trukmė milisekundėmis, iki 500 milisekundžių. Jei trukmė nenurodyta, numatytoji trukmė yra 500 milisekundžių.

volume

int32_t

Pasirinktinai. Garsumas, kuriuo bus grojamas garsas, pateikiamas sveikuoju skaičiumi nuo 0 % iki 100 %. Numatytoji reikšmė yra 50 %.

Return Values

Ši funkcija negrąžina reikšmės.

programos sustabdymas#

Sustabdo šiuo metu vykdomą projektą EXP Brain.

Available Functions
void programStop();

Parameters

Ši funkcija nepriima jokių parametrų.

Return Values

Ši funkcija negrąžina reikšmės.

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

laikmatis#

Grąžina dabartinę smegenų vidinio laikmačio reikšmę nurodytais vienetais.

Available Functions
double timer(
  timeUnits units );

Parameters

Parametras

Tipas

Aprašymas

units

timeUnits

Grąžintinas laiko vienetas:

  • seconds / sec sekundės
  • msec milisekundės

Return Values

Grąžina double nurodantį praėjusį laiką nuo programos pradžios, nurodytais vienetais.

Examples
  • Laikmatis įsijungia automatiškai, kai prasideda projektas.

  • Laikmatį galima nustatyti iš naujo naudojant resetTimer.

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

Brain.programStop();

resetTimer#

Atstato smegenų vidinį laikmatį į nulį. Po to laikmatis iš karto pradeda skaičiuoti nuo nulio.

Available Functions
void resetTimer();

Parameters

Ši funkcija nepriima jokių parametrų.

Return Values

Ši funkcija negrąžina reikšmės.

Notes
  • Laikmatis pradeda skaičiuoti iš naujo iš karto po nustatymo iš naujo.

  • resetTimer iškvietimas turi įtakos reikšmei, grąžinamai vėlesnių timer iškvietimų metu.

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#

Nustato smegenų vidinį laikmatį į nurodytą reikšmę ir laiko vienetą.

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

Parameters

Parametras

Tipas

Aprašymas

value

double

Laikas, kada nustatyti laikmatį, remiantis timeUnits pateiktu parametre units.

units

timeUnits

Vienetas, naudojamas value parametrui interpretuoti:

  • seconds / sec sekundės
  • msec milisekundės

Return Values

Ši funkcija negrąžina reikšmės.

Notes
  • Laikmatis toliau skaičiuoja laiką į priekį po nustatymo.

  • Iškvietus setTimer , iš karto pakeičiama timer grąžinta reikšmė.

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");