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
brainobjektas.
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 Functionsvoid playSound(
soundtype sound,
uint32_t volume = 50 );
Parametrai |
Tipas |
Aprašymas |
|---|---|---|
|
|
Nurodytas garsas, kuris bus grojamas iš smegenų. |
|
|
Pasirinktinai. Garsumas, kuriuo bus grojamas garsas, pateikiamas sveikuoju skaičiumi nuo 0 % iki 100 %. Numatytoji reikšmė yra 50 %. |
Garso pavadinimas |
Leisti garsą |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ši funkcija negrąžina reikšmės.
playNote#
Groja muzikinę natą iš smegenų.
Available Functions1 - Sugrok muzikos natą.
void playNote( int32_t octave, int32_t note );
Parameters2 - Groja natą nustatytą trukmę ir garsumą.
void playNote( int32_t octave, int32_t note, int32_t duration, int32_t volume = 50 );
Parametrai |
Tipas |
Aprašymas |
|---|---|---|
|
|
Sveikasis skaičius, žymintis oktavą, kurioje grojama nata:
|
|
|
Grojama nata:
|
|
|
Pasirinktinai. Natos grojimo trukmė milisekundėmis, iki 500 milisekundžių. Jei trukmė nenurodyta, numatytoji trukmė yra 500 milisekundžių. |
|
|
Pasirinktinai. Garsumas, kuriuo bus grojamas garsas, pateikiamas sveikuoju skaičiumi nuo 0 % iki 100 %. Numatytoji reikšmė yra 50 %. |
Ši funkcija negrąžina reikšmės.
programos sustabdymas#
Sustabdo šiuo metu vykdomą projektą EXP Brain.
Available Functionsvoid programStop();
Š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 Functionsdouble timer(
timeUnits units );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Grąžintinas laiko vienetas:
|
Grąžina double nurodantį praėjusį laiką nuo programos pradžios, nurodytais vienetais.
Laikmatis įsijungia automatiškai, kai prasideda projektas.
Laikmatį galima nustatyti iš naujo naudojant
resetTimer.
// 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 Functionsvoid resetTimer();
Ši funkcija nepriima jokių parametrų.
Return ValuesŠi funkcija negrąžina reikšmės.
NotesLaikmatis pradeda skaičiuoti iš naujo iš karto po nustatymo iš naujo.
resetTimeriškvietimas turi įtakos reikšmei, grąžinamai vėlesniųtimeriškvietimų metu.
// 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 Functionsvoid setTimer(
double value,
timeUnits units );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Laikas, kada nustatyti laikmatį, remiantis |
|
|
Vienetas, naudojamas
|
Ši funkcija negrąžina reikšmės.
NotesLaikmatis toliau skaičiuoja laiką į priekį po nustatymo.
Iškvietus
setTimer, iš karto pakeičiamatimergrąžinta reikšmė.
// 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");